Skip to content

RFD: session/status — session liveness check#986

Open
chazcb wants to merge 3 commits intoagentclientprotocol:mainfrom
chazcb:rfd/session-status
Open

RFD: session/status — session liveness check#986
chazcb wants to merge 3 commits intoagentclientprotocol:mainfrom
chazcb:rfd/session-status

Conversation

@chazcb
Copy link
Copy Markdown
Contributor

@chazcb chazcb commented Apr 15, 2026

Summary

Proposes adding a session/status method — a side-effect-free, read-only probe that checks whether an agent is currently handling a specific session.

Problem

ACP has no way to ask an agent "are you currently handling this session?" without side effects. Every existing session method mutates state:

  • session/load forces the agent to start handling the session
  • session/prompt sends work to the session
  • session/attach attaches a client and sets up roles
  • session/resume resumes and starts handling the session

If a client or routing layer wants to know "is this session live — will other session methods work?" before committing, there is no option.

Proposal

{ "method": "session/status", "params": { "sessionId": "sess_abc123" } }
→ { "result": { "status": "live" } }      // agent is handling this session
→ { "result": { "status": "not_found" } }  // agent is not handling this session

If "live", the client can trust that session/prompt, session/cancel, and other session methods will work. If "not_found", the client should use session/load to start the session.

Contract: must be side-effect-free, cheap, and safe to call frequently.

Use cases

  • Client reconnect: check if the session is still live before deciding between session/prompt (already live) and session/load (needs to be started)
  • Routing layer probe: in multi-pod deployments, locate which pod is handling a session without forcing a load on the wrong pod
  • UI feedback: show session availability immediately on reconnect
@chazcb chazcb requested a review from a team as a code owner April 15, 2026 13:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

1 participant