Claude docs changes for May 15th, 2026 [diff]

Executive Summary

  • New terminalSequence hook output field lets hooks safely emit desktop notifications, window titles, and bells without /dev/tty access — works on all platforms including Windows and inside tmux/screen
  • Task tool types (TaskCreate, TaskGet, TaskList, TaskUpdate) are now fully exported from the TypeScript SDK, eliminating the need to define them locally
  • New "Summarize up to here" rewind option lets you compress early conversation context while keeping recent messages fully intact
  • Fast mode now defaults to Opus 4.7 (was Opus 4.6); pin to Opus 4.6 with CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE=1
  • claude agents gains a --cwd <path> flag to scope the session list to a single project, and --name for naming background sessions at dispatch time

New Claude Code versions

2.1.142

New features

  • Added new claude agents flags: --add-dir, --settings, --mcp-config, --plugin-dir, --permission-mode, --model, --effort, and --dangerously-skip-permissions to configure dispatched background sessions
  • Fast mode now uses Opus 4.7 by default (previously Opus 4.6); set CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE=1 to pin fast mode to Opus 4.6
  • Plugins with a root-level SKILL.md and no skills/ subdirectory are now surfaced as a skill
  • The /plugin details pane and claude plugin details now show LSP servers a plugin provides
  • /web-setup warns before replacing an existing GitHub App connection

Existing feature improvements

  • Improved reactive compaction: the first summarize attempt now seeds from the original request's overflow size, avoiding a wasted near-full-context retry
  • Improved hook configuration error: configuring a prompt- or agent-type hook for SessionStart/Setup/SubagentStart now shows a clear "use a command-type hook instead" error
  • Removed stale /model claude-sonnet-4-20250514 suggestion from Usage Policy refusal messages

Major bug fixes

  • Fixed MCP_TOOL_TIMEOUT not raising the per-request fetch timeout for remote HTTP and SSE MCP servers, which capped tool calls at 60 seconds regardless of the configured value
  • Fixed background sessions not recognizing pre-existing git worktrees, blocking Edit while EnterWorktree refused to create a duplicate
  • Fixed background sessions disappearing and daemon reconnect failing after macOS sleep/wake — the daemon now detects clock jumps instead of treating them as elapsed idle time
  • Fixed daemon not exiting cleanly after binary upgrade (e.g. brew upgrade), causing dispatched agents to crash-loop on the deleted path
  • Fixed background agents crash-looping when the Claude-in-Chrome extension is connected without a shared tab
  • Fixed claude agents "v to open in editor" using the daemon's default editor instead of $EDITOR/$VISUAL
  • Fixed claude agents deadlocking on Windows with network-drive working directories; Ctrl+C now works during startup
  • Fixed claude --bg --dangerously-skip-permissions not persisting across retire/wake
  • Fixed session titles being derived from the URL when the first message is a link
  • Fixed plugins using skills: ["./"] showing a false "path escapes plugin directory" error
  • Fixed plugin cache cleanup deleting the active plugin version directory when no installation metadata is present

Claude Code changes

New Documents

Desktop changelog [Source]

New file tracking Claude Code Desktop app-specific changes (separate from the CLI changelog). Covers versions 1.5186.0 through 1.7196.0 (April 28 – May 12, 2026). Notable entries include: multi-tab terminal pane, OS notifications when a Code session finishes, list_sessions/search_session_transcripts/archive_session MCP tools, update_scheduled_task MCP tool for self-rescheduling tasks, per-plugin auto-install for org-provisioned plugins, and an organization banner for 3P managed deployments.

Changed documents

Agent SDK - Hooks [Source]

  • Clarified that systemMessage shows a message to the user, not to the model; to pass context to the model, use additionalContext instead. [line 185] [Source]
  • Updated the "block a tool" example to use permissionDecisionReason (tells the model why) alongside systemMessage (tells the user). [lines 248-264] [Source]
  • Fixed troubleshooting section: systemMessage is not visible by default; set includeHookEvents (include_hook_events in Python) to surface it in the stream. [line 545] [Source]

Agent SDK - Python [Source]

  • Updated systemMessage description in HookJSONOutput from "system message to add to the transcript" to "warning message shown to the user". [line 1827] [Source]

Agent SDK - TypeScript [Source]

  • Added includeHookEvents option to query() config — when true, includes hook lifecycle events (SDKHookStartedMessage, SDKHookProgressMessage, SDKHookResponseMessage) in the message stream. [line 386] [Source]
  • TaskCreate, TaskGet, TaskList, and TaskUpdate input/output types are now exported from the SDK — the "not yet exported from the SDK; define locally" comments have been removed. [lines 1582-1395] [Source]

Agent view [Source]

  • Added --cwd <path> flag to claude agents to scope the view to sessions started under a specific directory. [line 72] [Source]
  • Added --name flag for claude --bg to set the session's display name in agent view instead of the auto-generated one. [lines 248-252] [Source]
  • Clarified permission mode inheritance: backgrounding an existing session preserves its current mode; dispatching from agent view uses defaultMode from settings. [lines 282-295] [Source]
  • Added note that --permission-mode, --model, and --effort on claude agents require v2.1.142 or later. [line 293] [Source]

Amazon Bedrock [Source]

  • Clarified distinct trigger conditions: awsAuthRefresh only runs when credentials are expired; awsCredentialExport runs at session start and on every credential reload, even when credentials are still valid — use it for cross-account Bedrock credentials. [lines 106-109] [Source]

Best practices [Source]

  • Added mention of the new "Summarize up to here" rewind option alongside "Summarize from here", with a link to the checkpointing docs. [line 367] [Source]
  • Clarified checkpoint semantics: a checkpoint is created per prompt sent, and Claude snapshots files before each edit. [lines 391-394] [Source]

Checkpointing [Source]

  • Added new "Summarize up to here" rewind option: compresses messages before the selected point while keeping later messages intact, leaving you at the end of the conversation. [lines 31-40] [Source]
  • Expanded "Restore vs. summarize" section to document both summarize modes side-by-side with use case guidance. [lines 44-50] [Source]

CLI reference [Source]

  • Updated claude agents description to document the new --cwd <path> flag. [line 27] [Source]

Commands [Source]

  • Updated /rewind description to mention that it can also summarize part of the conversation, not only restore it. [line 21] [Source]

Desktop scheduled tasks [Source]

  • Delete dialog now includes an "Also delete files on disk" checkbox that removes the task's SKILL.md file and data from ~/.claude/scheduled-tasks/. [line 83] [Source]
  • A scheduled task can now modify its own schedule or prompt during a run using the update_scheduled_task MCP tool. [line 86] [Source]

Desktop [Source]

  • Documented multi-tab terminal pane: click + in the terminal header or right-click a folder to open a second tab. [line 131] [Source]
  • Added that the Desktop app sends an OS notification when a Code session finishes and you aren't viewing it. [line 268] [Source]
  • Added managedMcpServers to the managed settings table: allows pushing MCP server configs to all users in 3P Desktop deployments, with per-tool policy restrictions. [line 549] [Source]

Environment variables [Source]

  • Added ANTHROPIC_WORKSPACE_ID: workspace ID for workload identity federation when a rule is scoped to more than one workspace. [line 48] [Source]
  • Added CLAUDE_CODE_PLUGIN_PREFER_HTTPS: set to 1 to clone GitHub plugins over HTTPS instead of SSH — useful in CI/containers without SSH keys. [line 141] [Source]
  • Updated CLAUDE_CODE_SIMPLE_SYSTEM_PROMPT to apply to any model (not only Opus 4.7) and document the opt-out values (0, false, no, off). [line 157] [Source]
  • Added DEBUG env var: set to 1 to enable debug mode (equivalent to --debug); namespace patterns like DEBUG=express:* do not trigger it. [line 187] [Source]

GitHub Actions [Source]

  • Added plugin_marketplaces and plugins action inputs for installing plugins before execution. [lines 593-594] [Source]
  • Added documentation and example for invoking skills via the prompt input, including both repo skills and plugin-namespaced skills. [lines 143-168] [Source]

Glossary [Source]

  • Updated "Checkpoint" definition: checkpoints are created per prompt sent (not per edit), and now also cover the summarize-from-checkpoint capability. [line 64] [Source]

Goal [Source]

  • Added version requirement: /goal requires Claude Code v2.1.139 or later. [line 8] [Source]
  • Added Desktop app to the list of supported non-interactive environments for /goal. [line 104] [Source]

Hooks guide [Source]

  • Updated hook timeout documentation with per-type defaults: command/http/mcp_tool default to 10 minutes (30 seconds for UserPromptSubmit); prompt defaults to 30 seconds; agent defaults to 60 seconds. [lines 821-824] [Source]

Hooks [Source]

  • Added new terminalSequence JSON output field: hooks can now return terminal escape sequences (OSC notifications, window titles, BEL) for Claude Code to emit on their behalf — replaces writing directly to /dev/tty, which is unavailable to hooks as of v2.1.139. Restricted to an allowlist of safe sequences that cannot move the cursor or alter colors. [lines 659-700] [Source]
  • Documented that command hooks on macOS and Linux now run without a controlling terminal (as of v2.1.139). [line 528] [Source]
  • UserPromptSubmit hooks have a 30-second default timeout for command/http/mcp_tool types (shorter than the 600-second default for other events). [line 964] [Source]
  • Documented PostToolUse response fields for completed Agent calls: status, agentId, content, totalTokens, totalDurationMs, totalToolUseCount, and usage — enabling per-subagent cost tracking from a hook. [lines 1162-1177] [Source]
  • Clarified that in async hooks, systemMessage is shown to the user (not Claude); use additionalContext to pass context to the model. Updated the async example accordingly. [lines 2535-2570] [Source]

MCP [Source]

  • MCP OAuth authentication now triggers on both 401 Unauthorized and 403 Forbidden responses (previously only 401). [line 420] [Source]

Remote control [Source]

  • Added Desktop app Settings toggle for enabling remote control by default: Settings → Claude Code → Enable remote control by default. [line 115] [Source]

Settings [Source]

  • Improved /status description: the Status tab now shows a Setting sources line listing each loaded layer; a layer only appears when it has at least one key; the Config tab is a toggle editor, not a view of settings.json. [line 511] [Source]

Sub-agents [Source]

  • .claude/agents/ and ~/.claude/agents/ are now scanned recursively, allowing subfolders like agents/review/; identity still comes from the name frontmatter field only. [lines 177-179] [Source]
  • Plugin agents/ directories are also scanned recursively; a subfolder inside a plugin's agents/ directory becomes part of the scoped identifier (e.g. my-plugin:review:security). [line 180] [Source]
  • Updated @-mention typeahead and --agent flag documentation to reflect the new subfolder-based scoped identifiers for plugin agents. [lines 612-624] [Source]

Voice dictation [Source]

  • Clarified WSLg availability: WSLg is included with WSL2 when installed from the Microsoft Store on Windows 10 or 11 (not only Windows 11). [line 16] [Source]
  • Added troubleshooting entry for Voice mode could not find a working audio recorder in WSL: WSLg routes through PulseAudio, so you need sudo apt install sox libsox-fmt-pulse rather than just sox. [line 144] [Source]

API changes

Changed documents

No significant documentation changes today (only internal email obfuscation URL updates).