- Author(s): @anna239
Elevator pitch
What are you proposing to change?Add a
logout method that allows clients to terminate an authenticated session with an agent. This is the counterpart to the existing authenticate method and enables proper session cleanup and credential invalidation.
Status quo
How do things work today and what problems does this cause? Why would we change things?Currently, ACP provides an
authenticate method for establishing authenticated sessions, but there is no standardized way to:
- Log out of an authenticated session
- Invalidate credentials or tokens
- Signal to the agent that the user wants to end their authenticated state
- Manually clearing credentials outside of ACP
- Agent-specific workarounds
Shiny future
How will things play out once this feature exists?Clients will be able to offer a proper “Log out” button that:
- Cleanly terminates the authenticated session
- Allows the agent to invalidate tokens/credentials as needed
- Returns the connection to an unauthenticated state
- Enables the user to re-authenticate with different credentials
Implementation details and plan
Tell me more about your implementation. What is your detailed implementation plan?
New Method: logout
A new method that terminates the current authenticated session.
LogoutRequest
LogoutResponse
Capability Advertisement
Thelogout capability should be advertised within a new authCapabilities object in AgentCapabilities:
JSON Schema Additions
Example Exchange
Request:Behavior
-
Pre-condition: The client should only call
logoutif:- The agent advertises
authCapabilities.logout: true
- The agent advertises
-
Agent responsibilities:
- Invalidate any stored tokens or credentials as appropriate
- Clean up any session state associated with the authenticated user
- Return the connection to an unauthenticated state
-
Post-condition: After a successful
logout:- Subsequent requests that require authentication should return
auth_requirederror - The client can call
authenticateagain to establish a new authenticated session
- Subsequent requests that require authentication should return
-
Active sessions: If there are active sessions when
logoutis called, the agent should either:- Terminate them gracefully
- Throw an
auth_requirederror
Frequently asked questions
What questions have arisen over the course of authoring this document?
Should logout affect active sessions?
This is left as implementation-defined. Some agents may want to:- Automatically terminate all sessions (strict security)
- Keep sessions running
Revision history
- 2026-02-02: Initial draft