What
A background command is a shell command left running while Claude carries on. How these are run, and what Claude is told about them, changed:
- The Bash tool's background decision now has two modes,
keptandmoves_at_timeout, in place of one on/off flag. A command inmoves_at_timeoutmode moves to the background when it hits its timeout. - Calling the tool again for a command already started now returns a shorter 'already started' result.
- The note shown when the sandbox (the protected area commands run in) blocks a command is now built from the command, its output and the list of paths it may not read.
- Stopping Claude now also stops running
mcp_tasktasks that were sent to the background to deliver a message. - New prompt text tells Claude not to call the shell tool again for a command still running: the result arrives on its own between tool calls, and if it must wait it should use one foreground command that blocks until the output file shows what it needs.
- In one case, the Bash
run_in_backgroundtext says Claude may not be told when the command ends and that it is likely stopped a few minutes later, so it should wait for the result before replying. - The PowerShell sleep guidance in one case says "if it completes while you are still working" instead of "when it completes", and drops the
run_in_backgroundline about being notified. - The Agent tool prompt has a new paragraph, shown under a condition, saying the session keeps running only while a background agent waits for a model reply or runs a foreground tool call, and telling spawned agents to avoid
run_in_backgroundand use bounded until-loops.
The stock Bash and Agent tool descriptions captured under this release are unchanged, so the new wording appears only under certain conditions.
Why
Long commands no longer have to fail at their timeout, and Claude should spend fewer steps repeatedly checking on running commands. Where Claude may never hear back, it is now told to wait for the result rather than reply too early.