Every built-in tool now has a backgrounding field (never, self, or detach) controlling whether it can move to the background mid-run
What
Tool definitions now carry a backgrounding field that controls whether a call to that tool can be moved to the background while it's still running, rather than blocking the conversation until it finishes. The possible values are "never", "self", and "detach".
- Most built-in tools, including
ExitPlanMode,KillShell,WebFetch,WebSearch,PushNotification,RunWorkflow,FetchInboxMessage,ReadMcpResource(Dir), scheduled-prompt tools,Edit,NotebookEdit,Read,Glob,TodoRead/TodoWrite,SendMessage,Bash,Task,mcptools, and self-hosted-runner tools, are explicitly set to"never". - Tools that don't set the field default to
"never"as well. - At least one tool is set to
"self".
A helper resolves the effective value, applying the default when a tool doesn't specify one.
Why
This gives Claude Code a consistent, explicit way to know which tool calls are safe to move to the background and which must always block, which matters for features that let long-running tool calls detach without disrupting tools that shouldn't be interrupted or backgrounded.
The finding doesn't say what "self" backgrounding means in practice or which tool uses it.