{"version":"2.1.304","summary":"Claude Code's bundled default model is now Opus 5.5 at medium effort, replacing Opus 5 at high effort. You can set CLAUDE_CODE_SKIP_PLUGIN_LOCAL_MCP_SERVERS to keep only the remote MCP servers that plugins bring. A program that runs `claude mcp serve` can pick which plugins load with CLAUDE_CODE_MCP_SERVE_ENABLED_PLUGINS. A new allowNestedUserNamespaces sandbox setting lets browsers or rootless podman run inside the sandbox on Linux. It is off by default because it weakens the sandbox. Plugin modules can now read and override the settings in effect through a new settings.read event.\n\nSome work in this build is not switched on yet. In-app surveys for enterprise organizations stay off unless turned on remotely. Setting CLAUDE_CODE_DISABLE_FEEDBACK_SURVEY skips them. Groundwork for showing skills as plugins has landed but cannot be reached. Leaving a worktree now checks whether to keep it, but that check always says no in this build. A launch option to turn off plan or auto mode is partly built, with no visible setting yet.\n\nCreating a worktree no longer resets an existing branch with the same name. Claude Code now stops with an error instead. Your cached remote settings are no longer cleared when a proxy answers with a 204 or 404 reply. Very long timeouts are now capped instead of firing immediately. Removing one skill's hooks no longer removes matching hooks added by another skill. Claude Code no longer fetches skills from MCP servers when it connects to them.","filter":{"section":null,"tier":null,"area":null},"offset":0,"limit":50,"count":50,"total":371,"next_offset":50,"next_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/entries.json?offset=50","entries":[{"anchor":"mcp-serve-http-enabled-plugins-via-env-org-config-gate-a","heading":"Choose which plugins load when Claude Code runs as an MCP server","glance":"`CLAUDE_CODE_MCP_SERVE_ENABLED_PLUGINS` lets a program that launches `claude mcp serve` pick which plugins are turned on","teaser":null,"tier":"use","area":"MCP","section":"What probably matters to you","position":0,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/mcp-serve-http-enabled-plugins-via-env-org-config-gate-a","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/mcp-serve-http-enabled-plugins-via-env-org-config-gate-a.json"},{"anchor":"claude-code-attribution-project-is-validated-as-a-claudeai","heading":"New <code>CLAUDE_CODE_ATTRIBUTION_PROJECT<\/code> setting checked against claude.ai Project IDs","glance":"Claude Code now recognises `CLAUDE_CODE_ATTRIBUTION_PROJECT` and drops a value that is not a valid claude.ai Project ID from saved jobs","teaser":null,"tier":"use","area":"Projects","section":"What probably matters to you","position":1,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/claude-code-attribution-project-is-validated-as-a-claudeai","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/claude-code-attribution-project-is-validated-as-a-claudeai.json"},{"anchor":"new-env-vars-to-skip-plugin-local-mcp-servers-and-gate-plugi","heading":"New environment variables for low-resource warnings, plugin MCP servers and child sessions","glance":"New environment variables add low disk and memory warnings, limit plugin MCP servers, and pass startup and project details to child sessions","teaser":null,"tier":"use","area":"MCP","section":"What probably matters to you","position":2,"scope":"both","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/new-env-vars-to-skip-plugin-local-mcp-servers-and-gate-plugi","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/new-env-vars-to-skip-plugin-local-mcp-servers-and-gate-plugi.json"},{"anchor":"new-sandbox-setting-allownestedusernamespaces","heading":"Linux sandbox blocks nested user namespaces by default, with a new allowNestedUserNamespaces setting","glance":"On Linux, sandboxed commands can no longer create user namespaces unless allowNestedUserNamespaces is set, and credential deny rules are hardened","teaser":null,"tier":"use","area":"Sandbox","section":"What probably matters to you","position":4,"scope":"both","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/new-sandbox-setting-allownestedusernamespaces","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/new-sandbox-setting-allownestedusernamespaces.json"},{"anchor":"new-settingsread-plugin-event-mods-runtime","heading":"Plugins can now supply setting values through a settings.read event","glance":"A new settings.read event lets plugin hooks see and override your effective settings, re-checked whenever settings or plugins change","teaser":null,"tier":"use","area":"Plugins","section":"What probably matters to you","position":5,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/new-settingsread-plugin-event-mods-runtime","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/new-settingsread-plugin-event-mods-runtime.json"},{"anchor":"plugin-hooks-new-press-drawn-press-fill-and-answers-press","heading":"Prompt filling and plugin hooks gain an answersPress value","glance":"prompt.fill and suggest-prompt requests now carry answersPress, plugins get press_drawn and press_fill hook events, plus two new defaults","teaser":null,"tier":"use","area":"Plugins","section":"What probably matters to you","position":6,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/plugin-hooks-new-press-drawn-press-fill-and-answers-press","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/plugin-hooks-new-press-drawn-press-fill-and-answers-press.json"},{"anchor":"on-branch-ref-revision-pool-options-threaded-through-a","heading":"Task launches can take their starting branch from --on-branch or --ref","glance":"A launch path now uses the branch from --on-branch first, then the ref from --ref, and records which flag supplied it","teaser":null,"tier":"use","area":"Cloud Sessions","section":"What probably matters to you","position":7,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/on-branch-ref-revision-pool-options-threaded-through-a","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/on-branch-ref-revision-pool-options-threaded-through-a.json"},{"anchor":"model-catalog-default-for-the-cc-surface-moved-from-claude-o","heading":"Bundled default model changes to Opus 5.5 at medium effort","glance":"The model catalog shipped with Claude Code now defaults to claude-opus-5-5 at medium effort instead of claude-opus-5 at high effort","teaser":null,"tier":"notice","area":"Models","section":"What probably matters to you","position":8,"scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/model-catalog-default-for-the-cc-surface-moved-from-claude-o","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/model-catalog-default-for-the-cc-surface-moved-from-claude-o.json"},{"anchor":"new-env-var-claude-code-personal-config-fix-is-forwarded-to","heading":"New <code>CLAUDE_CODE_PERSONAL_CONFIG_FIX<\/code> environment variable","glance":"A new environment variable, CLAUDE_CODE_PERSONAL_CONFIG_FIX, is read by Claude Code and passed on to tmux sessions and child processes","teaser":null,"tier":"use","area":"Configuration","section":"What probably matters to you","position":9,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/new-env-var-claude-code-personal-config-fix-is-forwarded-to","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/new-env-var-claude-code-personal-config-fix-is-forwarded-to.json"},{"anchor":"permissionrequest-hooks-can-deny-before-a-person-is-asked","heading":"Permission request hooks can refuse a tool before you are asked","glance":"When a tool would ask for your permission, PermissionRequest hooks can now run first and turn that question into a refusal","teaser":null,"tier":"use","area":"Hooks","section":"What probably matters to you","position":10,"scope":"both","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/permissionrequest-hooks-can-deny-before-a-person-is-asked","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/permissionrequest-hooks-can-deny-before-a-person-is-asked.json"},{"anchor":"post-turn-memory-config-gains-a-carry-across-restarts-option","heading":"Memory extraction can keep its place across worker restarts","glance":"A new carry_across_restarts option lets post-turn memory extraction save and restore its progress when its worker restarts","teaser":null,"tier":"use","area":"Memory","section":"What probably matters to you","position":11,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/post-turn-memory-config-gains-a-carry-across-restarts-option","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/post-turn-memory-config-gains-a-carry-across-restarts-option.json"},{"anchor":"auto-mode-coderunningmcptools-setting","heading":"SDK hosts can mark MCP tools that run code, so auto mode checks them","glance":"The SDK initialize request accepts codeRunningMcpTools so auto mode judges code-running MCP tools, and the reply reports whether it applied","teaser":null,"tier":"use","area":"SDK","section":"What probably matters to you","position":12,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/auto-mode-coderunningmcptools-setting","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/auto-mode-coderunningmcptools-setting.json"},{"anchor":"sandbox-proxy-gains-request-filter-hardening-options","heading":"Sandbox hardening: stricter network proxy checks and credential files that stay closed","glance":"The sandbox proxy now checks request targets, Host and SNI, and credential-file denies can no longer be reopened by broader allows","teaser":null,"tier":"use","area":"Sandbox","section":"What probably matters to you","position":14,"scope":"both","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/sandbox-proxy-gains-request-filter-hardening-options","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/sandbox-proxy-gains-request-filter-hardening-options.json"},{"anchor":"device-mcp-serving-policy-denial-and-a-not-now-memory","heading":"Settings can block cloud sessions from using this machine&#039;s MCP servers, and &quot;not now&quot; is remembered","glance":"The device bridge that offers local MCP servers to cloud sessions can now be denied by settings, and remembers a \"not now\" consent answer","teaser":null,"tier":"use","area":"Cloud Sessions","section":"What probably matters to you","position":15,"scope":"both","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/device-mcp-serving-policy-denial-and-a-not-now-memory","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/device-mcp-serving-policy-denial-and-a-not-now-memory.json"},{"anchor":"system-prompt-snapshot-now-defaults-off-under-bare-outside","heading":"System prompt snapshots default to off in bare mode","glance":"--system-prompt-snapshot still defaults to on, except under --bare outside cloud and background sessions","teaser":null,"tier":"use","area":"CLI","section":"What probably matters to you","position":16,"scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/system-prompt-snapshot-now-defaults-off-under-bare-outside","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/system-prompt-snapshot-now-defaults-off-under-bare-outside.json"},{"anchor":"orphan-background-agent-restore-behind-tengu-steady-puppy","heading":"Background agents cut off by a restart can be resumed","glance":"Claude Code can now prepare background agents orphaned by a restart so they can be resumed, and the restart notice says which ones","teaser":null,"tier":"notice","area":"Background Agents","section":"What probably matters to you","position":17,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/orphan-background-agent-restore-behind-tengu-steady-puppy","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/orphan-background-agent-restore-behind-tengu-steady-puppy.json"},{"anchor":"worktree-creation-can-use-a-new-numbered-branch-with-b-inst","heading":"Creating a worktree no longer resets an existing branch with the same name","glance":"When a worktree gets a new numbered branch name that already exists, Claude Code now stops with an error instead of resetting that branch","teaser":null,"tier":"notice","area":"Worktrees","section":"What probably matters to you","position":18,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/worktree-creation-can-use-a-new-numbered-branch-with-b-inst","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/worktree-creation-can-use-a-new-numbered-branch-with-b-inst.json"},{"anchor":"a-mod-enable-prompt-text-added","heading":"New prompt asks before turning on mods that Claude writes","glance":"Claude Code has a new prompt asking whether to turn on mods Claude writes in a session, with a warning that a mod is code running with your access","teaser":null,"tier":"notice","area":"Plugins","section":"What probably matters to you","position":19,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/a-mod-enable-prompt-text-added","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/a-mod-enable-prompt-text-added.json"},{"anchor":"artifact-mcp-tools-may-replace-the-built-in-artifact-tool","heading":"Artifact tools from an MCP server can stand in for the built-in ones","glance":"When an MCP server supplies artifact tools, Claude Code can hide its built-in artifact tools and apply your permission rules to the MCP ones instead","teaser":null,"tier":"internal","area":"Artifacts","section":"What probably matters to you","position":21,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/artifact-mcp-tools-may-replace-the-built-in-artifact-tool","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/artifact-mcp-tools-may-replace-the-built-in-artifact-tool.json"},{"anchor":"diskless-sessions-refuse-disk-backed-features","heading":"Sessions with no disk skip features that need to save files","glance":"In a session running with no disk, Claude Code skips feedback drafts, the changelog cache, teammate spawning and the plugin relevance scan","teaser":null,"tier":"internal","area":"Diskless Sessions","section":"What probably matters to you","position":22,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/diskless-sessions-refuse-disk-backed-features","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/diskless-sessions-refuse-disk-backed-features.json"},{"anchor":"mcp-skill-resources-file-read-validation-and-refusal-messag","heading":"Skills from MCP servers are no longer fetched on connect, and their files are now verified","glance":"MCP-served skills are no longer fetched when servers connect, and their files are now checked against what the server listed","teaser":null,"tier":"notice","area":"MCP","section":"What probably matters to you","position":23,"scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/mcp-skill-resources-file-read-validation-and-refusal-messag","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/mcp-skill-resources-file-read-validation-and-refusal-messag.json"},{"anchor":"remote-session-login-hint-removed-login-handler-takes-a-k","heading":"<code>\/login<\/code> accepts an argument and drops its cloud-session workaround","glance":"The cloud-session tip for `\/login` is gone, and `\/login` now reads an argument and reports when it does not recognise it","teaser":null,"tier":"use","area":"Auth","section":"What probably matters to you","position":24,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/remote-session-login-hint-removed-login-handler-takes-a-k","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/remote-session-login-hint-removed-login-handler-takes-a-k.json"},{"anchor":"claude-code-auto-compact-window-parsing-with-km-shorthand-a","heading":"CLAUDE_CODE_AUTO_COMPACT_WINDOW gets shorthand values, warnings and a note in \/config","glance":"The auto-compact window env var accepts 200k or 1M shorthand, clamps or warns on bad values, and \/config shows an extra note about it","teaser":null,"tier":"use","area":"Compaction","section":"What probably matters to you","position":25,"scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/claude-code-auto-compact-window-parsing-with-km-shorthand-a","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/claude-code-auto-compact-window-parsing-with-km-shorthand-a.json"},{"anchor":"remote-devices-mcp-withdrawal-message-when-denied","heading":"Denying remote-devices now withdraws MCP servers from running cloud sessions","glance":"Adding `remote-devices` to `deniedMcpServers` now stops this machine offering MCP servers to cloud sessions already running","teaser":null,"tier":"use","area":"Cloud Sessions","section":"What probably matters to you","position":26,"scope":"both","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/remote-devices-mcp-withdrawal-message-when-denied","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/remote-devices-mcp-withdrawal-message-when-denied.json"},{"anchor":"plugin-hooks-that-ask-can-be-marked-person-decided","heading":"Plugin hooks can require a person to approve an action","glance":"A plugin hook that answers \"ask\" can now mark that a person must decide, so the automatic check cannot approve it","teaser":null,"tier":"use","area":"Hooks","section":"What probably matters to you","position":27,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/plugin-hooks-that-ask-can-be-marked-person-decided","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/plugin-hooks-that-ask-can-be-marked-person-decided.json"},{"anchor":"session-limit-reset-command-can-offer-a-choice-and-accepts-n","heading":"The session-limit reset command can now offer a choice of resets","glance":"The command that resets your session limit now accepts a reset name such as full, 5-hour or weekly, and can show a chooser","teaser":null,"tier":"use","area":"Usage & Limits","section":"What probably matters to you","position":28,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/session-limit-reset-command-can-offer-a-choice-and-accepts-n","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/session-limit-reset-command-can-offer-a-choice-and-accepts-n.json"},{"anchor":"per-turn-token-reminder-mode-is-now-cached-and-can-be-set-ex","heading":"Total-tokens reminder now defaults on only for models with the capability","glance":"The total-tokens reminder now defaults to on only for models with a new total_tokens_reminder capability, and is off for others","teaser":null,"tier":"use","area":"Context Window","section":"What probably matters to you","position":29,"scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/per-turn-token-reminder-mode-is-now-cached-and-can-be-set-ex","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/per-turn-token-reminder-mode-is-now-cached-and-can-be-set-ex.json"},{"anchor":"org-config-gate-enforced-at-startup-with-blocked-screen","heading":"Organizations can block Claude Code at startup if its setup does not match","glance":"Claude Code can now check organization configuration at startup and in the agents view, and show a screen that blocks use","teaser":null,"tier":"notice","area":"Managed Settings","section":"What probably matters to you","position":31,"scope":"org","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/org-config-gate-enforced-at-startup-with-blocked-screen","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/org-config-gate-enforced-at-startup-with-blocked-screen.json"},{"anchor":"reset-style-command-gets-an-argument-hint-gated-by-kz","heading":"Session limit reset command can show a hint for which limit to reset","glance":"The command that resets a session limit can now show the argument hint [fable|full|5-hour|weekly]","teaser":null,"tier":"notice","area":"Usage & Limits","section":"What probably matters to you","position":32,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/reset-style-command-gets-an-argument-hint-gated-by-kz","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/reset-style-command-gets-an-argument-hint-gated-by-kz.json"},{"anchor":"enterprise-org-survey-feature-added-gated-by-tengu-steady-m","heading":"Enterprise organisations can send members a survey inside Claude Code","glance":"A new survey that an enterprise organisation can send its members appears above the prompt, behind a server flag","teaser":null,"tier":"soon","area":"Surveys","section":"What probably matters to you","position":33,"scope":"both","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/enterprise-org-survey-feature-added-gated-by-tengu-steady-m","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/enterprise-org-survey-feature-added-gated-by-tengu-steady-m.json"},{"anchor":"diskless-sessions-skip-several-disk-paths","heading":"A diskless mode makes Claude Code skip several reads and writes to disk","glance":"In what appears to be a diskless mode, Claude Code skips caching organisation memory, project local settings and some folder creation","teaser":null,"tier":"internal","area":"Diskless Sessions","section":"What probably matters to you","position":34,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/diskless-sessions-skip-several-disk-paths","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/diskless-sessions-skip-several-disk-paths.json"},{"anchor":"uirender-hook-in-the-hooks-module-scan-list","heading":"Plugin hook modules gain a ui.render hook and redraw-on-press","glance":"Plugin hook modules can now be scanned for a `ui.render` hook, and a UI press can return a freshly drawn tree in one step","teaser":null,"tier":"internal","area":"Plugins","section":"What probably matters to you","position":35,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/uirender-hook-in-the-hooks-module-scan-list","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/uirender-hook-in-the-hooks-module-scan-list.json"},{"anchor":"queue-and-plugin-input-hold-refactor-with-a-plugin-settings","heading":"Plugins can intercept queued messages, and session.send checks the input hold","glance":"Hook plugins can now intercept a queued message, and a plugin's session.send is refused if Claude Code cannot read whether plugin input is held","teaser":null,"tier":"internal","area":"Plugins","section":"What probably matters to you","position":36,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/queue-and-plugin-input-hold-refactor-with-a-plugin-settings","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/queue-and-plugin-input-hold-refactor-with-a-plugin-settings.json"},{"anchor":"skill-hooks-can-run-via-runskillhook-skill-listing-includes","heading":"Remote control can run a skill&#039;s hooks and list your own skills","glance":"Remote-control clients can now run a skill's command hooks, unless settings keep them off, and see skills from your user settings","teaser":null,"tier":"internal","area":"Remote Control","section":"What probably matters to you","position":39,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/skill-hooks-can-run-via-runskillhook-skill-listing-includes","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/skill-hooks-can-run-via-runskillhook-skill-listing-includes.json"},{"anchor":"commands-can-carry-a-policygate","heading":"Slash commands can now carry a policy restriction","glance":"The way slash commands are set up now lets a command carry a policy gate, which can make it subject to organisation policy","teaser":null,"tier":"internal","area":"Slash Commands","section":"What probably matters to you","position":41,"scope":"org","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/commands-can-carry-a-policygate","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/commands-can-carry-a-policygate.json"},{"anchor":"silent-turn-bounce-generalized-to-configurable-policy","heading":"Turns that end without a reply can be sent back more than once under a policy","glance":"Claude Code's check for turns ending with no reply now supports a policy that can ask again several times","teaser":null,"tier":"internal","area":"Turn Handling","section":"What probably matters to you","position":42,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/silent-turn-bounce-generalized-to-configurable-policy","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/silent-turn-bounce-generalized-to-configurable-policy.json"},{"anchor":"excluded-repository-check-and-cloud-device-wording","heading":"Computer tools can be unavailable for an excluded repository, and notices say &quot;Linux VM&quot;","glance":"Your computer's tools can now be reported unavailable to a cloud session because the repository is excluded, and notices say \"Linux VM\" not \"sandbox\"","teaser":null,"tier":"notice","area":"Cloud Sessions","section":"What probably matters to you","position":43,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/excluded-repository-check-and-cloud-device-wording","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/excluded-repository-check-and-cloud-device-wording.json"},{"anchor":"served-tools-messages-say-linux-vm-instead-of-sandbox","heading":"Notices about your computer&#039;s tools in cloud sessions now say &quot;Linux VM&quot;","glance":"Messages about calls waiting on or refused by your computer now say \"Linux VM\" instead of \"sandbox\"","teaser":null,"tier":"notice","area":"Cloud Sessions","section":"What probably matters to you","position":44,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/served-tools-messages-say-linux-vm-instead-of-sandbox","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/served-tools-messages-say-linux-vm-instead-of-sandbox.json"},{"anchor":"served-channel-handle-gains-leaveforrestart-with-no-in-bundl","heading":"Groundwork for keeping remote-served tools through a restart","glance":"Claude Code gains an unused way to step away from a served channel ahead of a restart, which nothing calls yet","teaser":null,"tier":"soon","area":"Remote Tools","section":"What probably matters to you","position":45,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/served-channel-handle-gains-leaveforrestart-with-no-in-bundl","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/served-channel-handle-gains-leaveforrestart-with-no-in-bundl.json"},{"anchor":"auto-mode-classifier-gets-a-remote-browser-rule-and-cloud-br","heading":"Auto mode gets a rule for the cloud remote browser","glance":"Auto mode's automatic safety check now gets a rule about the cloud remote browser, based on your connected MCP servers","teaser":null,"tier":"internal","area":"Auto Mode","section":"What probably matters to you","position":46,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/auto-mode-classifier-gets-a-remote-browser-rule-and-cloud-br","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/auto-mode-classifier-gets-a-remote-browser-rule-and-cloud-br.json"},{"anchor":"new-org-config-gate-event-managed-agents-secure-skill-and-t","heading":"Groundwork for an organisation setup step and a managed-agents entry","glance":"Claude Code adds an organisation setup name, a managed-agents-secure entry and a new switch that is off unless turned on remotely","teaser":null,"tier":"internal","area":"Managed Settings","section":"What probably matters to you","position":47,"scope":"org","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/new-org-config-gate-event-managed-agents-secure-skill-and-t","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/new-org-config-gate-event-managed-agents-secure-skill-and-t.json"},{"anchor":"whiteboard-variant-latch-replaced-by-tengu-harp-pedal-gate","heading":"Whiteboard behaviour is now set by one remote switch","glance":"The whiteboard no longer picks a live or solo mode per session and instead follows a single switch controlled remotely","teaser":null,"tier":"internal","area":"Whiteboard","section":"What probably matters to you","position":48,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/whiteboard-variant-latch-replaced-by-tengu-harp-pedal-gate","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/whiteboard-variant-latch-replaced-by-tengu-harp-pedal-gate.json"},{"anchor":"sandbox-handover-reads-skip-filesystem-when-storage-backed","heading":"Handover files are not read from or deleted on disk in a storage-backed mode","glance":"In some mode, Claude Code no longer checks or deletes handover files on your disk and records those reads and discards another way","teaser":null,"tier":"internal","area":"Diskless Sessions","section":"What probably matters to you","position":49,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/sandbox-handover-reads-skip-filesystem-when-storage-backed","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/sandbox-handover-reads-skip-filesystem-when-storage-backed.json"},{"anchor":"startup-marks-streamed-as-keep-alive-lines","heading":"Headless startup progress is now reported to SDK hosts through keep_alive messages","glance":"Headless Claude Code now streams startup checkpoints as keep_alive lines with a startup_mark, and the SDK records them with a timestamp","teaser":null,"tier":"notice","area":"Headless Mode","section":"New Features","position":0,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/startup-marks-streamed-as-keep-alive-lines","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/startup-marks-streamed-as-keep-alive-lines.json"},{"anchor":"usage-credit-offer-starry-waterfall-client-added","heading":"Usage-credit purchases gain promotional offers and protection against price changes","glance":"\/usage-credits can now show server-driven bonus and discount offers in the menu, a hint and a banner, and refuses to charge if prices changed","teaser":null,"tier":"notice","area":"Usage Credits","section":"New Features","position":1,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/usage-credit-offer-starry-waterfall-client-added","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/usage-credit-offer-starry-waterfall-client-added.json"},{"anchor":"protected-path-check-gains-per-call-exceptions-and-a-flag-fo","heading":"Protected file check gains exceptions and a git config option","glance":"The check for protected files can now skip named files per request and only checks git config inside .git folders when asked","teaser":null,"tier":"notice","area":"Permissions","section":"Improvements","position":0,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/protected-path-check-gains-per-call-exceptions-and-a-flag-fo","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/protected-path-check-gains-per-call-exceptions-and-a-flag-fo.json"},{"anchor":"sandbox-now-also-protects-a-git-file-as-in-worktrees","heading":"The sandbox now protects a .git file as well as a .git folder","glance":"The sandbox now blocks changes to a .git file, as used in git worktrees, not only to a .git folder","teaser":null,"tier":"notice","area":"Sandbox","section":"Improvements","position":1,"scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/sandbox-now-also-protects-a-git-file-as-in-worktrees","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/sandbox-now-also-protects-a-git-file-as-in-worktrees.json"},{"anchor":"sandbox-env-filter-has-an-extra-condition-for-env-var-names","heading":"The sandbox has an extra rule for which environment variables get through","glance":"The filter deciding which environment variables reach sandboxed commands now has an extra condition","teaser":null,"tier":"notice","area":"Sandbox","section":"Improvements","position":2,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/sandbox-env-filter-has-an-extra-condition-for-env-var-names","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/sandbox-env-filter-has-an-extra-condition-for-env-var-names.json"},{"anchor":"mcp-capability-cache-no-longer-misses-on-skills-capable","heading":"MCP servers that offer skills can now be loaded from the cache","glance":"Claude Code no longer skips its saved copy of an MCP server's capabilities just because the server offers skills","teaser":null,"tier":"notice","area":"MCP","section":"Improvements","position":3,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/mcp-capability-cache-no-longer-misses-on-skills-capable","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/mcp-capability-cache-no-longer-misses-on-skills-capable.json"},{"anchor":"extra-usage-dialog-bundle-offers-monthly-cap-discount-tie","heading":"Buy-credits dialog now reads offers, a monthly cap and discount tiers","glance":"The dialog for buying extra usage now reads an offer, a remaining monthly bundle cap and custom discount tiers sent from the server","teaser":null,"tier":"notice","area":"Usage Credits","section":"Improvements","position":4,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/extra-usage-dialog-bundle-offers-monthly-cap-discount-tie","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.304\/e\/extra-usage-dialog-bundle-offers-monthly-cap-discount-tie.json"}],"facets":{"sections":[{"value":"What probably matters to you","entries":43},{"value":"New Features","entries":2},{"value":"Improvements","entries":155},{"value":"Bug Fixes","entries":18},{"value":"In Development","entries":5},{"value":"Internal Changes","entries":145},{"value":"Removed","entries":3}],"tiers":[{"value":"notice","entries":187},{"value":"internal","entries":157},{"value":"use","entries":20},{"value":"soon","entries":7}],"areas":[{"value":"Plugins","entries":23},{"value":"Cloud Sessions","entries":21},{"value":"Elsewhere","entries":18},{"value":"Managed Settings","entries":18},{"value":"Auth","entries":16},{"value":"Sessions","entries":16},{"value":"MCP","entries":15},{"value":"Sandbox","entries":15},{"value":"Usage & Limits","entries":14},{"value":"Permissions","entries":11},{"value":"Skills","entries":11},{"value":"Remote Machines","entries":9},{"value":"Diskless Sessions","entries":8},{"value":"Remote Control","entries":8},{"value":"Terminal UI","entries":8},{"value":"Artifacts","entries":7},{"value":"CLI","entries":7},{"value":"Subagents","entries":7},{"value":"Telemetry","entries":7},{"value":"Hooks","entries":6},{"value":"SDK","entries":6},{"value":"Worktrees","entries":6},{"value":"API","entries":5},{"value":"Auto Mode","entries":5},{"value":"Bash Tool","entries":5},{"value":"File Attachments","entries":5},{"value":"Plan Mode","entries":5},{"value":"Scheduled Tasks","entries":5},{"value":"Workflows","entries":5},{"value":"Compaction","entries":4},{"value":"Internals","entries":4},{"value":"Models","entries":4},{"value":"Monitor Tool","entries":4},{"value":"Privacy Settings","entries":4},{"value":"Settings","entries":4},{"value":"Startup","entries":4},{"value":"Tools","entries":4},{"value":"Usage Credits","entries":4},{"value":"Agent Teams","entries":3},{"value":"Background Agents","entries":3},{"value":"Background Tasks","entries":3},{"value":"Configuration","entries":3},{"value":"Memory","entries":3},{"value":"Browser","entries":2},{"value":"Claude Test","entries":2},{"value":"Device Tools","entries":2},{"value":"Diagnostics","entries":2},{"value":"Projects","entries":2},{"value":"Slash Commands","entries":2},{"value":"Surveys","entries":2},{"value":"Agents View","entries":1},{"value":"Announcements","entries":1},{"value":"Config Import","entries":1},{"value":"Context Window","entries":1},{"value":"Daemon","entries":1},{"value":"Headless Mode","entries":1},{"value":"Notices","entries":1},{"value":"Peers","entries":1},{"value":"Remote Tools","entries":1},{"value":"Session Tabs","entries":1},{"value":"System Prompt","entries":1},{"value":"Tool Search","entries":1},{"value":"Turn Handling","entries":1},{"value":"Whiteboard","entries":1}]}}