Claude Code 2.1.73
**`modelOverrides` setting** — allows mapping model picker entries to custom provider model IDs (Bedrock inference profile ARNs, etc.). This enables teams behind corporate proxies or using non-standard LLM deployments to use Claude Code with pinned or alternative model configurations without forking the CLI.
New primitives
modelOverridessettingMap model picker entries to custom provider model IDs (e.g. Bedrock inference profile ARNs)
Workflow recipes
Teams deploying agents across heterogeneous LLM providers (corporate Bedrock, Vertex, Foundry, public Claude API) can now pin model versions per provider without silent downgrades or connectivity pain. This enables mixed-provider agent fleets with deterministic behavior.
Configure .claude/settings.json with modelOverrides to map picker entries like "opus" to Bedrock ARNs, Vertex endpoints, or Foundry model IDs. Spawn subagents across providers using model: opus in their definitions; 2.1.73 now guarantees they run on the pinned provider+version, not a silently-downgraded fallback. When proxy/SSL errors occur during login or connectivity checks, actionable guidance (check NODE_EXTRA_CA_CERTS, corporate proxy config) surfaces instead of cryptic failures. Result: repeatable, cross-provider agent deployments where every subagent runs on the exact model intended.
Monorepos with large .claude/skills/ directories and concurrent session execution (parallel agent batches, repeated CLI runs in CI) now have stable Bash I/O, skill reloads, and permission-prompt handling. This unblocks automation-heavy agent workflows.
Script or schedule multiple Claude Code sessions to run in parallel (e.g., --continue for resume, or new sessions per batch item) in the same project. 2.1.73 guarantees: Bash tool output no longer gets lost across sessions, skill file changes (e.g., during git pull or skill updates) don't trigger deadlocks or freezes, permission prompts on complex bash commands don't loop at 100% CPU. Use case: split a large data-processing task across 3-5 parallel agent workers, each spawning subagents and collecting results reliably.
Long-running agents can now be safely interrupted mid-turn (e.g., to fix a typo, reconsider a direction, or poll results) and resumed from the exact conversation state. This reduces the need to discard work or restart from scratch.
During an agent's response, press Ctrl+C to interrupt. The Up arrow now restores the full interrupted prompt AND rewinds the conversation to before the incomplete response was added. Press Enter to re-submit the restored prompt, or edit it first. The /resume command picker correctly filters out the current session, avoiding accidental re-entry. Combined: allows deep introspection and steering of long agent runs without data loss or confusion.
Agentic relevance
2.1.73 is primarily a hardening release with one new user-facing primitive (`modelOverrides`). The fixes address critical stability issues (permission prompt freezes, deadlocks, multi-session Bash output loss, subagent process cleanup) that directly improve agent reliability. For agents running in corporate environments with proxies or alternative LLM providers (Bedrock, Vertex, Foundry), the `modelOverrides` setting and improved SSL error guidance enable more robust operation.
Hardening & fixes (25)
- **Permission prompt freezes** — Fixed freezes and 100% CPU loops triggered by permission prompts for complex bash commands
- **Skill directory deadlock** — Fixed a deadlock that could freeze Claude Code when many skill files changed at once (e.g. during `git pull` in a repo with a large `.claude/skills/` directory)
- **Multi-session Bash output loss** — Fixed Bash tool output being lost when running multiple Claude Code sessions in the same project directory
- **Subagent model downgrade** — Fixed subagents with `model: opus`/`sonnet`/`haiku` being silently downgraded to older model versions on Bedrock, Vertex, and Microsoft Foundry
- **Subagent process cleanup** — Fixed background bash processes spawned by subagents not being cleaned up when the agent exits
- **Resume command picker** — Fixed `/resume` showing the current session in the picker
- **IDE auto-install crash** — Fixed `/ide` crashing with `onInstall is not defined` when auto-installing the extension
- **Loop command availability** — Fixed `/loop` not being available on Bedrock/Vertex/Foundry and when telemetry was disabled
- **SessionStart hook double-fire** — Fixed SessionStart hooks firing twice when resuming a session via `--resume` or `--continue`
- **JSON-output hook noise** — Fixed JSON-output hooks injecting no-op system-reminder messages into the model's context on every turn
- **Voice mode corruption** — Fixed voice mode session corruption when a slow connection overlaps a new recording
- **Linux ripgrep missing** — Fixed Linux sandbox failing to start with "ripgrep (rg) not found" on native builds
- **Linux glibc 2.26 modules** — Fixed Linux native modules not loading on Amazon Linux 2 and other glibc 2.26 systems
- **Remote Control image API** — Fixed "media_type: Field required" API error when receiving images via Remote Control
- **Heapdump Windows path** — Fixed `/heapdump` failing on Windows with `EEXIST` error when the Desktop folder already exists
- **OAuth/connectivity SSL guidance** — Added actionable guidance when OAuth login or connectivity checks fail due to SSL certificate errors (corporate proxies, `NODE_EXTRA_CA_CERTS`)
- **Up arrow interrupt restoration** — Improved Up arrow after interrupting Claude — now restores the interrupted prompt and rewinds the conversation in one step
- **IDE detection speed** — Improved IDE detection speed at startup
- **Clipboard image perf** — Improved clipboard image pasting performance on macOS
- **Effort command availability** — Improved `/effort` to work while Claude is responding, matching `/model` behavior
- **Voice mode reconnection** — Improved voice mode to automatically retry transient connection failures during rapid push-to-talk re-press
- **Remote Control spawn prompt** — Improved the Remote Control spawn mode selection prompt with better context
- **Opus default version** — Changed default Opus model on Bedrock, Vertex, and Microsoft Foundry to Opus 4.6 (was Opus 4.1)
- **Output-style deprecation** — Deprecated `/output-style` command — use `/config` instead. Output style is now fixed at session start for better prompt caching
- **VSCode proxy errors** — Fixed HTTP 400 errors for users behind proxies or on Bedrock/Vertex with Claude 4.5 models
Raw changelog
## 2.1.73 - Added `modelOverrides` setting to map model picker entries to custom provider model IDs (e.g. Bedrock inference profile ARNs) - Added actionable guidance when OAuth login or connectivity checks fail due to SSL certificate errors (corporate proxies, `NODE_EXTRA_CA_CERTS`) - Fixed freezes and 100% CPU loops triggered by permission prompts for complex bash commands - Fixed a deadlock that could freeze Claude Code when many skill files changed at once (e.g. during `git pull` in a repo with a large `.claude/skills/` directory) - Fixed Bash tool output being lost when running multiple Claude Code sessions in the same project directory - Fixed subagents with `model: opus`/`sonnet`/`haiku` being silently downgraded to older model versions on Bedrock, Vertex, and Microsoft Foundry - Fixed background bash processes spawned by subagents not being cleaned up when the agent exits - Fixed `/resume` showing the current session in the picker - Fixed `/ide` crashing with `onInstall is not defined` when auto-installing the extension - Fixed `/loop` not being available on Bedrock/Vertex/Foundry and when telemetry was disabled - Fixed SessionStart hooks firing twice when resuming a session via `--resume` or `--continue` - Fixed JSON-output hooks injecting no-op system-reminder messages into the model's context on every turn - Fixed voice mode session corruption when a slow connection overlaps a new recording - Fixed Linux sandbox failing to start with "ripgrep (rg) not found" on native builds - Fixed Linux native modules not loading on Amazon Linux 2 and other glibc 2.26 systems - Fixed "media_type: Field required" API error when receiving images via Remote Control - Fixed `/heapdump` failing on Windows with `EEXIST` error when the Desktop folder already exists - Improved Up arrow after interrupting Claude — now restores the interrupted prompt and rewinds the conversation in one step - Improved IDE detection speed at startup - Improved clipboard image pasting performance on macOS - Improved `/effort` to work while Claude is responding, matching `/model` behavior - Improved voice mode to automatically retry transient connection failures during rapid push-to-talk re-press - Improved the Remote Control spawn mode selection prompt with better context - Changed default Opus model on Bedrock, Vertex, and Microsoft Foundry to Opus 4.6 (was Opus 4.1) - Deprecated `/output-style` command — use `/config` instead. Output style is now fixed at session start for better prompt caching - VSCode: Fixed HTTP 400 errors for users behind proxies or on Bedrock/Vertex with Claude 4.5 models