Claude Code Digest — 2026-04-23 00:18:09
What the docs reveal
Programmable approvals with the defer hook
Anthropic updated the TypeScript SDK to support a defer permission decision for the PreToolUse hook. Previously, tool interception felt binary. You either allowed execution or blocked it. The new defer state lets developers pause execution, pipe the deferred_tool_use metadata to a user interface, and wait for human approval before resuming.
The precedence rules explicitly rank deny > defer > ask > allow. This shift enables mature human-in-the-loop workflows. You can build internal UI dashboards that gate dangerous operations—like database migrations—without breaking the agent's context loop. Notably, Python developers must wait; this feature remains TypeScript-exclusive.
Enterprise supply chain and auto mode
Claude Code is preparing for strict enterprise environments. Administrators can now lock down plugin supply chains using blockedMarketplaces and strictKnownMarketplaces. The tool automatically resolves and updates dependencies, but blocks installations if a marketplace source fails policy checks mid-operation.
A critical security change treats all non-local and non-remote resources as external by default. To bypass sandbox restrictions, you must explicitly trust infrastructure via autoMode.environment configuration. Anthropic also refined the Auto Mode decision hierarchy. The classifier evaluates soft_deny blocks first, applies allow rules as exceptions, and lets explicit user prompts override both. If you require a hard guardrail, you must use permissions.deny. You can audit these rule sets directly using claude auto-mode defaults and evaluate their safety using the AI-driven claude auto-mode critique command.
Context hygiene and token management
Long-running sessions burn through context limits and API budgets. Anthropic tackled this by introducing a "resume from summary" feature for bloated chats. Instead of injecting the raw transcript into the new session, Claude extracts a summary and starts fresh to conserve tokens. Third-party routing restricts this feature; Bedrock, Vertex AI, and Microsoft Foundry users cannot use it.
The documentation also clarifies how Claude handles filesystem context. Subdirectory CLAUDE.md files no longer load at session startup. They load only when Claude explicitly reads a file within that directory. Developers should shred massive root CLAUDE.md files and distribute instructions into path-scoped rules. This lazy-loading strategy improves model adherence and saves money.
Telemetry privacy and silent failures
Debugging Claude Code configurations requires less guesswork. The docs highlight new diagnostic commands (/mcp, /hooks, /permissions, and /doctor) to inspect state. Anthropic highlighted a common developer trap: hook matchers strictly check case. A hook targeting "bash" fails silently; it requires "Bash". Additionally, MCP local scripts now demand absolute paths, and environment variables must live in .mcp.json to propagate to child processes.
For telemetry, Anthropic added the OTEL_LOG_TOOL_DETAILS flag. By default, Claude Code obscures custom plugin and MCP command names in user prompts to protect privacy. Enabling this flag captures granular tool parameters for OpenTelemetry pipelines. Turn this on only if you control the ingestion endpoint, as it risks exposing sensitive arguments into plaintext logs.
Technical dictation and dynamic hints
Voice input is no longer an afterthought. The new /voice command configures dictation natively. Anthropic smartly feeds the active Git branch and project names into the recognition engine as dynamic hints. This solves the classic speech-to-text failure where tools misspell bespoke technical terms or internal repository names.
Hold-to-talk defaults to the Spacebar, but the docs advise rebinding to a modifier like Meta+K to avoid OS-level warmup delays. Finally, models now dictate their default effort levels. Opus 4.7 defaults to xhigh, while Sonnet 4.6 defaults to high. You can override these limits using the new /effort command or the ultrathink shortcut when a complex architecture prompt requires maximum reasoning depth.