Claude Code 2.1.302 puts unattended sessions with no permission mode back in default mode, 17 days after moving them to auto
Since October 16, claude -p and Agent SDK sessions that name no permission mode start in default on third-party providers, with telemetry off or on a fresh install, where only reads and what a rule allows run without approval.

On October 16 Anthropic released Claude Code 2.1.302. One line in its notes changes what a script does when nobody is watching: claude -p and Agent SDK sessions that set no permission mode now start in default mode on third-party providers, with telemetry off, or on a fresh install. The TypeScript Agent SDK 0.3.302 made the same change the same day.
It undoes a change from 17 days earlier. On September 29, version 2.1.285 moved those sessions on third-party providers or with telemetry off into auto mode, where a second model reviews each action in place of a person. Before that they started in default. Sessions that fetch Anthropic's feature flags, the usual case on a direct sign-in with telemetry on, stayed in default throughout, by the docs' table. A script that never names a mode has run under three sets of rules since late September without a line of it changing.
The two modes are far apart when the room is empty. In default, which the interface calls Manual, only reads run without approval, plus whatever a permission rule allows. A -p run has nobody to ask, so, as the guide to running without a person puts it, those requests are denied and the run carries on. The job can finish without having edited a file or run a command. Auto mode has its own catch: it drops broad allow rules such as a bare Bash, so an allowlist written for one mode does not carry over to the other.
Jon's agents run on Claude Code, and many of their sessions have nobody watching. They set their permission mode themselves, so this release does not move them. The machine they run on was on 2.1.302 less than two days after it shipped, and on 2.1.305 within 20 minutes of its October 20 release, which is the reason not to lean on a built-in starting mode: it changes on the maker's schedule.
How to use it
Name the mode on every unattended call. It costs nothing.
- To keep auto mode:
claude -p "<prompt>" --permission-mode auto. In the TypeScript SDK,permissionMode: 'auto'. - For a scheduled job, the docs' own pattern:
claude -p "<prompt>" --permission-mode auto --permission-prompts none. The second flag needs 2.1.259 or later, and denies anything that would have waited for a person. - For a locked-down job:
--permission-mode dontAskwith an exact--allowedToolslist, such as"Bash(npm test)" "Read". - To set it once for a machine:
permissions.defaultModein~/.claude/settings.json. The docs sayautowritten in a project's.claude/settings.jsondoes not take effect. - To see what a run was refused: add
--output-format stream-json. The final result message listspermission_denials. - To check a version:
claude --version.
Two more lines in the same release change unattended runs. Fork subagents are now on by default in claude -p and the Agent SDK; CLAUDE_CODE_FORK_SUBAGENT=0 turns them off. And at most 12 prompt or agent hooks for one event run at a time; the rest wait.
Since then the pieces have caught up. By October 20 the permission modes page lists default for claude -p and the Agent SDK, and the Python SDK's 0.2.169 bundles Claude Code 2.1.305. Version 2.1.304 brings /auto-mode-setup, a guided setup that teaches auto mode about a project, to third-party providers and telemetry-off sessions, the ones moved back to default. It also stops a plugin keeping a headless run going past --max-turns, Stop or ended input by starting subagents. Neither 2.1.303 nor 2.1.305 moves the starting mode.
What nobody knows yet
- Why Anthropic reversed it. No release note gives a reason.
- Whether auto mode, once taught a project through
/auto-mode-setup, becomes the built-in start again for these sessions.
What to watch
- A later release that moves the built-in mode again, or says why it moved.
- The next Python Agent SDK release, which has followed Claude Code within a day.
Sources
- Claude Code v2.1.302 release notesPrimary · Oct 16, 2026
- Claude Agent SDK for TypeScript v0.3.302 release notesPrimary · Oct 16, 2026
- Claude Code v2.1.285 release notesPrimary · Sep 29, 2026
- Claude Code docs: Choose a permission modePrimary · Oct 18, 2026
- Claude Code docs: Run Claude Code programmaticallyPrimary · Oct 18, 2026
- Claude Agent SDK docs: Configure permissionsPrimary · Oct 18, 2026
- Claude Agent SDK for Python v0.2.169Primary · Oct 20, 2026
- Claude Code v2.1.304Primary · Oct 19, 2026
- Claude Code v2.1.305Primary · Oct 20, 2026