What
Claude can run a shell command in the background, meaning the command keeps going while the conversation continues. It does this by passing run_in_background to the Bash tool, the tool Claude uses to run terminal commands. Before this release, a background command had no deadline and could only be stopped when the machine ran low on memory. It now has a time limit:
timeoutwithrun_in_backgroundsets how long the command may run in the background. The default is 1800000 ms (30 minutes) and the maximum is 7200000 ms (2 hours).- When the limit is reached, the command is stopped. Its stop reason reads "stopped after reaching its background time limit". Claude is told to restart it with
run_in_backgroundand a longer timeout. - The Bash and PowerShell tool descriptions now say that
timeouton its own applies to a foreground command, one that Claude waits on. The Bash instructions now include the background default and maximum. Tool results also gain abackgroundedByTurnAbortfield. - The session state gains
backgroundTasksDisabled,backgroundDeadlineDisabledandunsandboxedCommandsDisabled, with matching methods to turn each one off. These let background tasks, the background deadline, or unsandboxed commands be disabled for a session. Unsandboxed commands are commands run outside the protective sandbox.
Why
Long-running jobs started in the background, such as dev servers, watchers or long builds, will now be stopped after 30 minutes unless a longer timeout is given. If you rely on a background job running for longer, expect Claude to ask for or set a longer timeout. Nothing can run past 2 hours in one go.
tengu_sepia_moth Off in both readingsThe flag server returned off for the account this site reads and for the anonymous baseline. A reading of off cannot rule out a rollout these two readings sit outside of.
This account: off · anonymous baseline: off · compiled default in v2.1.285: off
These values were read against a different version of Claude Code, so treat them as the nearest reading available instead of one taken on this release.
Read once, for one account on one subscription tier, against v2.1.285. It isn't a statement about your account. What a flag value here can and cannot tell you
The entry above is what we published on the day. These lines were added later, as Anthropic's own pages caught up, and they sit beside the original rather than replacing it.
| `status` | string | `"completed"` | `"completed"` for foreground subagents, `"async_launched"` for background subagents. Subagents run in the background by default, so an Agent call that omits `run_in_background` also produces `"async_la…hooks see the edit
For what sets the foreground ceiling, see [Timeout and output limits](/docs/en/tools-reference#timeout-and-output-limits). For the background time limit, see [Time limit for background commands](/docs/en/tools-reference#time-limit-for-back…agent-sdk/python see the edit
* Changed `--bare` to connect only the MCP servers named on the command line, send the model no system reminders, and start no background tasks; under `--bare`, a shell command that reaches its timeout now stops instead of moving to the ba…changelog see the edit
It is not clear whether the time limit is active for every user or depends on a check that could not be traced.
Anthropic's documentation has since written up timeout, on Claude Code changelog.
Changed background Bash and PowerShell commands to stop after a time limit (their timeout with run_in_background, default 30 min, max 2 h)…