At Kilo-Org/kilocode, parallel coding agents make a familiar human problem oddly consequential: the work is split into branches and worktrees, but someone still has to know what belongs in “Review,” what is active, and what can be safely filed away. Kilo Code’s merged Agent Manager patch lets an agent move its own worktree between those sections or ungroup it. The more revealing part is how narrow the move is: the agent must first ask the manager for its live inventory, then use the returned IDs in a dedicated command.
That sounds less dramatic than a new autonomous capability. It is more useful. A Kilo-Org/kilocode worktree manager is holding live coordination state while several agents can be running on separate branches. The public source change makes the manager—not a model’s memory—the authority on which section and session IDs exist right now. The new move action accepts one returned session ID and either a returned section ID or null to ungroup it.
The inventory comes before the filing
Kilo’s tool instructions spell out the sequence: list the overview, read the section and session IDs it returns, then make one targeted move. The contract says not to invent IDs or substitute a section name. It also says the operation moves the whole worktree—including multi-version siblings—not a stray session that happens to be visible in the panel. Local sessions are explicitly outside this section-assignment path.
That is a small protocol with a practical purpose. A model can remember “put the auth fix in Review,” but it cannot safely infer which of several live worktrees now represents that work. Asking the controller to name the target is a way of turning a fuzzy organizational instruction into a checked mutation. The patch’s domain code rejects an unknown session, an unknown section, and attempts to assign a local session that has no worktree.
The state file is not an API
Kilo draws the other half of the line where it matters. Its documentation calls .kilo/agent-manager.json persisted UI and recovery state; the new state-path guard rejects direct edits to that file and points the caller back to list-then-move. A focused test confirms the guard applies to the manager files, not ordinary files that merely share the name.
This is not evidence that Kilo has solved multi-agent coordination, or that moving a section transfers code, permissions, or execution safely.
It is evidence of a more modest discipline: when an agent needs to change live orchestration state, give it a supported, inspectable control operation instead of letting it write around the controller. Teams building their own agent managers should watch next for recovery and concurrent-update tests—the point where a tidy filing rule either becomes a durable system boundary or proves to be only a sidebar convenience.