Follow Discord
Sweep 27 Oct 2026 · 19:04Z Build v2.1.312 531 read Stable v2.1.308 Latest v2.1.312 Next v2.1.312 Feeds RSS JSON llms.txt llms-full.txt Unofficial

Claude Code v2.1.312 ·

Remote callers can start background shell tasks with start_shell_task

A new start_shell_task remote request runs a background Bash command in a session through the normal permission checks; cloud-hosted sessions reject it

Group of 5 You'll notice No documentation found New Features
JSON All of v2.1.312
You'll noticeTier: how much it should matter to you
4Useful: my rating, 1 to 5
4Signal: worth watching, 1 to 5
Remote ControlArea: what it touches
New FeaturesKind: in v2.1.312,
What probably matters to youSection of the release

Unclear Which remote clients can send this request, and whether anything switches it on or off, is not known.

What

A program controlling a Claude Code session from elsewhere (a remote caller) can now ask it to run a shell command in the background. The request is called start_shell_task. A background command keeps running while the session carries on with other work.

  • start_shell_task is a new control-request type. It is handled in the same place as turn_handoff and rewind_conversation.
  • The request carries a command, args, cwd (the folder to run in), env (environment variables) and a description. Each is checked and shell-quoted, which means wrapped so the shell reads it literally.
  • The command runs as a Bash tool call with run_in_background set. It goes through the same permission checks as any other Bash command.
  • The answer is started with a task_id, or denied.
  • Requests sent before the worker started are refused with "start_shell_task: the request was sent before this worker started; send it again". Requests that are too old are refused too.
  • A new capability string, start_shell_task_v1, is listed alongside sdk_mcp_manifests and interrupt_requeue_taken_v1. A capability string lets a client tell whether a session supports a feature.
  • Cloud-hosted sessions reject start_shell_task. They already reject poll_event the same way.

Nearby changes add a copy option to an executor schema, and the working-dir parser now reads copy_of. Separately, a list of plugin-hook names that held only command.describe and env.get now also holds agent.offer, attribution.text and prompt.section. Nothing shows that this list is related to start_shell_task.

Why

A remote host can now start long-running shell commands in a session without typing them in. Those commands still need the same permission as a Bash command Claude runs itself. Integrators who target cloud-hosted sessions should expect the request to be refused there.

Read from
Names in the bundlestart_shell_task
How sure we are
Something disagreesSomething we can check disagrees with this entry, or the writer said they could not settle it.
The writer flagged doubtWhich remote clients can send this request, and whether anything switches it on or off, is not known.

See this entry in the whole of v2.1.312 →

Feedback