Add 2026-04 deltas (v2.1.83-v2.1.111) verified against research/03-claude-code-changes-config-surfaces.md (2026-04-19): - Opus 4.7 + token-efficiency surfaces (env vars, attribution.commit/pr) - Sandbox isolation (sandbox.* keys) - Managed-only enterprise lockdown flags - disableSkillShellExecution (v2.1.91) - forceRemoteSettingsRefresh (v2.1.92) No new hook events in this range — noted in hook-events-reference.md. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
7.5 KiB
7.5 KiB
Claude Code Feature Evolution
Timeline of major features, most recent first. Covers features with configuration impact. Source: Official Claude Code documentation, verified 2026-04-03; 2026-04 entries verified via research/03-claude-code-changes-config-surfaces.md (2026-04-19).
2026
| Approx. Date | Feature | Config Impact |
|---|---|---|
| 2026-04 (v2.1.111) | Opus 4.7 + token-efficiency surfaces | New env vars ENABLE_PROMPT_CACHING_1H, FORCE_PROMPT_CACHING_5M, CLAUDE_CODE_DISABLE_1M_CONTEXT. New settings keys around tui / autoScrollEnabled. Granular commit attribution via attribution.commit / attribution.pr (replaces includeCoAuthoredBy). |
| 2026-04 (v2.1.83+) | Sandbox + managed-only enterprise lockdown | Added settings keys: sandbox.enabled, sandbox.failIfUnavailable, sandbox.allowUnsandboxedCommands, sandbox.filesystem.allowRead/denyRead, sandbox.network.deniedDomains/allowedDomains, sandbox.enableWeakerNetworkIsolation. Managed-only flags: allowManagedHooksOnly, allowManagedMcpServersOnly, allowManagedPermissionRulesOnly. |
| 2026-03 (v2.1.91) | disableSkillShellExecution |
Blocks inline !command shell expansion in skills. Mitigates skill-side prompt-injection vector. |
| 2026-03 (v2.1.92) | forceRemoteSettingsRefresh |
Fail-closed on managed-settings fetch failure (previously fail-open). |
| Q1 2026 | Agent Teams (experimental) | Enable via CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1 or env in settings.json. Configure display mode via ~/.claude.json teammateMode. Hooks: TeammateIdle, TaskCreated, TaskCompleted. |
| Q1 2026 | Elicitation events | Elicitation and ElicitationResult hook events added. MCP servers can request user input; hooks control and log these requests. |
| Q1 2026 | SubagentStart / SubagentStop hooks |
Added hook events for subagent lifecycle. SubagentStop is blocking — exit code 2 acts as a quality gate. |
| Q1 2026 | ConfigChange hook event |
Fires when any config file changes on disk. Matcher: user_settings, project_settings, local_settings, policy_settings, skills. |
| Q1 2026 | InstructionsLoaded hook event |
Fires when CLAUDE.md/.claude/rules files load. Useful for debugging instruction loading order and content. |
| Q1 2026 | StopFailure / PostToolUseFailure hooks |
Error-path hooks added for better error observability and retry logic. |
| Q1 2026 | WorktreeCreate / WorktreeRemove hooks |
WorktreeCreate is blocking; hook can return custom worktree path to replace Claude's default git worktree logic. Enables non-git VCS support. |
| Q1 2026 | PermissionDenied hook |
Info-only event when auto mode denies a tool. Useful for logging and auditing denied operations. |
| Q1 2026 | SessionEnd hook |
Fires on session termination. Matcher: clear, resume, logout, prompt_input_exit, other. |
| Q1 2026 | HTTP hook type | type: "http" hook handler posts to HTTP endpoints. allowedHttpHookUrls and httpHookAllowedEnvVars settings for security controls. |
| Q1 2026 | Agent-type hooks | type: "agent" hook handler — full subagent with tools for complex validation. |
2025
| Approx. Date | Feature | Config Impact |
|---|---|---|
| Late 2025 | Plugins system | Namespaced skill/agent/hook/MCP bundles. enabledPlugins in settings.json. Plugin marketplace support. --plugin-dir for development. /reload-plugins command. bin/ for CLI tools. |
| Late 2025 | LSP plugins | .lsp.json at plugin root provides real-time code intelligence. Official LSP plugins for TypeScript, Python, Rust, etc. |
| Late 2025 | Output styles | outputStyle setting; ~/.claude/output-styles/*.md and .claude/output-styles/*.md. System prompt modification (stronger than CLAUDE.md). Built-in: Default, Explanatory, Learning. |
| Late 2025 | Status line | statusLine key in settings.json. Script receives stdin JSON with cost, context window %, model, worktree, session info. /statusline command for natural language config. |
| Late 2025 | Skills system (v2) | Major expansion of frontmatter fields: context: fork, disable-model-invocation, user-invocable, paths, hooks, shell. !command`` dynamic context. $ARGUMENTS[N] indexing. |
| Late 2025 | Subagent isolation: worktree | isolation: worktree in agent frontmatter. Each invocation gets own git worktree. Auto-cleaned on completion. |
| Late 2025 | Subagent persistent memory | memory: "user" in agent frontmatter. Accumulates knowledge to ~/.claude/agent-memory/. |
| Late 2025 | Subagent preloaded skills | skills: array in agent frontmatter. Full skill content injected at agent startup (vs. description-only in regular sessions). |
| Mid 2025 | Worktrees | claude --worktree <name> CLI flag. .worktreeinclude for gitignored file propagation. worktree.symlinkDirectories and worktree.sparsePaths settings. |
| Mid 2025 | MCP integration | .mcp.json project-level config. ~/.claude.json mcpServers. Three server types: stdio, http, sse. Resources via @server:path. Prompts as slash commands. |
| Mid 2025 | Auto-memory | ~/.claude/projects/<project>/memory/MEMORY.md. autoMemoryEnabled setting. autoMemoryDirectory for custom path. Topic files loaded on demand. |
| Mid 2025 | Managed settings | managed-settings.json, managed-settings.d/*.json. Org-wide config at highest precedence. Managed-only keys for enterprise lockdown. |
| Mid 2025 | PreCompact/PostCompact hooks |
Hooks for context compaction lifecycle. Matcher: manual, auto. |
| Early 2025 | Hooks system (v1) | Initial hooks in settings.json. Events: SessionStart, UserPromptSubmit, PreToolUse, PermissionRequest, PostToolUse, Stop, Notification, CwdChanged, FileChanged, PreCompact, PostCompact. command and prompt handler types. |
| Early 2025 | .claude/rules/ directory |
Path-specific rules with paths: frontmatter. Lazy loading — only loads when Claude works on matching files. |
| Early 2025 | Keybindings | ~/.claude/keybindings.json. JSON Schema available. Chord support. Vim mode. 20+ contexts and 40+ bindable actions. |
| Early 2025 | CLAUDE.local.md |
Project-local personal companion file. Gitignored. Appended after CLAUDE.md. |
| Early 2025 | Extended thinking | alwaysThinkingEnabled setting. effortLevel (low/medium/high/max). MAX_THINKING_TOKENS env var. |
| Early 2025 | Auto mode | autoMode object in settings.json (user/local only). environment, allow, soft_deny arrays. disableAutoMode setting. |
2024
| Approx. Date | Feature | Config Impact |
|---|---|---|
| Late 2024 | Subagents (v1) | .claude/agents/<name>.md. ~/.claude/agents/. Frontmatter: model, tools, disallowedTools, permissionMode, color, maxTurns. |
| Late 2024 | Skills system (v1) | ~/.claude/skills/<name>/SKILL.md. .claude/skills/<name>/SKILL.md. Legacy .claude/commands/<name>.md also supported. Basic frontmatter. |
| Mid 2024 | @import in CLAUDE.md |
@path/to/file syntax for modular CLAUDE.md. Max 5 hops. HTML comment stripping. |
| Mid 2024 | settings.json | .claude/settings.json (project), ~/.claude/settings.json (user), .claude/settings.local.json (local). Permissions, env, hooks. |
| Early 2024 | CLAUDE.md | Initial project-level instructions. User-level ~/.claude/CLAUDE.md. Lazy loading of subdirectory files. Directory walk. |