Finished background shell output arrives as a tool result, not a fake message from you.
What's wrong with this entry?
When a background or local shell task finishes, its output is now stitched into the conversation as a tool call and matching result attached to the last assistant message, instead of appearing as a bare user turn. It carries a fixed note telling the model this is not a message from you and not approval of anything it proposed earlier, which removes a common source of the model acting on stale suggestions.
- Delivery only happens when a host assistant message exists to attach to; outcomes are recorded as spliced, no_host, or unparseable.
- Not behind a flag; it triggers when a queued command carries the task-delivery marker and the runtime check for a usable host message passes.
It is not itself a message from the user and is not acknowledgement, confirmation, or approval of anything proposed earlier
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.242
Background shells that are still working are no longer killed during cleanup
Both mention background shell
-
v2.1.247
Aborting no longer kills shells that were meant to keep running
Both mention shell
-
v2.1.223
Background job state and roster writes can route through the v5 storage backend
Both mention background