claude-code - 💡(How to fix) Fix User messages sent during agent execution can be silently lost or queued without UI indicator, causing work to proceed past intended halt points

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…

User messages sent while Claude is mid-execution can fail to reach the model, causing the model to continue work past where the user intended to halt it. There's no UI indicator that a message was sent-but-not-delivered, and no mechanism for "soft interrupts" that would let a user say "pause after the next yield to user."

Root Cause

User messages sent while Claude is mid-execution can fail to reach the model, causing the model to continue work past where the user intended to halt it. There's no UI indicator that a message was sent-but-not-delivered, and no mechanism for "soft interrupts" that would let a user say "pause after the next yield to user."

RAW_BUFFERClick to expand / collapse

Summary

User messages sent while Claude is mid-execution can fail to reach the model, causing the model to continue work past where the user intended to halt it. There's no UI indicator that a message was sent-but-not-delivered, and no mechanism for "soft interrupts" that would let a user say "pause after the next yield to user."

Reproduction (real session today)

  1. User sent message: "do one convergence loop on this bug and the fix" — Claude started a multi-step execution (research subagents → /the-fool → /common-ground → fix application → multi-file doc work → CHANGELOG entry).
  2. While Claude was mid-execution (specifically before the convergence loop began), user sent: "after the completed loop - pause as I'm going to bed. Complete the full loop - then pause - don't do anything else."
  3. Claude never received this second message during execution. Claude proceeded through the convergence loop AND four additional Phase E doc tasks past the user's intended halt point.
  4. Only when Claude yielded back to user with a summary asking for commit approval did the queued user message finally surface.

Expected behavior

Either:

  • (a) Delivery-layer fix: Messages sent during execution should surface in the UI as "queued, will deliver at next yield" so the user knows their message is pending. Currently there's no signal — the user assumed Claude had read it and was ignoring them.
  • (b) Soft-interrupt feature: Allow conditional pause messages like /pause-after-next-yield that the agent loop honors at structurally well-defined points (post-AskUserQuestion, post-summary-then-await-approval, post-tool-failure-surfacing).

Impact

  • Wasted compute (extra work done past intended halt point)
  • Wasted user trust (model appeared to ignore user direction)
  • Potential unintended side effects when work involves destructive elements (file writes, git commits, deletions)
  • Real-world workflow impact: long-running agent sessions are common; ability to mid-flight redirect is essential UX

Suggested implementations

  1. Visible queue indicator in transcript: 📨 Queued (delivers at next yield). Resolves "did they get my message?".
  2. Double Ctrl-C as halt-at-next-yield: single Ctrl-C cancels current tool; double Ctrl-C signals "stop after current yield."
  3. Conditional-pause syntax: messages like [pause-after: convergence loop] or a /pause slash command honored at well-defined points.

Notes

This is a UX-design issue more than a correctness bug — the model behaved correctly given what it received. But for long-running agentic sessions where users routinely walk away from the keyboard, the inability to send a queued-but-confirmable interrupt is a real friction point.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

FAQ

Expected behavior

Either:

  • (a) Delivery-layer fix: Messages sent during execution should surface in the UI as "queued, will deliver at next yield" so the user knows their message is pending. Currently there's no signal — the user assumed Claude had read it and was ignoring them.
  • (b) Soft-interrupt feature: Allow conditional pause messages like /pause-after-next-yield that the agent loop honors at structurally well-defined points (post-AskUserQuestion, post-summary-then-await-approval, post-tool-failure-surfacing).

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING

claude-code - 💡(How to fix) Fix User messages sent during agent execution can be silently lost or queued without UI indicator, causing work to proceed past intended halt points