Enter Existing Worktrees #
New
What
The EnterWorktree tool now accepts a path parameter to switch into an existing linked worktree instead of always creating a new one.
Usage
/worktree # create a new worktree (existing behavior)
# or, via the model:
EnterWorktree(path: "/path/to/existing-worktree")
Details
- The
path must be a registered worktree of the current repo (shown by git worktree list) - Mutually exclusive with the
name parameter — specify one or the other - A safety check prevents removing worktrees that were entered (not created) by
EnterWorktree - The exit flow returns you to the original working directory
- New UI messages: "Entering worktree", "Cleaning up worktree (no pending changes)…", "This session entered an existing worktree"
Evidence
Worktree path parameter (search for "Path to an existing worktree") and enter-existing safety check (search for "enteredExisting")
/doctor Diagnostics with Auto-Fix #
New
What
The /doctor command has been rewritten as a comprehensive diagnostic dashboard with a new keybinding to auto-fix detected issues.
Usage
/doctor # open diagnostics screen
f # press f to ask Claude to fix the reported issues
Details
- Displays installation info, ripgrep status, update channel, auto-update permissions
- Aggregates warnings from multiple sources: CLAUDE.md context usage, agent parse errors, plugin errors, keybinding issues, MCP server health, unreachable permission rules, invalid settings, version locks
- New tree-view UI with severity-colored messages and suggested fixes
- "f to fix with Claude" sends the diagnostics output to a prompt: "Help me fix the issues reported by /doctor below"
- Read-only checks run without confirmation; destructive fixes require explicit user approval
Evidence
Doctor command context (search for "doctor:fix") and fix prompt (search for "Help me fix the issues")
Plugin Monitors (Background Watch Scripts) #
New
What
Plugins can now define persistent background monitors that stream events into the conversation as <task_notification> events.
Details
- Define monitors in a
monitors/monitors.json file at the plugin root, or inline via the monitors field in plugin.json - Each monitor has:
id (unique within plugin), description, command (shell command), and an armTrigger - Arm triggers control when monitors start:
"always" — arms at session start and on plugin reload"on-skill-invoke:<skill>" — arms the first time a specific skill is dispatched- Each stdout line from the monitor command becomes a notification; stderr goes to an output file
- Monitor IDs are deduped to prevent duplicate spawns on reload
- Session-scoped: monitors stop when the session ends
Evidence
Monitor schema (search for "monitors.json") and arm triggers (search for "on-skill-invoke")
/btw Fork to Full Session #
New
What
After receiving a /btw side-question response, press f to fork it into a full independent conversation session.
Usage
/btw what's the syntax for Python decorators?
# ... response appears ...
# Press f to fork into a new session with this context
# Press Esc to dismiss as before
Details
- New keybinding:
f to fork shown in the /btw footer when a response is available - Forks the /btw context into a new session via
branchAndResume - Shows "Forking into a new session…" status while the fork is in progress
- Previous /btw questions in the session are now shown as a collapsed history: "(+N earlier /btw)"
Evidence
Fork keybinding (search for "f to fork") and fork status (search for "Forking into a new session")
Text Selection Keybindings #
New
What
Six new keybinding actions for extending text selections in the input editor.
Details
selection:extendUp — shift+upselection:extendDown — shift+downselection:extendLeft — shift+leftselection:extendRight — shift+rightselection:extendLineStart — shift+homeselection:extendLineEnd — shift+end- These are customizable via
~/.claude/keybindings.json
Evidence
Selection keybindings (search for "selection:extendDown")
Multi-Repository Checkout Support #
New
What
Two new environment variables let you configure Claude Code for multi-repo development workflows.
Usage
export CLAUDE_CODE_REPO_CHECKOUTS='{"frontend": "/home/user/frontend", "backend": "/home/user/backend"}'
export CLAUDE_CODE_BASE_REFS='{"frontend": "origin/main", "backend": "origin/develop"}'
claude
Details
CLAUDE_CODE_REPO_CHECKOUTS — JSON map of name-to-path entries for repository checkouts. Claude Code tracks branches across all configured repos.CLAUDE_CODE_BASE_REFS — JSON map specifying the base git ref for each checkout (used for diff comparisons and bundle generation).- Both values are cached per session with singleton initialization.
Evidence
Repo checkouts env var (search for "CLAUDE_CODE_REPO_CHECKOUTS") and base refs (search for "CLAUDE_CODE_BASE_REFS")
Skill Listing Configuration #
New
What
New settings to control how skills are presented to Claude in the system prompt, giving users fine-grained control over context usage.
Details
skillListingMaxDescChars (default: 1536) — Per-skill description character cap. Descriptions longer than this are truncated.skillListingBudgetFraction (default: 0.01 = 1%) — Fraction of the context window reserved for the skill listing. When the listing exceeds this, descriptions are shortened to fit.skillOverrides — Per-skill visibility override keyed by skill name. Values:"on" — full listing (default)"name-only" — listed without description"user-invocable-only" — hidden from the model but still available via /name"off" — hidden from both model and user- These settings can be configured at policy, flag, project, user, and local settings levels.
Evidence
Skill listing settings (search for "skillListingMaxDescChars") and overrides (search for "skillOverrides")
Custom Subagent Status Lines #
New
What
Plugins can now define a custom status line command that generates per-subagent status displayed in the agent panel.
Details
- Configure via the
subagentStatusLine field in plugin settings (allowlisted alongside agent) - The command receives task metadata as JSON on stdin and should emit JSON lines on stdout
- Displays custom status per-teammate in the agent panel UI
Evidence
Subagent status line (search for "subagentStatusLine")
Plugin Dependency Installation #
New
What
Plugins can now declare dependencies on other marketplace plugins that are automatically installed.
Details
- Controlled via
allowedDependencyMarketplaces in marketplace configuration - Only the root marketplace's allowlist applies — no transitive trust
- Shows installation progress: "Installing plugin dependencies: [name]"
- Reports success, failure, or warnings per dependency
- Skips yarn/pnpm lockfiles (not supported; only bun and npm)
Evidence
Dependency installation (search for "Installing plugin dependencies")
/proactive Alias for /loop #
New
The /loop command now has /proactive as an alias, making the autonomous loop feature more discoverable.
Evidence
Alias definition (search for "proactive" near aliases)
Git Credential Redaction #
New
Git remote URLs containing credentials are now automatically redacted in logs and debug output, preventing accidental exposure of authentication tokens.
Evidence
Credential redaction (search for "redactGitRemoteCredentials")
Plugin Path Traversal Protection #
New
Plugins can no longer use .. path segments to reference files outside their plugin directory. This is enforced for:
- Plugin file resolution (plugin.json paths)
- Marketplace name validation
- Package references
Evidence
Path traversal checks (search for "path-traversal")
PreCompact Hook Support #
New
Conversation compaction now respects a PreCompact hook. If the hook blocks, compaction is skipped with the message "Compaction blocked by PreCompact hook." This gives users control over when context compression occurs.
Evidence
Hook integration (search for "Compaction blocked by PreCompact hook")
Improved Tool Call Error Handling #
New
When the model's tool call cannot be parsed, a clearer error message is now returned: "The model's tool call could not be parsed (retry also failed). Your tool call was malformed and could not be parsed. Please retry."
Evidence
Error message (search for "model's tool call could not be parsed")
Ultrareview Billing Overhaul #
New
Ultrareview billing now uses a server-driven preflight check that returns proceed, blocked, or confirm states, replacing the old client-side quota check. The blocked state shows an actionable message; the confirm state shows a dialog with billing details (e.g., "This review bills as usage (~$10)").
Evidence
Preflight endpoint (search for "/v1/ultrareview/preflight")
- "Entering worktree" and "Cleaning up worktree (no pending changes)…" replace the old "Creating worktree…" and "Exiting worktree…" messages
- Background tasks are now shown in the worktree exit dialog
- "Switched to worktree" message is now context-aware (no longer appends "on branch" unconditionally)
Evidence
Worktree messages (search for "Entering worktree" and "Cleaning up worktree")
Tmux Focus-Events Diagnostic #
New
The /doctor output now detects when tmux focus-events is off and shows a suggestion: "add 'set -g focus-events on' to ~/.tmux.conf and reattach for focus tracking."
Evidence
Tmux diagnostic (search for "tmux focus-events off")
Model Deprecation Warnings #
New
A new warning system notifies users when their configured model is approaching or past its retirement date, including the deprecation date and a suggestion to switch.
Evidence
Deprecation warning generator (search for "was retired on")
Improved MCP Large Output Handling #
New
The MCP tool result processor now provides format-specific guidance for large outputs. For JSON files, it suggests using jq for targeted queries. For text files, it suggests grep. For analysis tasks, it recommends using the Task tool to process the file in an isolated subagent context.
Evidence
Format-specific guidance (search for "first probe the structure")
Hyperlink Detection Improvements #
New
Terminal hyperlink support detection is improved with broader terminal emulator recognition, including checks for TERM_PROGRAM, LC_TERMINAL, and Kitty terminal detection.
Evidence
Hyperlink detection (search for "supportsHyperlink")
Event Loop Stall Detection #
New
A new internal diagnostic detects event loop stalls (blocked main thread) and logs them with memory statistics. This helps diagnose performance issues and detect sleep/wake transitions.
Evidence
Stall detector (search for "event-loop-stall")
Managed Agents Documentation #
New
Comprehensive documentation has been embedded for the Managed Agents API, covering:
- cURL/HTTP endpoint reference
- Python and TypeScript SDK examples
- Core concepts (agent lifecycle, sessions, environments)
- Event streaming and session steering
- Tools and skills configuration
- Interactive onboarding script
Evidence
Managed Agents docs (search for "Managed Agents")
Skills Dialog Rewrite #
New
The skills dialog has been completely rewritten with:
- Toggle states per skill: on / name-only / user-invocable-only / off
- Source and override indicator (policy, flag, author)
- Improved keyboard navigation with scroll windowing
Evidence
Skills dialog toggle states (search for "user-invocable-only")
Think Back / Year in Review #
Dev
The Think Back feature ("Your 2025 Claude Code Year in Review" ASCII animation) has been completely removed — all plugin detection, animation generation, player scripts, and associated slash commands are gone.
Evidence
Removed strings (search for "thinkback" returns 0 results in new version)
Proactive Auto-Enable Setting #
Dev
The proactive.autoEnable setting (which controlled whether autonomous background operation was auto-activated at launch) has been removed. The /proactive alias for /loop replaces the previous configuration approach.
Evidence
Setting removed (search for "autoEnable" near proactive in old file only)
Time-Based Microcompaction #
Dev
The time-based microcompaction system (tengu_time_based_microcompact, tengu_slate_heron) — which cleared old tool results when a time gap was detected — has been completely removed.
Evidence
Removed telemetry event and feature flag (search for "TIME-BASED MC" or "tengu_slate_heron")
Session Memory Compaction #
Dev
The tengu_sm_compact session memory compaction system, which automatically truncated conversation history using a token-counting approach, has been removed. It is replaced by the new reactive compaction system (see In Development section).
Evidence
Removed orchestrator (search for "tengu_sm_compact" returns 0 results in new version)
Plugin Enable CLI Command #
Dev
The claude plugin enable CLI command has been removed. Plugin management is now handled through the /plugin slash command.
Evidence
Removed function G$A (search for "Enabling plugin" returns 0 results in new version)
Plugin Validate and Update Marketplace CLI Commands #
Dev
The claude plugin validate and claude plugin update-marketplace CLI commands have been removed.
Evidence
Removed functions H$A and W$A (search for "Installing marketplace" returns 0 results in new version)
MCP Tool Classification Lists #
Dev
The large static classification lists (500+ MCP tool names categorized as "search" or "read") have been removed. The classification likely uses a different approach now.
Evidence
Removed sets fVz and TVz (search for "slack_search_public" returns 0 results in new version)
Features with infrastructure added but not yet enabled. These are shipped "dark" and may become available in future versions.
Reactive Compaction [Gradual Rollout] #
Dev
What
A new conversation compaction system that automatically summarizes older messages when the prompt exceeds context limits, using binary search to find the optimal compaction boundary.
Status
Feature-flagged behind tengu_cobalt_raccoon (default: false). Disabled in non-interactive mode.
Details
- Replaces the removed
tengu_sm_compact system with a more sophisticated approach - Uses binary search to determine how many message groups to preserve vs. summarize
- Sends older messages to a model fork for summarization
- Includes retry logic (strips media on size errors), empty-response detection, and PreCompact hook support
- Extensive telemetry: trigger, success, duration, pre/post token counts, group counts
- When enabled, triggers automatically during conversation turns when token limits are approached
Evidence
Feature gate (search for "tengu_cobalt_raccoon") returns !1 (false) as default
Session Recap (Away Summary) [Gradual Rollout] #
Dev
What
When you return to a session after being away for 5+ minutes, Claude generates a brief recap of where things left off.
Status
Feature-flagged behind tengu_sedge_lantern (default: false). Can be force-enabled with CLAUDE_CODE_ENABLE_AWAY_SUMMARY=1.
Details
- Tracks focus/blur events to detect when the user steps away
- On return, generates a recap: "under 40 words, 1-2 plain sentences, no markdown. Lead with the overall goal and current task, then the one next action."
- Toggleable in
/config via awaySummaryEnabled setting (when the flag is on) - Recap can be cancelled, and shows "No recap available" if generation fails
- A
/recap command is also available to manually trigger a recap - SDK event:
memory_recall emitted when memories are surfaced
Orphaned Tip: ⚠️ Users who get the flag enabled may see "(disable recaps in /config)" — but the feature doesn't work unless the flag is active.
Evidence
Feature gate (search for "tengu_sedge_lantern") and env override (search for "CLAUDE_CODE_ENABLE_AWAY_SUMMARY")
Memory Rating Survey [In Development] #
Dev
What
A "Did this help? (optional)" prompt allowing users to rate recalled memories as good or bad.
Status
Stubbed — the gate function H_5() always returns !1 (false). The UI components (rating buttons with thumbs up/down hover states) are fully built but unreachable.
Details
- Rating buttons component exists with [Good]/[Bad] options
- Keyboard shortcuts (+ and - keys) are wired up for rating
- The infrastructure includes both memory-specific and general feedback survey paths
- General feedback survey is also gated behind
tengu_dunwich_bell (default: false)
Evidence
Stubbed gate (search for "Did this help?") and gate function returning !1
Prompt Cache Break Detection [In Development] #
Dev
What
Internal diagnostic that detects when the prompt cache is invalidated between API calls, identifying the cause (system prompt change, tool schema change, model change, TTL expiry).
Status
Active internally for telemetry only (tengu_prompt_cache_break event). Not user-visible.
Details
- Snapshots system prompt, tools, and model between requests
- When a cache break is detected, classifies the cause: system prompt changed, tools changed, model changed, betas changed, possible 5min or 1h TTL expiry, or unknown
- Logs
[PROMPT CACHE BREAK] with cause details - Helps Anthropic optimize prompt caching behavior
Evidence
Cache break detection (search for "PROMPT CACHE BREAK" and "tengu_prompt_cache_break")