2.1.63 untested · changelog-derived

Claude Code 2.1.63

**Bundled slash commands + HTTP hooks**: slash commands now ship with `/simplify` and `/batch` out-of-the-box; HTTP hooks enable external system integration without shell commands. Together, these unlock workflow distribution and third-party integrations in Claude Code without custom scripting.

7 new primitives 3 workflow recipes 20 fixes

New primitives

/simplifycommand

Code review for reuse, simplification, and efficiency improvements

Added `/simplify` and `/batch` bundled slash commands
/batchcommand

Batch processing capabilities for repeating tasks

Added `/simplify` and `/batch` bundled slash commands
ENABLE_CLAUDEAI_MCP_SERVERS=falseenv-var

Opt out from making claude.ai MCP servers available

Added `ENABLE_CLAUDEAI_MCP_SERVERS=false` env var to opt out from making claude.ai MCP servers available
HTTP hookscapability

POST JSON to external URLs and receive JSON responses instead of shell commands

Added HTTP hooks, which can POST JSON to a URL and receive JSON instead of running a shell command
/copy "Always copy full response"setting

Skip code block picker and copy full response directly on future `/copy` invocations

Added "Always copy full response" option to the `/copy` picker. When selected, future `/copy` commands will skip the code block picker and copy the full response directly.
/model menu displaycapability

Show the currently active model in the slash command menu

Improved `/model` command to show the currently active model in the slash command menu
Manual URL paste fallback (OAuth)capability

Paste callback URL to complete MCP OAuth authentication if automatic localhost redirect fails

Added manual URL paste fallback during MCP OAuth authentication. If the automatic localhost redirect doesn't work, you can paste the callback URL to complete authentication.

Workflow recipes

Code quality gate via /simplify batch
/simplify command + /batch command + HTTP hooks

Agents can now chain code review and simplification into repeatable workflows. With /batch, an agent can apply /simplify to multiple files in a single pass and POST the results to an external system (CI/CD, Slack, code review queue) via HTTP hooks, enabling async code-quality gates without custom shell scripts.

An agent checks out a feature branch, collects a list of modified files, runs /batch /simplify on all of them, aggregates the findings into a JSON payload, and POSTs to a Slack webhook or review endpoint. The external system logs quality signals, blocks merge if thresholds are breached, or notifies the team. On future runs, the same agent adapts to feedback from the external system.

Distributed MCP setup with OAuth fallback
HTTP hooks + Manual URL paste fallback (OAuth) + Project configs shared across worktrees

Long-running agents in CI/CD or headless environments frequently hit MCP OAuth redirects that fail silently. The new manual URL paste fallback + HTTP hooks enable an agent to recover from failed MCP authentication by prompting a human (or external service) to paste the callback URL, while HTTP hooks let the agent notify downstream systems of the recovery state.

An agent starts a long-lived session across multiple git worktrees. One worktree initializes a new MCP server. If the automatic OAuth redirect fails (common in headless contexts), the agent logs a recovery prompt and POSTs to an HTTP hook endpoint, which notifies an operator. The operator pastes the callback URL. The agent resumes without interruption. Project configs persist across worktrees, so the authenticated MCP state is available in all subsequent tasks.

Stateful batch jobs with subagent context stripping
/batch + Improved memory usage in subagent sessions + HTTP hooks

Large batch jobs spawn multiple subagents, each accumulating context. The new subagent context-stripping optimization prevents unbounded memory growth. HTTP hooks enable status updates to external systems without polling. Together, agents can run large, long-lived batch pipelines (e.g., artifact migration, bulk recompete intelligence) without memory-based failures.

A parent agent spawns a /batch job to process 100 competitor profiles through multiple subagents. Each subagent runs analysis, compaction strips heavy payloads from internal state, and upon completion, the subagent POSTs results to an HTTP hook (database, data lake, CRC graph). The parent aggregates status from the hook and exits cleanly, even if total token-hours would have caused OOM in 2.1.62.

Agentic relevance

The `/simplify` and `/batch` commands bring code-review and batch-processing to the Claude Code CLI, enabling agents to apply style checks and repeat operations without custom skill definitions. HTTP hooks decouple external integrations from shell execution, reducing permission friction and enabling safe third-party workflows. The worktree config sharing and OAuth fallback improve reliability in multi-worktree and offline MCP scenarios—both critical for long-running agent sessions.

Hardening & fixes (20)

  • Fixed local slash command output like /cost appearing as user-sent messages instead of system messages in the UI
  • Project configs & auto memory now shared across git worktrees of the same repository
  • Fixed listener leak in bridge polling loop
  • Fixed listener leak in MCP OAuth flow cleanup
  • Fixed memory leak when navigating hooks configuration menu
  • Fixed listener leak in interactive permission handler during auto-approvals
  • Fixed file count cache ignoring glob ignore patterns
  • Fixed memory leak in bash command prefix cache
  • Fixed MCP tool/resource cache leak on server reconnect
  • Fixed IDE host IP detection cache incorrectly sharing results across ports
  • Fixed WebSocket listener leak on transport reconnect
  • Fixed memory leak in git root detection cache that could cause unbounded growth in long-running sessions
  • Fixed memory leak in JSON parsing cache that grew unbounded over long sessions
  • VSCode: Fixed remote sessions not appearing in conversation history
  • Fixed a race condition in the REPL bridge where new messages could arrive at the server interleaved with historical messages during the initial connection flush, causing message ordering issues
  • Fixed memory leak where long-running teammates retained all messages in AppState even after conversation compaction
  • Fixed a memory leak where MCP server fetch caches were not cleared on disconnect, causing growing memory usage with servers that reconnect frequently
  • Improved memory usage in long sessions with subagents by stripping heavy progress message payloads during context compaction
  • VSCode: Added session rename and remove actions to the sessions list
  • Fixed `/clear` not resetting cached skills, which could cause stale skill content to persist in the new conversation

Raw changelog

## 2.1.63

- Added `/simplify` and `/batch` bundled slash commands
- Fixed local slash command output like /cost appearing as user-sent messages instead of system messages in the UI
- Project configs & auto memory now shared across git worktrees of the same repository
- Added `ENABLE_CLAUDEAI_MCP_SERVERS=false` env var to opt out from making claude.ai MCP servers available
- Improved `/model` command to show the currently active model in the slash command menu
- Added HTTP hooks, which can POST JSON to a URL and receive JSON instead of running a shell command
- Fixed listener leak in bridge polling loop
- Fixed listener leak in MCP OAuth flow cleanup
- Added manual URL paste fallback during MCP OAuth authentication. If the automatic localhost redirect doesn't work, you can paste the callback URL to complete authentication.
- Fixed memory leak when navigating hooks configuration menu
- Fixed listener leak in interactive permission handler during auto-approvals
- Fixed file count cache ignoring glob ignore patterns
- Fixed memory leak in bash command prefix cache
- Fixed MCP tool/resource cache leak on server reconnect
- Fixed IDE host IP detection cache incorrectly sharing results across ports
- Fixed WebSocket listener leak on transport reconnect
- Fixed memory leak in git root detection cache that could cause unbounded growth in long-running sessions
- Fixed memory leak in JSON parsing cache that grew unbounded over long sessions
- VSCode: Fixed remote sessions not appearing in conversation history
- Fixed a race condition in the REPL bridge where new messages could arrive at the server interleaved with historical messages during the initial connection flush, causing message ordering issues.
- Fixed memory leak where long-running teammates retained all messages in AppState even after conversation compaction
- Fixed a memory leak where MCP server fetch caches were not cleared on disconnect, causing growing memory usage with servers that reconnect frequently
- Improved memory usage in long sessions with subagents by stripping heavy progress message payloads during context compaction
- Added "Always copy full response" option to the `/copy` picker. When selected, future `/copy` commands will skip the code block picker and copy the full response directly.
- VSCode: Added session rename and remove actions to the sessions list
- Fixed `/clear` not resetting cached skills, which could cause stale skill content to persist in the new conversation