-
-
Notifications
You must be signed in to change notification settings - Fork 129
Description
e2505ae (from #345 ) broke session/load support; the replayed agent messages from the ACP server are put in Messages instead of inserted into the agent-shell buffer.
Specifically all agent message are dropped because of this:
;; Notification is out of context (session/prompt finished).
;; Cannot derive where to display, so show in minibuffer.
(if (not (shell-maker-busy))
(message "%s %s (stale, consider reporting to ACP agent)"
(agent-shell--make-status-kind-label
:status (map-nested-elt acp-notification '(params update status))
:kind (map-nested-elt acp-notification '(params update kind)))
(propertize (or (map-nested-elt acp-notification '(params update title)) "")
'face font-lock-doc-markup-face))
This happens for both claude-agent-acp and for my own ACP server.
Checklist
- I agree to communicate with the author myself (not AI-generated).
- I've read the README's Filing issues section.
- I'm running the latest versions (fill in below).
- agent-shell:
- acp.el:
- ACP package (e.g. claude-code-acp):
- Agent CLI (e.g. claude, gemini):
- For requesting new agent support, I'm including a link to the ACP-capable agent or related ACP package.
- For issues, I'm including ACP traffic (as per README).
Been looking more into this space as agent bugs were resulting in unusable shell prompts (populated with our of turn data). The spec seems to be fairly explicit about keeping notification updates within prompt turns https://agentclientprotocol.com/protocol/prompt-turn
For example:
The Agent MAY send session/update notifications with content or tool call updates after receiving the session/cancel notification, but it MUST ensure that it does so before responding to the session/prompt request.
In claude-agent-acp or in my agent, this happens when agent-shell is connected to a session which is prompted by some other connected client
Wrt claude-agent-acp, out of turn updates look like a bu…