Clients cannot manage session visibility after close: archive/hide for finished sessions #2727
mwielgosz-esky
started this conversation in
Protocol Suggestions
Replies: 1 comment
|
We just merged the session/archive rfd: https://agentclientprotocol.com/rfds/session-archive |
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Clients cannot manage session visibility after close: archive/hide for finished sessions
Problem
ACP clients can create, list, resume, fork and close sessions, but once a session is closed it stays on the
session/listoutput forever. There is no protocol operation that lets a client hide a finished session from the list while keeping its data, so the only cleanup path is leaving the client and using the agent's host-side tooling.Concretely, in the current stable spec (schema-v1.27.0, the latest release) the
session/listrequest takes onlycwdandcursor, andSessionInfocarriessessionId,cwd,additionalDirectories,titleandupdatedAt— no lifecycle state and no visibility flag. A client that accumulates dozens of finished sessions has no way to express "this one should no longer be shown, but must remain retrievable".Expected result
A client should be able to move a closed session out of the default listing without destroying it, and the state should live on the agent side so that every client of the same agent sees a consistent list. Resuming the session would naturally restore it, the same way resuming an archived session works in agents that support archiving today.
The exact shape is an open design question for maintainers — candidates include a dedicated
session/archiverequest, a lifecycle status field onSessionInfoplus a visibility filter onsession/list, or something else entirely; the request here is the capability itself, not a specific API shape.Why this matters
Session archiving is an established concept among agents that ACP clients drive: Claude Code ships an
archive_sessiontool, OpenAI's Codex hascodex archivein CLI and Desktop, OpenCode v2 has session archiving in its TUI. In each of those, archiving means "keep the data, remove it from the active list" — the same need ACP clients have and currently cannot express over the wire.For a client implementing ACP, the gap shows up as unbounded list growth in a GUI: every finished session stays visible unless the user exits the client and runs a host-side CLI command, which defeats the point of a protocol-level session list.
Related protocol state
session/closeis a stable capability in v1 — it ends the session process, but the session remains listable, so it covers ending but not visibility. The closed tracking issue for it is #1065.Question for maintainers
Would a visibility/archive mechanism for sessions fit the protocol's direction? If so, would you prefer it as a new request, as list-side filtering over a status field, or discussed first in an RFD here?
All reactions