Verified before 6a6c84f990 and after eb303fe4b6 through real isolated T3 servers with a synthetic ACP v1 provider. The baseline failed with the reported error; the fix queued and delivered the confirmation, including after four minutes. Cancellation scenarios passed. Fix PR: #22697. Real oh-my-pi and Windows remain unverified.
[Bug]: ACP provider: message sent while agent is still processing fails with "Agent is already processing. Use steer() or followUp()"#22660
Before submitting
- I searched existing issues and did not find a duplicate.
- I included enough detail to reproduce or investigate the problem.
Area
apps/server
Steps to reproduce
- Use an ACP-registry provider (here: oh-my-pi / OMP agent, pi-agent-core based) in a T3 thread.
- Ask the agent to do something that ends its visible turn while work keeps running on the agent side. In this case the agent started a background job that waited up to 4 minutes for a key press and asked: "Press the key once more, waiting up to 4 minutes."
- While that background work is still running, send a normal message in the composer (here: "нажал" / "pressed").
Expected behavior
T3 sees that the agent is still busy and delivers the message as a steer or follow-up, or queues it until the agent is idle. The thread keeps working.
Actual behavior
The message is sent as a plain new prompt, the agent rejects it, and the thread shows:
Provider error Agent is already processing. Use steer() or followUp() to queue messages, or wait for completion.
The user's message is effectively lost, and the turn ends in an error.
This looks like the ACP version of #15221, which was the Pi RPC adapter sending a turn-start prompt without streamingBehavior. The error text here is the pi-agent-core Agent.prompt() one ("Use steer() or followUp()…"), not the AgentSession one, so it comes through the ACP adapter path rather than PiAdapterV2.
Impact
Major degradation or frequent failure
Version or commit
T3 Code desktop (current build as of 2026-10-21)
Environment
Windows 11 (win32 10.0.26200, x64), T3 Code desktop, provider: ACP registry harness running OMP (oh-my-pi), model anthropic/claude-opus-5-5.
Logs or stack traces
| 1 | Provider error |
| 2 | Agent is already processing. Use steer() or followUp() to queue messages, or wait for completion. |
Workaround
Wait until the agent's background work has finished (or stop the run) before sending the next message.