Backgrounded commands now record whether they moved aside to deliver a queued message.
What's wrong with this entry?
Internal shell state now distinguishes a command pushed to the background so a message queued for the model could reach it from one backgrounded for other reasons, such as a plugin aborting the turn. The PowerShell command result carries this marker alongside the existing background fields. None of it surfaces in the interface while using Claude Code.
- a
backgroundedToDeliverMessagefield is set on the result of a backgrounded PowerShell command and passed through with the other background fields - the field is documented as true only when the command was moved to the background so a message queued for the model could reach it
- commands backgrounded for any other cause leave the field unset, so the reason for backgrounding is no longer ambiguous internally
- no flag, setting or environment variable exposes this, and there is no user-visible output change in this build
backgroundedToDeliverMessage: b.backgroundedToDeliverMessage, True if the command was moved to the background so a message queued for the model could reach it
Strings lifted out of the shipped bundle, so the claim above can be checked against them.
Related
Other releases about the same thing. Found by shared names or similar wording; neither means one caused the other.
-
v2.1.223
Bash
[[ ]]conditionals: two new bail-outs for shell-lexer divergenceBoth mention bash
-
v2.1.246
Shell function snapshots no longer round-trip through base64
Both mention bash
-
v2.1.246
Shell snapshot records shell options before functions
Both mention bash