[BUG] Background process completion causes "queued message" UI state corruption and disables Esc interrupt

Resolved 💬 5 comments Opened Jan 9, 2026 by perpetuatech Closed Jan 9, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

Observed behavior:
When one or more background processes complete while Claude is working on another task:

  1. Input field hint is wrong - Shows "Press up to edit your queued message" even though the user has no queued message. Pressing up correctly shows the last sent message (not a queued one).
  2. Escape key doesn't work - Cannot interrupt the current process with Esc. The only workaround is to quit the session and resume with claude -c.

Root cause hypothesis:
The new background process completion mechanism sends an internal message to Claude when a background task finishes. This internal message appears to be incorrectly treated as a "queued user message" by the UI, causing both the misleading hint and the interrupt issue.

What Should Happen?

When background processes complete while Claude is working on another task:

  1. The input field hint should remain in its normal state (e.g., "Message Claude..." or similar) - internal background process completion notifications should not affect the user-facing input prompt
  2. The Esc key should continue to work normally to interrupt the current operation
  3. Background process completion messages should be handled internally without being treated as queued user input

Error Messages/Logs

Steps to Reproduce

  1. Start a Claude Code session
  2. Give Claude a task that involves running one or more background processes (e.g., run_in_background: true on a Bash command or Task agent)
  3. While the background process is running, give Claude another task to work on
  4. Wait for the background process to complete - you'll see a notification that the process has finished
  5. While Claude is still working on the current task, observe:
  • The input field shows "Press up to edit your queued message" hint
  • Pressing Esc does not interrupt the current operation
  1. Only workaround is to quit the session and resume with claude -c

Claude Model

Opus

Is this a regression?

I don't know

Last Working Version

_No response_

Claude Code Version

2.1.2

Platform

Anthropic API

Operating System

Ubuntu/Debian Linux

Terminal/Shell

PowerShell

Additional Information

_No response_

View original on GitHub ↗

This issue has 5 comments on GitHub. Read the full discussion on GitHub ↗