Claude Code v2.1.113: A Native Binary, Three Bash Permission Hardenings, and 22 Fixes
Claude Code v2.1.113 moves the CLI to a native per-platform binary, adds sandbox.network.deniedDomains, closes three Bash permission gaps around exec wrappers, find -exec and macOS /private paths, and fixes a UI-spoofing vector in the transcript.
Claude Code v2.1.113 has 38 changelog entries, 22 of them fixes. Three are security hardenings to Bash permission rules, and one changes how the CLI is distributed.
What’s New
- The CLI now spawns a native Claude Code binary through a per-platform optional dependency, instead of bundled JavaScript.
sandbox.network.deniedDomainsblocks specific domains even when a broaderallowedDomainswildcard would otherwise permit them.
Permission and Security Hardening
Four entries tighten what a Bash allow rule actually permits. If you rely on allowlists, read these.
- Exec wrappers no longer bypass deny rules. Bash deny rules now match commands wrapped in
env,sudo,watch,ionice,setsid, and similar. Bash(find:*)no longer auto-approvesfind -execor-delete.- On macOS,
/private/{etc,var,tmp,home}are treated as dangerous removal targets underBash(rm:*)allow rules. - A UI-spoofing vector is closed. Multi-line commands whose first line is a comment now show the full command in the transcript.
dangerouslyDisableSandboxno longer ran commands outside the sandbox without a permission prompt.
Input and Terminal Behaviour
Ctrl+AandCtrl+Emove to the start and end of the current logical line in multiline input, matching readline.- Windows:
Ctrl+Backspacedeletes the previous word. - Fullscreen:
Shift+↑/↓scrolls the viewport when a selection extends past the visible edge. - Long URLs stay clickable when they wrap across lines, in terminals with OSC 8 hyperlinks.
Cmd+BackspaceandCtrl+Uagain delete from the cursor to the start of the line, and the prompt cursor no longer disappears whenNO_COLORis set.
Agents, Loop, and Remote Control
- Subagents that stall mid-stream now fail with a clear error after 10 minutes instead of hanging silently.
/loop: Esc cancels pending wakeups, and wakeups display as “Claude resuming /loop wakeup”.- Remote Control gained
/extra-usageand@-file autocomplete, and now streams subagent transcripts and archives sessions when Claude Code exits. /ultrareviewlaunches faster with parallelized checks, a diffstat in the launch dialog, and an animated launching state.- Messages typed while viewing a running subagent are no longer hidden from its transcript or misattributed to the parent.
Providers and Context
CLAUDE_CODE_EXTRA_BODYwithoutput_config.effortcaused 400 errors on subagent calls to models without effort support, and on Vertex AI.- A
thinking.type.enabled is not supported400 error when using Opus 4.7 through a Bedrock Application Inference Profile ARN. - Compacting a resumed long-context session failed with “Extra usage is required for long context requests”.
Smaller Fixes
MCP concurrent-call timeout handling where one tool call’s message could disarm another’s watchdog; markdown tables breaking on an inline code span containing a pipe; session recap auto-firing while unsent text sat in the prompt; /copy “Full response” not aligning table columns for GitHub, Notion, or Slack; /effort auto confirmation wording; the “copied N chars” toast overcounting emoji; /insights crashing with EBUSY on Windows; the exit dialog mislabeling one-shot scheduled tasks as recurring; the completion menu not sitting flush against the prompt border in fullscreen; ToolSearch ranking for pasted MCP tool names; plugin install succeeding on a dependency version conflict, which now reports range-conflict; “Refine with Ultraplan” not showing the remote session URL; and SDK image content blocks that fail to process now degrade to a text placeholder instead of crashing the session.
The full list is in the official changelog.
How to Update
- Check your installed version:
claude --version - Update in place:
claude update