{"version":"2.1.312","summary":"You can now set `oidc.user_id_claim` to choose which sign-in token field holds the user ID for the OIDC gateway. It defaults to `sub`. Among the other shipped changes, the prompt asking whether Claude may use a skill now shows the skill's description in a scrollable box. Usage messages now call your short-term limit the \"5-hour limit\". Programs that embed Claude Code can now mark a question as skipped, answered in chat or dismissed with the `ask_user_question_unanswered_v1` capability. Remote control can now ask a session to start a shell command in the background, and the usual permission checks still apply.\n\nSeveral features are in this build but are not switched on yet. Cloud sessions can enforce a policy on model and effort changes, but only when a worker policy is set to enforce. Auto mode gains a remote list that can turn off its extra safety checks. A tip about Claude Design shows only if a flag is switched on from Anthropic's servers. A note telling Claude that staged files are still being copied is also off by default.\n\nAmong the fixes, agent calls cut off by a container restart now resume, or Claude is told plainly why they cannot. Skills supplied by MCP servers can no longer be run through the Skill tool and now return an \"Unknown skill\" error. Plan mode is read-only again because its workshop and prototype offers are removed. Signed policy documents are no longer rejected for being older than one already accepted. Mantle is gone from the built-in list of model providers.","filter":{"section":null,"tier":null,"area":null},"offset":0,"limit":50,"count":50,"total":265,"next_offset":50,"next_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/entries.json?offset=50","entries":[{"anchor":"mcp-skill-ask-is-now-held-for-a-person-in-the-held-calls-gat","heading":"Loading an MCP skill can wait for a person to answer the permission prompt","glance":"When loading an MCP skill needs permission, Claude Code can now hold the request until a person answers it","teaser":null,"tier":"use","area":"MCP","section":"What probably matters to you","position":0,"scope":"both","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/mcp-skill-ask-is-now-held-for-a-person-in-the-held-calls-gat","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/mcp-skill-ask-is-now-held-for-a-person-in-the-held-calls-gat.json"},{"anchor":"askuserquestion-answers-can-carry-unanswered-annotations","heading":"AskUserQuestion: questions must stand alone, and unanswered questions can be marked","glance":"AskUserQuestion's instructions now say the user may see only the question dialog, and hosts can mark a question skipped, replied in chat or dismissed","teaser":null,"tier":"use","area":"SDK","section":"What probably matters to you","position":1,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/askuserquestion-answers-can-carry-unanswered-annotations","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/askuserquestion-answers-can-carry-unanswered-annotations.json"},{"anchor":"oidc-proxy-gains-oidcuser-id-claim","heading":"The OIDC gateway can take the user ID from a claim other than <code>sub<\/code>","glance":"A new `oidc.user_id_claim` setting picks which sign-in token field holds the user ID, defaulting to `sub`","teaser":null,"tier":"use","area":"Gateway","section":"What probably matters to you","position":2,"scope":"org","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/oidc-proxy-gains-oidcuser-id-claim","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/oidc-proxy-gains-oidcuser-id-claim.json"},{"anchor":"remote-control-qr-screen-x-key-disconnects-other-keys-ca","heading":"Press x on the Remote Control screen to disconnect","glance":"On the Remote Control QR code screen, pressing x starts a disconnect and pressing any other key cancels it","teaser":null,"tier":"use","area":"Remote Control","section":"What probably matters to you","position":3,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/remote-control-qr-screen-x-key-disconnects-other-keys-ca","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/remote-control-qr-screen-x-key-disconnects-other-keys-ca.json"},{"anchor":"queued-message-hint-can-be-clicked-to-send-now","heading":"Queued messages can be clicked to send them now","glance":"A queued message can now show a send-now hint, and in the fullscreen display you can click it to send the message straight away","teaser":null,"tier":"use","area":"Message Queue","section":"What probably matters to you","position":4,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/queued-message-hint-can-be-clicked-to-send-now","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/queued-message-hint-can-be-clicked-to-send-now.json"},{"anchor":"remote-control-tool-host-status-rows-long-running-lines-and","heading":"Remote Control shows helper status and lets you disconnect with x","glance":"Remote Control now shows a status line per helper and a long-running row, and pressing x twice disconnects cloud sessions from your folder","teaser":null,"tier":"use","area":"Remote Control","section":"What probably matters to you","position":5,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/remote-control-tool-host-status-rows-long-running-lines-and","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/remote-control-tool-host-status-rows-long-running-lines-and.json"},{"anchor":"skill-permission-prompt-rewritten-with-description-scrolling","heading":"A new approval prompt for skills, with a scrollable description","glance":"The prompt asking whether Claude may use a skill now shows its description in a scrollable box and says when the terminal is too small to approve","teaser":null,"tier":"notice","area":"Skills","section":"What probably matters to you","position":6,"scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/skill-permission-prompt-rewritten-with-description-scrolling","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/skill-permission-prompt-rewritten-with-description-scrolling.json"},{"anchor":"new-start-shell-task-remote-request-runs-a-background-bash-c","heading":"Remote callers can start background shell tasks with start_shell_task","glance":"A new start_shell_task remote request runs a background Bash command in a session through the normal permission checks; cloud-hosted sessions reject it","teaser":null,"tier":"notice","area":"Remote Control","section":"What probably matters to you","position":7,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/new-start-shell-task-remote-request-runs-a-background-bash-c","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/new-start-shell-task-remote-request-runs-a-background-bash-c.json"},{"anchor":"workflow-agents-get-an-opt-in-handback-tool-with-review-and","heading":"Workflow agents hand back their report through a tool, and the report can be reviewed","glance":"Workflow agents can return their final report through a handback tool, and that output is reviewed beyond auto mode when report review is set","teaser":null,"tier":"notice","area":"Workflows","section":"What probably matters to you","position":9,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/workflow-agents-get-an-opt-in-handback-tool-with-review-and","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/workflow-agents-get-an-opt-in-handback-tool-with-review-and.json"},{"anchor":"system-prompt-builder-reworked-into-factsdecisionsrecord-w","heading":"The system prompt is now assembled in a new way, with no visible text change from it","glance":"Claude Code rebuilt how it assembles its system prompt and can record each section's choice, but the prompt text itself is unchanged by it","teaser":null,"tier":"internal","area":"System Prompt","section":"What probably matters to you","position":10,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/system-prompt-builder-reworked-into-factsdecisionsrecord-w","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/system-prompt-builder-reworked-into-factsdecisionsrecord-w.json"},{"anchor":"effort-command-accepts-more-default-values","heading":"\/effort handles &#039;default&#039; and &#039;auto&#039; better and tracks the effort sent","glance":"\/effort now reads 'default' and 'auto' from what you typed, its auto keyword comes from a helper, and sessions record the effort sent each turn","teaser":null,"tier":"use","area":"Effort","section":"What probably matters to you","position":11,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/effort-command-accepts-more-default-values","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/effort-command-accepts-more-default-values.json"},{"anchor":"agent-view-model-matching-fix-scroll-speed-ui-rework","heading":"<code>\/model<\/code> in agent view picks an exact name before a partial match","glance":"In agent view, `\/model` now matches an exact model name first, ignoring case, before falling back to a unique partial match","teaser":null,"tier":"use","area":"Agent View","section":"What probably matters to you","position":12,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/agent-view-model-matching-fix-scroll-speed-ui-rework","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/agent-view-model-matching-fix-scroll-speed-ui-rework.json"},{"anchor":"ctrl-d-in-empty-bash-mode-returns-to-prompt-mode","heading":"Ctrl-D in an empty bash mode prompt switches back to normal input","glance":"Pressing Ctrl-D while in bash mode with nothing typed now returns the input box to normal prompt mode","teaser":null,"tier":"use","area":"Bash Mode","section":"What probably matters to you","position":13,"scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/ctrl-d-in-empty-bash-mode-returns-to-prompt-mode","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/ctrl-d-in-empty-bash-mode-returns-to-prompt-mode.json"},{"anchor":"claude-in-slackteams-sessions-are-excluded-from-server-mana","heading":"Claude in Slack and Teams sessions skip server-managed settings","glance":"Sessions run by Claude in Slack or Teams now skip server-managed settings, marked by a new `claude_tag` reason; policy limits are decided separately","teaser":null,"tier":"notice","area":"Managed Settings","section":"What probably matters to you","position":14,"scope":"org","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/claude-in-slackteams-sessions-are-excluded-from-server-mana","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/claude-in-slackteams-sessions-are-excluded-from-server-mana.json"},{"anchor":"privacy-settings-dialog-can-be-locked-by-claude-science","heading":"Data-sharing setting can be locked for Claude Science accounts","glance":"The privacy dialog and the consumer terms dialog can now lock the data-sharing (Grove) choice for Claude Science accounts, showing it as not available","teaser":null,"tier":"notice","area":"Privacy","section":"What probably matters to you","position":15,"scope":"org","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/privacy-settings-dialog-can-be-locked-by-claude-science","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/privacy-settings-dialog-can-be-locked-by-claude-science.json"},{"anchor":"chart-tool-not-registered-when-a-proxy-is-set","heading":"Chart tool is not available when a network proxy is set","glance":"Claude Code no longer offers its chart tool when a network proxy is configured","teaser":null,"tier":"soon","area":"Charts","section":"What probably matters to you","position":16,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/chart-tool-not-registered-when-a-proxy-is-set","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/chart-tool-not-registered-when-a-proxy-is-set.json"},{"anchor":"cloud-session-worker-attestation-of-modeleffort-changes","heading":"Cloud sessions can enforce a policy on model and effort changes","glance":"Cloud sessions gain handling for model and effort change requests that only takes effect when a worker policy is set to enforce","teaser":null,"tier":"soon","area":"Cloud Sessions","section":"What probably matters to you","position":17,"scope":"org","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/cloud-session-worker-attestation-of-modeleffort-changes","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/cloud-session-worker-attestation-of-modeleffort-changes.json"},{"anchor":"tips-content-link-table-and-gated-claude-design-tip","heading":"Startup tips can now take their text from a content-link table","glance":"Several startup tips, including the \/memory tip, now read their text through a content-link table, and the Claude Design tip sits behind a flag","teaser":null,"tier":"soon","area":"Tips","section":"What probably matters to you","position":18,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/tips-content-link-table-and-gated-claude-design-tip","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/tips-content-link-table-and-gated-claude-design-tip.json"},{"anchor":"lean-prompt-model-check-made-deterministic-claude-mythos-5","heading":"<code>claude-mythos-5<\/code> is no longer automatically excluded from the lean prompt","glance":"Claude Code no longer rules out the lean prompt for `claude-mythos-5` up front and now checks it by model name like other models","teaser":null,"tier":"internal","area":"System Prompt","section":"What probably matters to you","position":19,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/lean-prompt-model-check-made-deterministic-claude-mythos-5","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/lean-prompt-model-check-made-deterministic-claude-mythos-5.json"},{"anchor":"agent-protocol-schema-gains-new-client-and-agent-entries","heading":"Groundwork for consent and resume handling between connected agents","glance":"Claude Code's internal agent messaging format gained fields for refused messages, replies awaiting consent and resume position","teaser":null,"tier":"internal","area":"Multi-Agent","section":"What probably matters to you","position":20,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/agent-protocol-schema-gains-new-client-and-agent-entries","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/agent-protocol-schema-gains-new-client-and-agent-entries.json"},{"anchor":"permissions-settings-schema-gains-disableautomode","heading":"<code>disableAutoMode<\/code> is now listed directly among the permissions settings","glance":"The permissions settings now list `disableAutoMode` directly, with the value \"disable\" and the description \"Disable auto mode\"","teaser":null,"tier":"use","area":"Permissions","section":"What probably matters to you","position":21,"scope":"both","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/permissions-settings-schema-gains-disableautomode","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/permissions-settings-schema-gains-disableautomode.json"},{"anchor":"auto-mode-classifier-side-call-retirement-list-tengu-radian","heading":"Remote switches can turn off auto mode&#039;s extra safety checks and decide on rewritten calls","glance":"Auto mode gains a remote list that can switch off its extra safety checks, and a policy for verdicts on tool calls that were rewritten","teaser":null,"tier":"soon","area":"Auto Mode","section":"What probably matters to you","position":22,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/auto-mode-classifier-side-call-retirement-list-tengu-radian","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/auto-mode-classifier-side-call-retirement-list-tengu-radian.json"},{"anchor":"output-style-picker-gets-an-isredesign-flag","heading":"Output style picker prepares for a redesigned version","glance":"The output style picker now marks itself as the non-redesigned version, which suggests a redesigned picker is in progress","teaser":null,"tier":"internal","area":"Output Styles","section":"What probably matters to you","position":23,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/output-style-picker-gets-an-isredesign-flag","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/output-style-picker-gets-an-isredesign-flag.json"},{"anchor":"auto-mode-can-use-an-arbiter-server-check-outside-auto-mod","heading":"Server classifier input rewrites are honoured and recorded, with new no-server-check tracking","glance":"Permission checks now honour and record server classifier input rewrites, can use a server arbiter when auto mode is off, and track missing server checks","teaser":null,"tier":"internal","area":"Auto Mode","section":"What probably matters to you","position":24,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/auto-mode-can-use-an-arbiter-server-check-outside-auto-mod","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/auto-mode-can-use-an-arbiter-server-check-outside-auto-mod.json"},{"anchor":"apply-flag-settings-can-now-precede-claim-session-and-refuse","heading":"A spare session refuses claim_session when its flag settings were not applied","glance":"A pre-warmed spare process started with --await-claim now refuses claim_session if an apply_flag_settings is unanswered, refused or not in force","teaser":null,"tier":"notice","area":"SDK","section":"New Features","position":1,"scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/apply-flag-settings-can-now-precede-claim-session-and-refuse","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/apply-flag-settings-can-now-precede-claim-session-and-refuse.json"},{"anchor":"auto-mode-classifier-denial-text-for-hook-rewritten-tool-inp","heading":"Auto mode explains more clearly when a hook rewrites a tool call&#039;s input","glance":"When a hook changes a tool call after auto mode reviewed it, Claude can be shown the new input and told to reissue it, or to stop and tell you","teaser":null,"tier":"notice","area":"Auto Mode","section":"Improvements","position":0,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/auto-mode-classifier-denial-text-for-hook-rewritten-tool-inp","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/auto-mode-classifier-denial-text-for-hook-rewritten-tool-inp.json"},{"anchor":"org-config-gate-re-evaluates-settings-eligibility-when-the-s","heading":"Organization settings are checked again after you log in","glance":"If your organization's managed settings were judged unavailable before your latest login, Claude Code now checks again once","teaser":null,"tier":"notice","area":"Managed Settings","section":"Improvements","position":1,"scope":"org","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/org-config-gate-re-evaluates-settings-eligibility-when-the-s","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/org-config-gate-re-evaluates-settings-eligibility-when-the-s.json"},{"anchor":"feedback-draft-tool-counts-request-ids-and-turns-differently","heading":"Feedback drafts count Claude&#039;s replies more accurately","glance":"Feedback drafts Claude queues no longer include request ids from failed replies, and count replies without an id","teaser":null,"tier":"notice","area":"Elsewhere","section":"Improvements","position":2,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/feedback-draft-tool-counts-request-ids-and-turns-differently","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/feedback-draft-tool-counts-request-ids-and-turns-differently.json"},{"anchor":"auto-compact-window-env-override-no-longer-bypasses-the-ceil","heading":"<code>CLAUDE_CODE_AUTO_COMPACT_WINDOW<\/code> is now capped like other auto-compact settings","glance":"A window set with `CLAUDE_CODE_AUTO_COMPACT_WINDOW` above the configured ceiling is now reduced to that ceiling instead of used as is","teaser":null,"tier":"notice","area":"Compaction","section":"Improvements","position":3,"scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/auto-compact-window-env-override-no-longer-bypasses-the-ceil","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/auto-compact-window-env-override-no-longer-bypasses-the-ceil.json"},{"anchor":"session-limit-reset-wording-changed-to-5-hour-limit","heading":"Usage messages now say &quot;5-hour limit&quot; and describe a weekly reset option","glance":"Messages about your short-term usage limit now call it the \"5-hour limit\", and text appears for a once-a-week reset that uses your weekly limit","teaser":null,"tier":"notice","area":"Usage & Limits","section":"Improvements","position":4,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/session-limit-reset-wording-changed-to-5-hour-limit","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/session-limit-reset-wording-changed-to-5-hour-limit.json"},{"anchor":"artifact-publish-grant-adds-extra-tools","heading":"Artifact publishing: a wider tool grant and a stricter design-skill check","glance":"Granting artifact publishing now adds more tools, and publishing now requires the design skill specifically rather than either of two skills","teaser":null,"tier":"notice","area":"Artifacts","section":"Improvements","position":5,"scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/artifact-publish-grant-adds-extra-tools","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/artifact-publish-grant-adds-extra-tools.json"},{"anchor":"chat-send-now-keybinding-check","heading":"Send-now hint is hidden if you have bound the send-now key","glance":"A keyboard hint is no longer shown when you have set your own key for `chat:sendNow`","teaser":null,"tier":"notice","area":"Terminal UI","section":"Improvements","position":6,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/chat-send-now-keybinding-check","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/chat-send-now-keybinding-check.json"},{"anchor":"config-tool-schema-runtime-values-description-and-plugin-ho","heading":"Hook schema gains a required <code>sources<\/code> field, and Config tool wording changes","glance":"A schema that carries a `shell` value now also requires `sources`, and the Config tool says its live values reflect what the next message will use","teaser":null,"tier":"notice","area":"Elsewhere","section":"Improvements","position":7,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/config-tool-schema-runtime-values-description-and-plugin-ho","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/config-tool-schema-runtime-values-description-and-plugin-ho.json"},{"anchor":"workspace-trust-bypass-for-self-credentialed-fetchers","heading":"Some downloads no longer need you to trust the folder","glance":"Fetches that use their own login now count as trusted even when you have not trusted the folder Claude Code is running in","teaser":null,"tier":"notice","area":"Elsewhere","section":"Improvements","position":8,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/workspace-trust-bypass-for-self-credentialed-fetchers","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/workspace-trust-bypass-for-self-credentialed-fetchers.json"},{"anchor":"interrupted-tool-rendering-and-safety-check-denials-marked","heading":"Interrupted tool results and safety-check refusals are marked","glance":"One display path now marks tool results as interrupted, and refusals caused by safety checks are now labelled as such","teaser":null,"tier":"notice","area":"Permissions","section":"Improvements","position":9,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/interrupted-tool-rendering-and-safety-check-denials-marked","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/interrupted-tool-rendering-and-safety-check-denials-marked.json"},{"anchor":"remote-control-approval-details-for-mcp-skill-tools","heading":"Remote Control can name MCP skill approvals","glance":"Remote Control approval requests for MCP skills now carry a label with the skill's display name, or its tool name if it has none","teaser":null,"tier":"notice","area":"Remote Control","section":"Improvements","position":10,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/remote-control-approval-details-for-mcp-skill-tools","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/remote-control-approval-details-for-mcp-skill-tools.json"},{"anchor":"history-cleanup-also-removes-extra-files-and-uses-a-differen","heading":"Cleaning up old history files now removes more files","glance":"Claude Code's cleanup of old files now removes some files beyond `history.jsonl`, deleting them a different way","teaser":null,"tier":"notice","area":"Elsewhere","section":"Improvements","position":11,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/history-cleanup-also-removes-extra-files-and-uses-a-differen","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/history-cleanup-also-removes-extra-files-and-uses-a-differen.json"},{"anchor":"skill-review-card-message-for-non-user-skills","heading":"Claude is told to propose a new skill when the existing one is not yours","glance":"When a skill is not one of your own, Claude is now told the review card cannot update it and to propose a new skill instead","teaser":null,"tier":"notice","area":"Skills","section":"Improvements","position":12,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/skill-review-card-message-for-non-user-skills","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/skill-review-card-message-for-non-user-skills.json"},{"anchor":"remote-permission-requests-for-mcp-skills-are-not-shown-or-a","heading":"Remote sessions leave unanswerable prompts open and warn when a question is not shown","glance":"Remote sessions now ignore MCP skill permission requests they cannot answer and add a transcript warning when a question dialog is not shown","teaser":null,"tier":"notice","area":"Remote Control","section":"Improvements","position":13,"scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/remote-permission-requests-for-mcp-skills-are-not-shown-or-a","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/remote-permission-requests-for-mcp-skills-are-not-shown-or-a.json"},{"anchor":"dynamic-skill-dirs-outside-the-cwd-worktree-need-gitignore-c","heading":"Skill folders outside your working tree are loaded only after a gitignore check","glance":"Claude Code now skips skill folders outside the current working tree unless it confirms they are not ignored by git","teaser":null,"tier":"notice","area":"Skills","section":"Improvements","position":14,"scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/dynamic-skill-dirs-outside-the-cwd-worktree-need-gitignore-c","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/dynamic-skill-dirs-outside-the-cwd-worktree-need-gitignore-c.json"},{"anchor":"write-refuses-when-only-the-start-of-a-file-was-read","heading":"Write refuses to overwrite a file when only its start was read","glance":"Claude Code now remembers files that were read only partly, and Write refuses to overwrite them; Read of a large file adds a note to continue with offset","teaser":null,"tier":"notice","area":"File Tools","section":"Improvements","position":15,"scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/write-refuses-when-only-the-start-of-a-file-was-read","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/write-refuses-when-only-the-start-of-a-file-was-read.json"},{"anchor":"session-logs-fetch-can-refuse-redirects","heading":"Fetching session logs now reports failures as errors","glance":"Fetching session logs can now refuse redirects, and a failed fetch raises an error based on the response instead of returning nothing","teaser":null,"tier":"notice","area":"Elsewhere","section":"Improvements","position":16,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/session-logs-fetch-can-refuse-redirects","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/session-logs-fetch-can-refuse-redirects.json"},{"anchor":"fast-mode-disabled-messages-reworded","heading":"Fast mode messages about usage credits are reworded","glance":"The messages shown when fast mode turns off for lack of usage credits now say you are out of credits or they are not available","teaser":null,"tier":"notice","area":"Models","section":"Improvements","position":17,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/fast-mode-disabled-messages-reworded","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/fast-mode-disabled-messages-reworded.json"},{"anchor":"idle-release-for-control-only-served-sessions","heading":"Control-only served sessions now close themselves when idle","glance":"A session served in control-only mode now releases itself after a set idle time with no work","teaser":null,"tier":"notice","area":"Served Sessions","section":"Improvements","position":18,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/idle-release-for-control-only-served-sessions","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/idle-release-for-control-only-served-sessions.json"},{"anchor":"permission-asks-that-were-not-shown-now-fall-back-to-an-ask","heading":"Permission prompts that are not shown become an ask instead of cancelling","glance":"An unshown permission prompt can now resolve as an ask via `resultWhenNotShown` instead of cancelling, with related permission dialog changes","teaser":null,"tier":"notice","area":"Permissions","section":"Improvements","position":19,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/permission-asks-that-were-not-shown-now-fall-back-to-an-ask","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/permission-asks-that-were-not-shown-now-fall-back-to-an-ask.json"},{"anchor":"refusal-fallback-model-selection-adds-a-no-refusal-fallback","heading":"Two settings now decide whether a refusal can switch to a fallback model","glance":"Claude Code now offers no fallback model after a refusal when one setting is off or a second, opposing setting is on","teaser":null,"tier":"notice","area":"Elsewhere","section":"Improvements","position":20,"scope":"both","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/refusal-fallback-model-selection-adds-a-no-refusal-fallback","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/refusal-fallback-model-selection-adds-a-no-refusal-fallback.json"},{"anchor":"windows-path-spelling-checks-added-to-config-dir-write-prote","heading":"Windows paths are checked more carefully before writing to Claude Code&#039;s own folders","glance":"On Windows, Claude Code now resolves alternate path spellings before writing to its protected folders, and may refuse a write it cannot trace","teaser":null,"tier":"notice","area":"Elsewhere","section":"Improvements","position":21,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/windows-path-spelling-checks-added-to-config-dir-write-prote","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/windows-path-spelling-checks-added-to-config-dir-write-prote.json"},{"anchor":"bash-permission-check-fails-closed-when-it-throws","heading":"A crashed safety check on a shell command now asks you instead of carrying on","glance":"If Claude Code's permission check on a shell command fails partway, it now asks you rather than reusing an earlier decision","teaser":null,"tier":"notice","area":"Permissions","section":"Improvements","position":22,"scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/bash-permission-check-fails-closed-when-it-throws","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/bash-permission-check-fails-closed-when-it-throws.json"},{"anchor":"skills-invoked-earlier-are-restored-into-compaction-from-the","heading":"Skills used earlier are remembered through compaction","glance":"Skill use is now marked on messages with invokedSkill, and compaction reads those marks to restore skills used earlier in the conversation","teaser":null,"tier":"notice","area":"Compaction","section":"Improvements","position":23,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/skills-invoked-earlier-are-restored-into-compaction-from-the","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/skills-invoked-earlier-are-restored-into-compaction-from-the.json"},{"anchor":"cloud-session-webfetch-dns-failure-gives-instructions-to-sto","heading":"In cloud sessions, an unreachable web address tells Claude to stop trying other sites","glance":"In cloud sessions, a WebFetch address that cannot be found now tells Claude it may be blocked and to stop and tell you","teaser":null,"tier":"notice","area":"WebFetch","section":"Improvements","position":24,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/cloud-session-webfetch-dns-failure-gives-instructions-to-sto","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.312\/e\/cloud-session-webfetch-dns-failure-gives-instructions-to-sto.json"}],"facets":{"sections":[{"value":"What probably matters to you","entries":24},{"value":"New Features","entries":1},{"value":"Improvements","entries":109},{"value":"Bug Fixes","entries":19},{"value":"In Development","entries":4},{"value":"Internal Changes","entries":96},{"value":"Removed","entries":12}],"tiers":[{"value":"notice","entries":137},{"value":"internal","entries":109},{"value":"use","entries":10},{"value":"soon","entries":9}],"areas":[{"value":"Elsewhere","entries":16},{"value":"Telemetry","entries":15},{"value":"Permissions","entries":14},{"value":"Sessions","entries":14},{"value":"Artifacts","entries":13},{"value":"Auto Mode","entries":12},{"value":"Cloud Sessions","entries":12},{"value":"MCP","entries":11},{"value":"Remote Control","entries":11},{"value":"Terminal UI","entries":10},{"value":"Tips","entries":10},{"value":"Internals","entries":9},{"value":"Subagents","entries":9},{"value":"Hooks","entries":8},{"value":"Skills","entries":7},{"value":"System Prompt","entries":7},{"value":"Usage & Limits","entries":7},{"value":"Auth","entries":5},{"value":"Managed Settings","entries":5},{"value":"Plan Mode","entries":5},{"value":"Plugins","entries":5},{"value":"SDK","entries":5},{"value":"Sandbox","entries":5},{"value":"API Requests","entries":4},{"value":"Compaction","entries":4},{"value":"Background Shells","entries":3},{"value":"Effort","entries":3},{"value":"File Tools","entries":3},{"value":"Models","entries":3},{"value":"Remote Tools","entries":3},{"value":"Teleport","entries":3},{"value":"WebFetch","entries":3},{"value":"Multi-Agent","entries":2},{"value":"Privacy","entries":2},{"value":"Served Sessions","entries":2},{"value":"Agent View","entries":1},{"value":"Bash Mode","entries":1},{"value":"CLAUDE.md","entries":1},{"value":"Charts","entries":1},{"value":"Gateway","entries":1},{"value":"Message Queue","entries":1},{"value":"Output Styles","entries":1},{"value":"Print Mode","entries":1},{"value":"Safeguards","entries":1},{"value":"Settings","entries":1},{"value":"Slash Commands","entries":1},{"value":"Ultracode","entries":1},{"value":"VM Mode","entries":1},{"value":"Versioning","entries":1},{"value":"Workflows","entries":1}]}}