Skip to content

After a restart interrupts an open question, the thread keeps a pending-input count that nothing can clear, and the mobile app keeps failing to answer it #14190

Closed as not planned

Description

@jamesvillarrubia

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)

  1. Both threads were running in one project. T3 moved both sessions to starting at 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.
  2. 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.
  3. 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 to stopped, and the older requests never got a user-input.resolved activity. The thread row kept a pending-input count of 1.
  4. 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 a provider.user-input.respond.failed activity.

Why nothing clears it

  • thread.user-input.dismiss rejects 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 the startup: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

  1. juliusmarminge commented on Sep 29, 2026

    @juliusmarminge
    Member

    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 on reconcileOrphanedNativeUserInputs not firing and archive blocked belongs on that canonical.

  2. juliusmarminge commented on Sep 29, 2026

    @juliusmarminge
    Member

    Closing as duplicate of #5454.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    duplicateThis issue or pull request already exists

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions