{"version":"2.1.310","summary":"Short model names such as opus and sonnet now work beyond Anthropic's own API. Fable is now recognised as a short model name too. A new Claude Test panel in the terminal shows each test's pass, fail or blocked mark, with a progress bar and time left. It builds on the groundwork for that panel in v2.1.309. On Vertex and Bedrock, default models can now come from a published model document. Setting CLAUDE_CODE_RETRY_WATCHDOG_SCOPE=capacity limits the automatic retry waiting to capacity errors only.\n\nSeveral features are in this build but not switched on yet. A \/claude-api check that scans your project for retiring Claude model names is built and stays off. Sending a project's documents to Claude as plain text is also off unless switched on remotely. The tool that writes project documents gains a safety check that is off by default. When switched on, it refuses to replace a document whose text differs from what Claude last saw. Groundwork for picking up background agents left behind after a resume is present but hidden.\n\nStarting a cloud session now recovers when this computer is not yet a trusted device. Claude Code re-enrolls the computer and retries, or tells you to run \/login. Saving incoming attachments no longer overwrites files that have the same name. Inline images inside tmux now stay in place when the pane moves, resizes or regains focus. A NODE_EXTRA_CA_CERTS file with one blocked certificate no longer causes the whole file to be ignored. The bundled claude-code.d.ts type definitions file is removed.","filter":{"section":null,"tier":null,"area":null},"offset":0,"limit":50,"count":50,"total":242,"next_offset":50,"next_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/entries.json?offset=50","entries":[{"anchor":"new-claude-code-retry-watchdog-scope-env-var-narrows-the-ret","heading":"New <code>CLAUDE_CODE_RETRY_WATCHDOG_SCOPE<\/code> limits the retry watchdog to capacity waits","glance":"Set `CLAUDE_CODE_RETRY_WATCHDOG_SCOPE=capacity` to keep the retry watchdog waiting through capacity errors without its other retry changes","teaser":null,"tier":"use","area":"Retries","section":"What probably matters to you","position":0,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/new-claude-code-retry-watchdog-scope-env-var-narrows-the-ret","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/new-claude-code-retry-watchdog-scope-env-var-narrows-the-ret.json"},{"anchor":"model-alias-resolver-accepts-fable-and-drops-the-firstpart","heading":"Short model names work beyond Anthropic&#039;s own API, and fable is recognised","glance":"Short model names such as opus and sonnet are no longer limited to Anthropic's own API, and fable is now recognised as one","teaser":null,"tier":"use","area":"Models","section":"What probably matters to you","position":1,"scope":"both","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/model-alias-resolver-accepts-fable-and-drops-the-firstpart","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/model-alias-resolver-accepts-fable-and-drops-the-firstpart.json"},{"anchor":"claude-test-progress-panel-added-tied-to-a-built-in-claude","heading":"Claude Test gains a progress panel in the terminal","glance":"The built-in Claude Test plugin gets a terminal panel showing test progress, a pane note tool, and new settings for its browser tooling","teaser":null,"tier":"notice","area":"Claude Test","section":"What probably matters to you","position":2,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/claude-test-progress-panel-added-tied-to-a-built-in-claude","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/claude-test-progress-panel-added-tied-to-a-built-in-claude.json"},{"anchor":"claude-api-now-scans-the-project-for-retiring-claude-models","heading":"\/claude-api can scan your project for retiring Claude models, behind flags","glance":"\/claude-api can search the project for deprecated or retired Claude model IDs, behind the tengu_cosmic_sketch flag, with a prompt section only for one test group","teaser":null,"tier":"soon","area":"Skills","section":"What probably matters to you","position":3,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/claude-api-now-scans-the-project-for-retiring-claude-models","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/claude-api-now-scans-the-project-for-retiring-claude-models.json"},{"anchor":"tool-server-settings-accept-connectorid","heading":"MCP server settings gain connectorId and keep the configured command","glance":"MCP server settings accept a new connectorId field, stdio servers keep their original configuredCommand, and mcp_call refuses some servers' tools","teaser":null,"tier":"use","area":"MCP","section":"What probably matters to you","position":4,"scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/tool-server-settings-accept-connectorid","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/tool-server-settings-accept-connectorid.json"},{"anchor":"artifact-mcp-laptop-publish-row-comment-watch-note-and-lapt","heading":"Artifact comments can wake a session, and reading them can need your approval","glance":"A session can now be messaged when someone comments on its artifact, and reading those comments can first need your approval","teaser":null,"tier":"notice","area":"Artifacts","section":"What probably matters to you","position":5,"scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/artifact-mcp-laptop-publish-row-comment-watch-note-and-lapt","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/artifact-mcp-laptop-publish-row-comment-watch-note-and-lapt.json"},{"anchor":"artifact-ask-first-elicitation-form-before-creating-slidesd","heading":"Claude can ask you a few questions before building slides or a design","glance":"With CLAUDE_CODE_ARTIFACT_ASK_FIRST set, Claude asks a few questions in a form before creating a slides or design artifact","teaser":null,"tier":"notice","area":"Artifacts","section":"What probably matters to you","position":6,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/artifact-ask-first-elicitation-form-before-creating-slidesd","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/artifact-ask-first-elicitation-form-before-creating-slidesd.json"},{"anchor":"artifact-route-can-now-resolve-to-artifacts-mcp","heading":"claude.ai artifacts can now be reached through an MCP server","glance":"Claude Code now has a second route for claude.ai artifacts, through an MCP server, beside the built-in Artifact tools","teaser":null,"tier":"notice","area":"Artifacts","section":"What probably matters to you","position":7,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/artifact-route-can-now-resolve-to-artifacts-mcp","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/artifact-route-can-now-resolve-to-artifacts-mcp.json"},{"anchor":"orphan-background-agent-restore-logic-gated-by-tengu-wondrou","heading":"Resuming subagents: incremental transcript fetch and restoring orphaned background agents","glance":"Subagent transcripts can be fetched incrementally against the local copy, and new switch-gated code finds launched background agents to restore on resume","teaser":null,"tier":"soon","area":"Sessions","section":"What probably matters to you","position":8,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/orphan-background-agent-restore-logic-gated-by-tengu-wondrou","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/orphan-background-agent-restore-logic-gated-by-tengu-wondrou.json"},{"anchor":"project-docs-sent-as-text-in-context-new-gated","heading":"Project documents can be sent as text, and project_write checks a document was seen before replacing it","glance":"Project documents can be sent to Claude as plain text, and project_write refuses to replace a document whose current text Claude has not seen","teaser":null,"tier":"soon","area":"Project Documents","section":"What probably matters to you","position":9,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/project-docs-sent-as-text-in-context-new-gated","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/project-docs-sent-as-text-in-context-new-gated.json"},{"anchor":"claude-code-model-catalog-project-settings-may-only-turn-it","heading":"A project&#039;s settings can only turn CLAUDE_CODE_MODEL_CATALOG off","glance":"Project settings files may set CLAUDE_CODE_MODEL_CATALOG only to \"off\"; any other value is ignored with a warning","teaser":null,"tier":"use","area":"Models","section":"What probably matters to you","position":11,"scope":"both","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/claude-code-model-catalog-project-settings-may-only-turn-it","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/claude-code-model-catalog-project-settings-may-only-turn-it.json"},{"anchor":"gh-stand-in-accepts-a-standalone-proxy-port-token-and-any","heading":"Governed git tools: gh guard and a standalone proxy mode","glance":"In proxied sessions, the built-in gh now refuses to run outside the session's proxy, and a new standalone-proxy mode sets up git and gh","teaser":null,"tier":"use","area":"Git","section":"What probably matters to you","position":12,"scope":"both","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/gh-stand-in-accepts-a-standalone-proxy-port-token-and-any","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/gh-stand-in-accepts-a-standalone-proxy-port-token-and-any.json"},{"anchor":"projects-status-nudge-critical-system-reminder-after-silenc","heading":"Projects sessions can remind Claude to report status after a long silence","glance":"In Projects sessions, Claude can now receive an urgent reminder after it has stayed silent for a set number of seconds","teaser":null,"tier":"notice","area":"Projects","section":"What probably matters to you","position":13,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/projects-status-nudge-critical-system-reminder-after-silenc","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/projects-status-nudge-critical-system-reminder-after-silenc.json"},{"anchor":"vertex-default-model-fallback-gains-document-driven-targets","heading":"Vertex and Bedrock default models can come from a published model document","glance":"On Vertex and Bedrock, default models can now come from a published document per tier, falling back to models mapped in `modelOverrides`","teaser":null,"tier":"notice","area":"Models","section":"What probably matters to you","position":14,"scope":"org","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/vertex-default-model-fallback-gains-document-driven-targets","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/vertex-default-model-fallback-gains-document-driven-targets.json"},{"anchor":"new-goals-attachment-type-is-registered-with-an-empty-hand","heading":"Groundwork for goals in the conversation, with nothing shown yet","glance":"Claude Code now recognises a goals type of attached context, but turns it into nothing, so nothing changes for you yet","teaser":null,"tier":"soon","area":"Goals","section":"What probably matters to you","position":15,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/new-goals-attachment-type-is-registered-with-an-empty-hand","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/new-goals-attachment-type-is-registered-with-an-empty-hand.json"},{"anchor":"agent-transcript-verification-on-demand","heading":"Helper agent transcripts can be fetched and checked before use","glance":"Claude Code can now require that a helper agent's transcript not written on this machine is downloaded and verified before it is loaded","teaser":null,"tier":"internal","area":"Subagents","section":"What probably matters to you","position":16,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/agent-transcript-verification-on-demand","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/agent-transcript-verification-on-demand.json"},{"anchor":"mcp-tool-names-translated-to-a-standard-key-behind-tengu-m","heading":"MCP tool names can be translated to a new standard form","glance":"Behind a remote switch, Claude Code can rewrite MCP tool names to a standard form in what it sends and receives, and remembers old names","teaser":null,"tier":"internal","area":"MCP","section":"What probably matters to you","position":17,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/mcp-tool-names-translated-to-a-standard-key-behind-tengu-m","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/mcp-tool-names-translated-to-a-standard-key-behind-tengu-m.json"},{"anchor":"project-docs-pre-read-injected-as-synthetic-project-read-too","heading":"Project docs can reach Claude as reads already done before its first reply","glance":"Claude Code can hand Claude a project's docs before its first reply, presented as file reads with a note saying Claude did not make them","teaser":null,"tier":"internal","area":"Project Documents","section":"What probably matters to you","position":18,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/project-docs-pre-read-injected-as-synthetic-project-read-too","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/project-docs-pre-read-injected-as-synthetic-project-read-too.json"},{"anchor":"folder-trust-message-for-sessions-needing-device-limiting","heading":"New message when a session must limit itself to trusted devices to use a folder","glance":"A new message says a session has to agree to limit itself to your trusted devices before it can use a folder on your computer","teaser":null,"tier":"notice","area":"Cloud Sessions","section":"What probably matters to you","position":19,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/folder-trust-message-for-sessions-needing-device-limiting","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/folder-trust-message-for-sessions-needing-device-limiting.json"},{"anchor":"repository-trust-session-elevation-tool-errors-recognised","heading":"Claude Code now recognises errors about repository trust and session elevation","glance":"Claude Code can now recognise tool errors saying a repository must be trusted or that a session has not been granted extra permissions","teaser":null,"tier":"internal","area":"Permissions","section":"What probably matters to you","position":21,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/repository-trust-session-elevation-tool-errors-recognised","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/repository-trust-session-elevation-tool-errors-recognised.json"},{"anchor":"attachment-folding-round-host-tool-call-insertion","heading":"Conversation tidying can now insert a notice and a stand-in tool call for a round host","glance":"Before sending the conversation to the model, Claude Code can now insert a notice plus a stand-in tool call and its result for a round host","teaser":null,"tier":"internal","area":"Context Window","section":"What probably matters to you","position":22,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/attachment-folding-round-host-tool-call-insertion","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/attachment-folding-round-host-tool-call-insertion.json"},{"anchor":"windows-nankeen-kestrel-gate-now-remembers-it-has-been-on","heading":"Windows strict sandbox: clear refusal messages and a switch that remembers it was on","glance":"On Windows, strict sandbox mode now explains why a command was refused, and the CLAUDE_CODE_NANKEEN_KESTREL switch remembers it was on","teaser":null,"tier":"use","area":"Windows","section":"What probably matters to you","position":23,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/windows-nankeen-kestrel-gate-now-remembers-it-has-been-on","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/windows-nankeen-kestrel-gate-now-remembers-it-has-been-on.json"},{"anchor":"artifact-type-flag-tengu-cobalt-plinth-larch-has-its-fallbac","heading":"Artifact type catalog now defaults on","glance":"tengu_cobalt_plinth_larch now falls back to on for the artifact type catalog and artifact types, so they are on unless the server or an env var says otherwise","teaser":null,"tier":"notice","area":"Artifacts","section":"Improvements","position":0,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/artifact-type-flag-tengu-cobalt-plinth-larch-has-its-fallbac","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/artifact-type-flag-tengu-cobalt-plinth-larch-has-its-fallbac.json"},{"anchor":"claude-api-adds-an-onboarding-from-a-url-unavailable-noti","heading":"\/claude-api explains when onboarding from a URL is unavailable, and bundles more reference files","glance":"If \/claude-api cannot save its reference files, it now says onboarding from a URL is unavailable, and it ships more reference documents","teaser":null,"tier":"notice","area":"Skills","section":"Improvements","position":1,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/claude-api-adds-an-onboarding-from-a-url-unavailable-noti","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/claude-api-adds-an-onboarding-from-a-url-unavailable-noti.json"},{"anchor":"powershell-hooks-statements-that-are-only-strings-now-exit","heading":"PowerShell hooks made only of quoted strings get a clear outcome","glance":"PowerShell hooks whose command is only quoted text now exit with a no-verdict code, and the Git Bash error explains exit code 127","teaser":null,"tier":"notice","area":"Hooks","section":"Improvements","position":2,"scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/powershell-hooks-statements-that-are-only-strings-now-exit","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/powershell-hooks-statements-that-are-only-strings-now-exit.json"},{"anchor":"appifact-sdk-js-repl-permission-rule-check-shared-across-t","heading":"A deny or ask rule for one code-running tool can now also apply to a second tool","glance":"Permission rules that deny or ask before the artifact REPL tool runs code now also match a second tool name","teaser":null,"tier":"notice","area":"Permissions","section":"Improvements","position":3,"scope":"both","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/appifact-sdk-js-repl-permission-rule-check-shared-across-t","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/appifact-sdk-js-repl-permission-rule-check-shared-across-t.json"},{"anchor":"new-growthbook-gated-write-block-on-an-unreadable-gitworkt","heading":"Sandbox gains a remotely switched write block for an unlistable .git\/worktrees folder","glance":"The sandbox can now block writes when a git worktrees folder cannot be listed, controlled by a remote switch that can change without a new release","teaser":null,"tier":"notice","area":"Sandbox","section":"Improvements","position":4,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/new-growthbook-gated-write-block-on-an-unreadable-gitworkt","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/new-growthbook-gated-write-block-on-an-unreadable-gitworkt.json"},{"anchor":"path-reads-unresolvable-paths-treated-as-possible-devicepr","heading":"File reading refuses paths that may be device or process files","glance":"Claude Code now refuses to read paths that name a device or process file, or that it cannot resolve well enough to rule that out","teaser":null,"tier":"notice","area":"File Reading","section":"Improvements","position":5,"scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/path-reads-unresolvable-paths-treated-as-possible-devicepr","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/path-reads-unresolvable-paths-treated-as-possible-devicepr.json"},{"anchor":"read-follows-symlinks-and-upload-rules-reworked","heading":"File upload rules reworked, with symlinks followed and resolved paths named","glance":"The rules for uploading project files were reworked: reads follow symlinks, uploads name resolved paths, and one tool can suggest an allow rule","teaser":null,"tier":"notice","area":"File Reading","section":"Improvements","position":6,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/read-follows-symlinks-and-upload-rules-reworked","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/read-follows-symlinks-and-upload-rules-reworked.json"},{"anchor":"sdk-message-adapter-now-drops-every-tool-progress-frame","heading":"Remote and SDK message handling now ignores every tool progress update","glance":"All tool progress updates are now dropped in the remote and SDK message handler, not only heartbeats and retries","teaser":null,"tier":"notice","area":"SDK","section":"Improvements","position":7,"scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/sdk-message-adapter-now-drops-every-tool-progress-frame","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/sdk-message-adapter-now-drops-every-tool-progress-frame.json"},{"anchor":"highlights-unavailability-messages-drop-the-provider-check","heading":"Highlights no longer reports your provider as a reason it is unavailable","glance":"The provider check was removed from the reasons Highlights can give for being unavailable","teaser":null,"tier":"notice","area":"Highlights","section":"Improvements","position":8,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/highlights-unavailability-messages-drop-the-provider-check","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/highlights-unavailability-messages-drop-the-provider-check.json"},{"anchor":"oversized-editwrite-diff-previews-now-show-a-warning-instea","heading":"Edit and write approvals warn you when a change was too large to preview","glance":"If Claude Code cannot compute an edit or write preview in time, the approval dialog now says so and advises denying unless you expected it","teaser":null,"tier":"notice","area":"Permissions","section":"Improvements","position":9,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/oversized-editwrite-diff-previews-now-show-a-warning-instea","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/oversized-editwrite-diff-previews-now-show-a-warning-instea.json"},{"anchor":"survey-and-design-question-inputs-gain-a-refuse-input-guard","heading":"Survey questions ignore keypresses just after they appear","glance":"Organization survey questions now ignore input for a short moment after appearing, and Settings footer hints can be shorter","teaser":null,"tier":"notice","area":"Elsewhere","section":"Improvements","position":10,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/survey-and-design-question-inputs-gain-a-refuse-input-guard","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/survey-and-design-question-inputs-gain-a-refuse-input-guard.json"},{"anchor":"artifact-publish-refuses-capabilities-not-approved-in-this-p","heading":"Publishing an artifact stops if its capabilities were not approved in this session","glance":"Artifact publishing now refuses capabilities that cannot be confirmed as approved in the current Claude Code process","teaser":null,"tier":"notice","area":"Artifacts","section":"Improvements","position":11,"scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/artifact-publish-refuses-capabilities-not-approved-in-this-p","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/artifact-publish-refuses-capabilities-not-approved-in-this-p.json"},{"anchor":"sandbox-failure-message-strips-a-new-prefix","heading":"Cleaner wording when the sandbox cannot start","glance":"The 'Sandbox cannot run' message now drops a leading 'cannot start here:' from its reason, so the explanation reads more cleanly","teaser":null,"tier":"notice","area":"Sandbox","section":"Improvements","position":12,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/sandbox-failure-message-strips-a-new-prefix","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/sandbox-failure-message-strips-a-new-prefix.json"},{"anchor":"anthropic-base-url-host-helper-ignores-the-variable-in-some","heading":"Custom API host from ANTHROPIC_BASE_URL is ignored in some modes","glance":"The check that picks out a custom host from `ANTHROPIC_BASE_URL` now reads the variable directly and returns nothing in some modes","teaser":null,"tier":"notice","area":"API Providers","section":"Improvements","position":13,"scope":"both","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/anthropic-base-url-host-helper-ignores-the-variable-in-some","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/anthropic-base-url-host-helper-ignores-the-variable-in-some.json"},{"anchor":"cloud-session-pane-gets-a-header-and-a-monitor-hint-for-sug","heading":"Cloud session title, and a short plain-text mention for plugin suggestions","glance":"A 'Cloud session' title can now appear above a pane, and Claude is told to name a suggested plugin in one short sentence","teaser":null,"tier":"notice","area":"Cloud Sessions","section":"Improvements","position":14,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/cloud-session-pane-gets-a-header-and-a-monitor-hint-for-sug","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/cloud-session-pane-gets-a-header-and-a-monitor-hint-for-sug.json"},{"anchor":"teleport-now-previews-unpushedstale-git-state-and-asks-bef","heading":"\/teleport now asks before moving a session with local work to the cloud","glance":"Moving a session to the cloud with uncommitted or unpushed work no longer fails: `\/teleport` lists what stays behind and asks you to confirm","teaser":null,"tier":"notice","area":"Teleport","section":"Improvements","position":15,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/teleport-now-previews-unpushedstale-git-state-and-asks-bef","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/teleport-now-previews-unpushedstale-git-state-and-asks-bef.json"},{"anchor":"runner-reports-capabilities-at-registration-context-repos-p","heading":"Self-hosted runners report what they can do, and prepare repositories in parallel","glance":"Self-hosted runners now send and log a list of capabilities when they register, and can prepare repositories at the same time","teaser":null,"tier":"notice","area":"Self-Hosted Runners","section":"Improvements","position":16,"scope":"org","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/runner-reports-capabilities-at-registration-context-repos-p","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/runner-reports-capabilities-at-registration-context-repos-p.json"},{"anchor":"artifact-tool-errors-and-prompts-now-cover-the-artifacts-mcp","heading":"Clearer guidance when claude.ai artifacts are read through an MCP server","glance":"Claude now gets guidance for reading claude.ai artifact links through an MCP server, and clearer messages when those tools change","teaser":null,"tier":"notice","area":"Artifacts","section":"Improvements","position":17,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/artifact-tool-errors-and-prompts-now-cover-the-artifacts-mcp","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/artifact-tool-errors-and-prompts-now-cover-the-artifacts-mcp.json"},{"anchor":"early-warning-rate-limit-headers-now-carry-per-window-status","heading":"Usage limits now track a status for each time window","glance":"Claude Code now records a status for the five-hour and seven-day usage limits: allowed, allowed with a warning, or rejected","teaser":null,"tier":"notice","area":"Usage & Limits","section":"Improvements","position":18,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/early-warning-rate-limit-headers-now-carry-per-window-status","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/early-warning-rate-limit-headers-now-carry-per-window-status.json"},{"anchor":"model-override-handling-skips-entries-that-have-a-documentta","heading":"Default models for sonnet, opus and haiku can come from a server document","glance":"The default model behind each family alias can now come from a document, with modelOverrides and Bedrock and Vertex checks adjusted to match","teaser":null,"tier":"notice","area":"Models","section":"Improvements","position":19,"scope":"both","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/model-override-handling-skips-entries-that-have-a-documentta","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/model-override-handling-skips-entries-that-have-a-documentta.json"},{"anchor":"git-subprocess-env-scrubbing-now-also-strips-git-template-di","heading":"Git commands no longer inherit GIT_TEMPLATE_DIR or ARGV0 in some cases","glance":"Claude Code now also removes `GIT_TEMPLATE_DIR` and `ARGV0` from the environment it hands to git, under a specific condition","teaser":null,"tier":"notice","area":"Git","section":"Improvements","position":20,"scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/git-subprocess-env-scrubbing-now-also-strips-git-template-di","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/git-subprocess-env-scrubbing-now-also-strips-git-template-di.json"},{"anchor":"bash-permission-check-for-colon-separated-prefixes-changed","heading":"Bash permission check for commands with a colon-separated prefix changed","glance":"Claude Code changed how it checks a Bash command that starts with a colon-separated prefix when deciding whether to allow it","teaser":null,"tier":"notice","area":"Permissions","section":"Improvements","position":21,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/bash-permission-check-for-colon-separated-prefixes-changed","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/bash-permission-check-for-colon-separated-prefixes-changed.json"},{"anchor":"remote-setup-status-text-restored-from-snapshot","heading":"Cloud setup progress now says &quot;Restored from snapshot&quot;","glance":"Cloud session setup progress now shows \"Restored from snapshot\" instead of \"Restored saved setup\"","teaser":null,"tier":"notice","area":"Cloud Sessions","section":"Improvements","position":22,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/remote-setup-status-text-restored-from-snapshot","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/remote-setup-status-text-restored-from-snapshot.json"},{"anchor":"bash-sandbox-policy-refusal-check-added-before-the-sleep-blo","heading":"Monitor replaces sleep for waiting, and follows sandbox and permission rules","glance":"Bash now steers Claude from sleep to the Monitor tool, and both Bash and Monitor refuse commands the sandbox policy forbids","teaser":null,"tier":"notice","area":"Sandbox","section":"Improvements","position":24,"scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/bash-sandbox-policy-refusal-check-added-before-the-sleep-blo","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/bash-sandbox-policy-refusal-check-added-before-the-sleep-blo.json"},{"anchor":"artifacts-mcp-server-detection-widened","heading":"Artifacts MCP server checks cover a runner-hosted setup and gate comment reading","glance":"Claude Code recognises a second, runner-hosted Artifacts MCP setup, extends its guards to it, checks comment reads per artifact, and marks refused servers not connected","teaser":null,"tier":"notice","area":"Artifacts","section":"Improvements","position":25,"scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/artifacts-mcp-server-detection-widened","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/artifacts-mcp-server-detection-widened.json"},{"anchor":"github-proxy-tls-failure-message","heading":"Managed GitHub access through a session proxy: standalone proxy support and a failure message","glance":"Managed git and gh access can now go through a standalone proxy URL, and a new message tells Claude not to bypass TLS checks when setup fails","teaser":null,"tier":"notice","area":"Git","section":"Improvements","position":26,"scope":"both","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/github-proxy-tls-failure-message","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/github-proxy-tls-failure-message.json"},{"anchor":"bash-permission-prompt-gets-a-compact-run-command-layout-w","heading":"Shorter permission prompt for shell commands when the command fits on screen","glance":"When a shell command fits, its permission prompt is now titled \"Run command\" and drops the \"Do you want to proceed?\" line","teaser":null,"tier":"notice","area":"Permissions","section":"Improvements","position":27,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/bash-permission-prompt-gets-a-compact-run-command-layout-w","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/bash-permission-prompt-gets-a-compact-run-command-layout-w.json"},{"anchor":"mcp-allowdeny-matching-also-checks-a-second-expansion-of-th","heading":"MCP server allow and deny lists check a second form of the server address","glance":"For some kinds of configuration, the allow and deny lists for MCP servers now match against a second worked-out form of the command or URL","teaser":null,"tier":"notice","area":"MCP","section":"Improvements","position":28,"scope":"org","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/mcp-allowdeny-matching-also-checks-a-second-expansion-of-th","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.310\/e\/mcp-allowdeny-matching-also-checks-a-second-expansion-of-th.json"}],"facets":{"sections":[{"value":"What probably matters to you","entries":22},{"value":"Improvements","entries":112},{"value":"Bug Fixes","entries":9},{"value":"In Development","entries":4},{"value":"Internal Changes","entries":94},{"value":"Removed","entries":1}],"tiers":[{"value":"notice","entries":128},{"value":"internal","entries":100},{"value":"soon","entries":8},{"value":"use","entries":6}],"areas":[{"value":"Artifacts","entries":21},{"value":"Elsewhere","entries":21},{"value":"MCP","entries":21},{"value":"Permissions","entries":18},{"value":"Sessions","entries":13},{"value":"Telemetry","entries":11},{"value":"Sandbox","entries":10},{"value":"Cloud Sessions","entries":9},{"value":"Models","entries":9},{"value":"Plugins","entries":7},{"value":"Self-Hosted Runners","entries":7},{"value":"Git","entries":6},{"value":"Internals","entries":6},{"value":"Skills","entries":6},{"value":"Terminal UI","entries":6},{"value":"Context Window","entries":5},{"value":"File Reading","entries":5},{"value":"File Safety","entries":4},{"value":"Headless Mode","entries":4},{"value":"Project Documents","entries":4},{"value":"Terminal Images","entries":4},{"value":"API Providers","entries":3},{"value":"Compaction","entries":3},{"value":"Hooks","entries":3},{"value":"SDK","entries":3},{"value":"Subagents","entries":3},{"value":"System Prompt","entries":3},{"value":"Usage & Limits","entries":3},{"value":"Workflows","entries":3},{"value":"Bash","entries":2},{"value":"Claude Test","entries":2},{"value":"Connectors","entries":2},{"value":"Goals","entries":2},{"value":"Highlights","entries":2},{"value":"Projects","entries":2},{"value":"Auth","entries":1},{"value":"Certificates","entries":1},{"value":"Cloud Browser","entries":1},{"value":"Desktop","entries":1},{"value":"Memory","entries":1},{"value":"Remote Control","entries":1},{"value":"Retries","entries":1},{"value":"Teleport","entries":1},{"value":"Windows","entries":1}]}}