Repository navigation
Description
Two of my Claude threads lost their open questions when T3 restarted their sessions. Afterward I could neither answer the questions nor stop them, my phone kept sending notifications for the threads, and I could not archive or delete them from the desktop app. The desktop app showed "Stale pending user-input request... Restart the turn to continue" when I tried to answer, and I found no way to stop the question.
What happened (two threads, same pattern)
- Both threads were running in one project. T3 moved both sessions to
startingat 03:19:13 UTC and again at 03:37:43 UTC on Sept 28, within a few milliseconds of each other each time. I don't know what triggered either restart. - Each restart interrupted a question call that was open. The agent's own notes say the call "got interrupted before I could confirm it registered", so it asked again. Each thread ended up with three requests for the same question, from Sept 27 evening, 03:19, and 03:37.
- At 13:52 UTC I tried answering one of them from the desktop app. It failed with
Stale pending user-input request ... Provider callback state does not survive app restarts or recovered sessions. Restart the turn to continue.I then interrupted the turn. The interrupt resolved only the newest request. The session went tostopped, and the older requests never got auser-input.resolvedactivity. The thread row kept a pending-input count of 1. - The mobile app (1.3.0) then sent 11 answers for one of the older requests between 23:17 and 23:25 UTC. Seven of them landed within 1.4 seconds. Each failed with
No active provider session is bound to this thread.and appended aprovider.user-input.respond.failedactivity.
Why nothing clears it
thread.user-input.dismissrejects native questions with "This question needs an answer. Answer it or stop the turn." (apps/server/src/orchestration/decider.ts:1772). The session is already stopped, so there is no turn to stop.reconcileOrphanedNativeUserInputs(apps/server/src/serverRuntimeStartup.ts:846) exists to dismiss these on startup. The Nightly bundle contains that code. The database holds zero command receipts with thestartup:user-input-resolved:prefix, so it never dismissed either thread. I have not found out why.
Expected
A question with no live session behind it gets resolved, so the phone stops offering it and stops notifying. A restart that interrupts a question call does not leave duplicate requests behind. Archive and delete from the desktop app work regardless of pending input.
Workaround that worked
t3 auth session issue --ttl 5m, then POST /api/orchestration/dispatch with a thread.archive command. The server returned 200 and both threads stopped notifying.
Not verified
- What restarted the sessions at 03:19 and 03:37 UTC. The trace logs I have do not cover those times.
- Why archive and delete from the desktop app did nothing. The server has no receipt for either command, so the request likely failed before it was sent.
- The full path from the pending question to the phone notification. I saw the failure activities and the repeated mobile answers, not the notification sender.
Environment
Desktop: T3 Code Nightly 0.0.43-nightly.20260927.2365 on macOS. Mobile app: 1.3.0. Provider: claudeAgent. Source checked: 1de563c149.
I searched open and closed issues for "user input stale pending" and "archive thread pending question" and found nothing.
Activity
juliusmarminge commentedon Sep 29, 2026
Duplicate of #5454 — same stuck pending user-input after the provider session dies / restarts (
No active provider session is bound to this thread., dismiss rejected, pending-input count never clears). Extra detail here onreconcileOrphanedNativeUserInputsnot firing and archive blocked belongs on that canonical.juliusmarminge commentedon Sep 29, 2026
Closing as duplicate of #5454.