Additional production reproduction on Linux, stock nightly 0.0.46-nightly.20261005.2702, Claude Agent SDK / Claude Opus 5.5. This reaches the same abort through cross-thread t3_thread_send with mode: auto, rather than the manual Steer button.
Five recorded AskUserQuestion calls aborted when an incoming message was offered with priority: now. The provider log pairs are below, in UTC on October 8:
| Immediate offer | Aborted tool result |
|---|---|
| 15:18:10.812 | 15:18:10.821 |
| 15:32:47.153 | 15:32:47.166 |
| 15:33:19.681 | 15:33:19.693 |
| 15:34:34.115 | 15:34:34.126 |
| 15:35:23.344 | 15:35:23.359 |
Each returned Tool permission request aborted. Two other question calls in the same retained timeline accepted answers normally. The user reported typing answers repeatedly, with the composer clearing and the answer not reaching the agent. I have not independently reproduced the composer-clearing UI behavior.
A later read-only projection check found four of the aborted requests marked resolved at 15:24:39.404, 15:33:44.827, 15:34:11.851 and 15:35:26.757Z, all after their provider tool result had already aborted. The fifth was cancelled when that turn was interrupted. This corroborates the stale-request problem described here. It does not establish a current pending orphan, since those requests were subsequently resolved or cancelled.
The installed-version source sends steering with priority: now. Its AskUserQuestion callback removes its pendingRuntimeRequests entry after the abort race without emitting cancellation at that point. Our named local question guard runs only on Stop and has no path that aborts a pending question.
Minimal reproduction for this additional entry point:
- In Claude thread A, ask a color question with Red and Blue choices and wait for the card.
- From thread B, call
t3_thread_sendto A withmode: autoand a neutral follow-up while the question waits. - Observe the immediate steering and aborted tool result, then answer the original card.
- Check whether the answer reaches Claude, and whether the old request remains displayed or gets resolved after Claude stopped waiting.
We have switched informational cross-thread messages to queue mode while user input is pending. No local T3 patch was installed.
Nightly check on October 8: the newest published Nightly is v0.0.46-nightly.20261008.2819, commit 5e2225671f705fcd33f1ea5591b79ba612fb6974. I inspected both that tag's AskUserQuestion callback and its Linux x86_64 AppImage's packaged server bundle. The callback still races answers against the abort signal, removes the pending runtime entry, and returns denial when aborted. It emits no runtime-request cancellation after that wait. The packaged callback contains the same sequence. This is a check of shipped code, not a live reproduction after upgrading. The stale-request cancellation fix is not present at this callback.
Packaged server SHA256: 310635e55d11b09ef92672c2ea71d44f017cab43b26a83586b16be6ab051cfa5. The stock AppImage SHA256 matches the GitHub asset digest. Our installed app remains the older 2702 Nightly.