You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
[Feature]: expose "waiting on user input" on the session, not just status=running #15900
A turn that is blocked on a question (Claude AskUserQuestion, or an approval) reports session.status = "running" with an activeTurnId. On the session it is indistinguishable from a turn that is doing work. The only signal is the shell's hasPendingUserInput / hasPendingApprovals (and the client's "Awaiting Input" label).
So an API consumer that reads the session alone treats a parked turn as live work. In our case these consumers were a weekly restart check that waits for "no turn in progress", a delivery worker that waits for the thread to go idle, and a stall detector. One day three turns sat parked on questions for 18 to 24 hours, and each consumer read them as busy the whole time.
Ask
Expose the waiting state on the session or the thread detail. Either:
a distinct session status (for example waiting); or
a field next to activeTurnId, e.g. waitingOn: "user-input" | "approval" | null.
With that, automation can tell "working" from "parked" without reading the shell and joining it by thread id.
Related
#15258 is the complementary case. There, an async question makes a thread that is still working show as Awaiting Input. A field that separates "blocked on the answer" from "question open, still working" would serve both.
Activity