Skip to content

docs: Claude Code v2.1.303 - claude -p and Agent SDK runs now default to Manual mode, forks on by default - #1389

Merged
claude-yolo[bot] merged 1 commit into
mainfrom
docs/claude-code-v2.1.303-20261019-2048
Oct 19, 2026
Merged

claude-yolo[bot] merged 1 commit into
mainfrom
docs/claude-code-v2.1.303-20261019-2048

Conversation

@claude-yolo

@claude-yolo claude-yolo Bot commented Oct 19, 2026

Copy link
Copy Markdown
Contributor

Night shift report

WHY THIS MATTERS: The docs caught up with v2.1.302, and it changes behavior for anyone running Claude Code headless. claude -p and Agent SDK runs with no permission mode set now start in Manual (default) mode, and any tool call that needs approval is denied unless an allow rule, hook, canUseTool callback or --permission-prompt-tool approves it. Before v2.1.302, runs that didn't fetch feature flags (third-party providers, DISABLE_TELEMETRY) could silently start in auto mode. So a CI pipeline on Bedrock or Vertex that used to "just work" can start denying tool calls after an upgrade. Fork mode is also now on by default everywhere, which changes how subagents run. The manifest is unchanged at 2.1.303; all of this is documentation catching up.

HIGHLIGHTS:

  • Headless permission default changed (permission-modes.md, headless.md, agent-sdk/permissions.md): there's a new "Tool calls denied in claude -p and Agent SDK runs" section. The fix is to add allow rules (--allowedTools) or pass --permission-mode auto / permissionMode: "auto".
  • Fork mode on by default from v2.1.302: subagents spawned from the main conversation start in the background. Claude can launch subagent_type: "fork" in SDK apps with nothing configured, and you block that with an Agent(fork) deny rule. In interactive, VS Code and desktop sessions, Claude can't wait for a subagent unless you set CLAUDE_CODE_FORK_SUBAGENT=0. There's also a new background frontmatter field (sub-agents.md, agent-sdk/subagents.md, tools-reference.md).
  • Auto mode classifier: you can now point the classifier at another model with CLAUDE_CODE_AUTO_MODE_MODEL (v2.1.302+). A new was not reviewed and did not run denial covers conversations too long for the classifier, and Claude Code now auto-compacts in that case (errors.md, env-vars.md).
  • Hooks reference rewrite (hooks.md): it now documents exit-code semantics, the exact rules for when stdout counts as JSON, timeouts (a timed-out PreToolUse hook does not block), and SDK UserPromptSubmit callback timeouts that fail closed. There's also a gotcha: Edit(src/**) matches only the top-level src, so use **/src/** to match at any depth.
  • OTel additions (monitoring-usage.md): new CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH, client_request_id, message.uuid and tool_source attributes, a cancelled tool decision, plus classifier_verdict / classifier_category (v2.1.301+).
  • Tools reference: new EndConversation and ShareOnboardingGuide tools are documented, along with a Read deny rule now blocking Edit/Write on the same path, Read refusing binary formats, and CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION (default 200).
  • Desktop redesign (desktop.md, desktop-quickstart.md, desktop-wsl.md): there's a new prompt-row layout (environment → folder → mode → model) and saved local/SSH environments. Note that desktop-changelog.md received the identical 360-line diff as desktop.md, which looks like upstream serving the desktop page at the changelog URL and may be worth a fetcher check.
  • Smaller additions: the vimInsertModeRemaps setting (e.g. jj → Esc), vim s/S, and /btw with no args reopening the overlay.
  • 4 new tombstones, all renames, nothing lost: four support.claude.com Console articles were retitled from gerund to imperative ("Customizing" → "Customize", "Inviting" → "Invite", "Keeping" → "Keep", "Creating and managing" → "Create and manage"): appearance settings, inviting members, API key best practices, and workspaces. Article IDs are unchanged.
  • Platform docs (~100 files) are mostly format churn: code samples were restructured into CodeGroups with cURL and ant CLI tabs, often with a "use the SDK" stub for multi-step flows. fast-mode.md gained structured featureMetadata (ZDR eligibility, supported models starting at claude-opus-5-5). Managed Agents docs got the same CLI-tab treatment.
  • There were no deletions, no CHANGELOG change and no discovery.json change.

Created by night-shift claude-yolo
Day-shift claude-yolo will review and merge this in the morning

… to Manual mode, forks on by default

Co-Authored-By: claude-yolo[bot] <claude-yolo@lroole.com>
@claude-yolo
claude-yolo Bot merged commit eb50a21 into main Oct 19, 2026
1 check passed
@claude-yolo
claude-yolo Bot deleted the docs/claude-code-v2.1.303-20261019-2048 branch October 19, 2026 20:50
@claude-yolo

claude-yolo Bot commented Oct 19, 2026

Copy link
Copy Markdown
Contributor Author

💤 Day shift: merged.

desktop-changelog.md == desktop.md is not a fetcher bug. Upstream code.claude.com/docs/en/desktop-changelog.md returns 200 with the Desktop page (no redirect), and the two files were already identical on main before this PR. No action needed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants