{"version":"2.1.307","summary":"Claude Code can now use the claude.ai sign-in passed over by the desktop app that started it. That lent sign-in works like `CLAUDE_CODE_OAUTH_TOKEN`, but plugins cannot use it. You can turn it off by setting `CLAUDE_CODE_DISABLE_LAUNCHER_SIGN_IN` in the environment or in managed settings. On native Windows, the new `claude sandbox uninstall` command removes the sandbox account, group, stored password and network filters. Programs using the SDK can now list cloud sessions, fetch one and read its transcript. In VS Code, Team and Enterprise members who hit their spend limit can get a \"Request more\" button that notifies their admins.\n\nSeveral features are in the build but not switched on yet. A list of subagents that ran earlier in a session appears only when `CLAUDE_CODE_SUBAGENT_HISTORY` is set or it is switched on remotely. Resuming an interrupted remote turn with `CLAUDE_CODE_RESUME_INTERRUPTED_TURN` can now queue an urgent reminder for Claude when something was left unresolved. A check for whether the macOS sandbox allows local test servers exists, but nothing uses it yet. A few new remote switches are registered with no visible purpose so far.\n\nAmong the fixes, MCP tool calls are no longer retried after a session expires unless they surely did not run or are safe to repeat. Through an HTTPS proxy, Claude Code now checks the certificate of the site it is reaching, not the proxy. Sandbox setup without a terminal now gives up 150 seconds after Claude Code started instead of waiting forever. A resumed subagent that the main conversation is waiting on now shows its permission prompts. `CLAUDE_CODE_ADOPT_UNDERIVABLE_PARKED_PERMISSION` is removed and no longer has any effect.","filter":{"section":null,"tier":null,"area":null},"offset":0,"limit":50,"count":50,"total":276,"next_offset":50,"next_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/entries.json?offset=50","entries":[{"anchor":"launcher-sign-in-can-be-switched-off-with-claude-code-disabl","heading":"Launcher sign-in can be turned off with an environment variable","glance":"Setting CLAUDE_CODE_DISABLE_LAUNCHER_SIGN_IN, in the environment or in managed settings, turns off the launcher sign-in","teaser":null,"tier":"use","area":"Auth","section":"What probably matters to you","position":0,"scope":"both","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/launcher-sign-in-can-be-switched-off-with-claude-code-disabl","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/launcher-sign-in-can-be-switched-off-with-claude-code-disabl.json"},{"anchor":"claude-code-ignore-persisted-trust-makes-workspace-trust-rec","heading":"Self-hosted runner gains nested-repository diffs, a way to ignore saved trust, and child updates","glance":"Self-hosted runners get a `--diff-finds-nested-repository` mode, `--runner-declares`, `CLAUDE_CODE_IGNORE_PERSISTED_TRUST` and options to update the binary they launch","teaser":null,"tier":"use","area":"Workspace Trust","section":"What probably matters to you","position":1,"scope":"both","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/claude-code-ignore-persisted-trust-makes-workspace-trust-rec","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/claude-code-ignore-persisted-trust-makes-workspace-trust-rec.json"},{"anchor":"windows-sandbox-uninstall-command","heading":"New <code>claude sandbox uninstall<\/code> command removes the Windows sandbox","glance":"On native Windows, `claude sandbox uninstall` removes the sandbox account, group, stored password and network filters, then lists what remains","teaser":null,"tier":"use","area":"Sandbox","section":"What probably matters to you","position":2,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/windows-sandbox-uninstall-command","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/windows-sandbox-uninstall-command.json"},{"anchor":"sdk-can-read-cloud-sessions-listgettranscript-with-detai","heading":"SDK hosts can list and read cloud sessions and their transcripts","glance":"New SDK requests list cloud sessions and fetch one session or its transcript, with clear refusals when they are not allowed","teaser":null,"tier":"use","area":"Agents","section":"What probably matters to you","position":3,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/sdk-can-read-cloud-sessions-listgettranscript-with-detai","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/sdk-can-read-cloud-sessions-listgettranscript-with-detai.json"},{"anchor":"auto-mode-thread-ask-held-can-be-forced-by-env-var-or-killsw","heading":"A held variant of compact mode for auto mode, with an environment variable","glance":"Auto mode gains a held variant of compact mode, chosen when `CLAUDE_CODE_AUTO_MODE_THREAD_ASK_HELD` is set or a server flag is on","teaser":null,"tier":"use","area":"Auto Mode","section":"What probably matters to you","position":5,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/auto-mode-thread-ask-held-can-be-forced-by-env-var-or-killsw","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/auto-mode-thread-ask-held-can-be-forced-by-env-var-or-killsw.json"},{"anchor":"new-hidden-cli-flag-runner-declares","heading":"A new hidden <code>--runner-declares<\/code> command-line flag","glance":"Claude Code now recognises a hidden `--runner-declares` flag, listed beside flags used for launching sessions elsewhere","teaser":null,"tier":"use","area":"Self-Hosted Runner","section":"What probably matters to you","position":6,"scope":"org","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/new-hidden-cli-flag-runner-declares","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/new-hidden-cli-flag-runner-declares.json"},{"anchor":"read-file-as-written-anchor-with-read-denied-error-code","heading":"Host programs can read a file by the path Claude wrote","glance":"Programs hosting Claude Code can now ask to read a file by the exact path Claude wrote, with refusals reported as read_denied","teaser":null,"tier":"use","area":"Agents","section":"What probably matters to you","position":8,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/read-file-as-written-anchor-with-read-denied-error-code","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/read-file-as-written-anchor-with-read-denied-error-code.json"},{"anchor":"mcp-menu-connect-on-claudeai-handoff-for-http-servers","heading":"When MCP sign-in fails, Claude Code can hand off to claude.ai to connect the server","glance":"If OAuth to an MCP server fails, both \/mcp and claude mcp login can now send you to claude.ai to connect it there instead","teaser":null,"tier":"use","area":"MCP","section":"What probably matters to you","position":9,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/mcp-menu-connect-on-claudeai-handoff-for-http-servers","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/mcp-menu-connect-on-claudeai-handoff-for-http-servers.json"},{"anchor":"plugin-refresh-announces-fresh-loads-subtask-refactor-wri","heading":"Plugin refresh, <code>\/subtask<\/code> and a new <code>writer<\/code> setting","glance":"Plugin refresh now marks fresh loads, `\/subtask` was reorganised, and settings gain a `writer` entry with `fable` and `opus` values","teaser":null,"tier":"use","area":"Slash Commands","section":"What probably matters to you","position":10,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/plugin-refresh-announces-fresh-loads-subtask-refactor-wri","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/plugin-refresh-announces-fresh-loads-subtask-refactor-wri.json"},{"anchor":"interrupt-can-requeue-a-prompt-new-internal-field-requeue-i","heading":"Programs driving Claude Code can ask for an interrupted prompt to be requeued","glance":"A new internal option asks Claude Code to put a prompt back in its queue if an interrupt arrives just as the prompt is being picked up","teaser":null,"tier":"use","area":"Agents","section":"What probably matters to you","position":11,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/interrupt-can-requeue-a-prompt-new-internal-field-requeue-i","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/interrupt-can-requeue-a-prompt-new-internal-field-requeue-i.json"},{"anchor":"sdk-supporteddialogkinds-check-moved-into-a-helper-new-ses","heading":"SDK gains new control requests and session flags","glance":"The SDK protocol gains three control request types, three new session flags and a new `unsupported_runtime` reason","teaser":null,"tier":"use","area":"Agents","section":"What probably matters to you","position":12,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/sdk-supporteddialogkinds-check-moved-into-a-helper-new-ses","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/sdk-supporteddialogkinds-check-moved-into-a-helper-new-ses.json"},{"anchor":"checkout-hook-runner-process-tree-stop-timeout-and-pipe-ho","heading":"Self-hosted runner checkout hooks can time out and are stopped cleanly","glance":"The self-hosted runner's checkout hook can now be given a time limit with `--checkout-hook-timeout-min`, and is stopped when it runs over","teaser":null,"tier":"use","area":"Self-Hosted Runner","section":"What probably matters to you","position":13,"scope":"org","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/checkout-hook-runner-process-tree-stop-timeout-and-pipe-ho","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/checkout-hook-runner-process-tree-stop-timeout-and-pipe-ho.json"},{"anchor":"launcher-host-sign-in-for-the-desktop-app-is-new-in-this-bui","heading":"Host-managed sessions can sign in with a token, including one handed over by the desktop app","glance":"With CLAUDE_CODE_PROVIDER_MANAGED_BY_HOST, a supplied OAuth token now wins over host management, and a new path accepts a sign-in token from the desktop app","teaser":null,"tier":"use","area":"Auth","section":"What probably matters to you","position":15,"scope":"both","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/launcher-host-sign-in-for-the-desktop-app-is-new-in-this-bui","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/launcher-host-sign-in-for-the-desktop-app-is-new-in-this-bui.json"},{"anchor":"mcp-file-reference-approval-can-show-the-file-content","heading":"Approving an MCP file upload can now show the file&#039;s actual content","glance":"With approvalSeesContent, MCP file-reference tools read the file up front so your approval and the auto-classifier see what is being sent","teaser":null,"tier":"notice","area":"MCP","section":"What probably matters to you","position":17,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/mcp-file-reference-approval-can-show-the-file-content","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/mcp-file-reference-approval-can-show-the-file-content.json"},{"anchor":"agent-summary-can-use-a-configured-writer-model-fableopus","heading":"Background agent summaries can be written by a separate model","glance":"Short summaries of background agents can now come from a different writer model, set by the server, when the agent runs on fable or opus","teaser":null,"tier":"notice","area":"Subagents","section":"What probably matters to you","position":18,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/agent-summary-can-use-a-configured-writer-model-fableopus","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/agent-summary-can-use-a-configured-writer-model-fableopus.json"},{"anchor":"auth-a-launcher-lent-oauth-token-is-now-honoured-but-not-r","heading":"Claude Code can sign in with a login lent by the desktop app","glance":"A sign-in lent by the desktop app now counts like `CLAUDE_CODE_OAUTH_TOKEN`, though plugins cannot use it","teaser":null,"tier":"notice","area":"Auth","section":"What probably matters to you","position":19,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/auth-a-launcher-lent-oauth-token-is-now-honoured-but-not-r","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/auth-a-launcher-lent-oauth-token-is-now-honoured-but-not-r.json"},{"anchor":"fable-usage-period-notice-text","heading":"Notice about Fable usage credit for two periods","glance":"Claude Code has a new notice stating your dollar amount of Fable usage for each of two periods, and that unused credit doesn't carry over","teaser":null,"tier":"notice","area":"Usage & Limits","section":"What probably matters to you","position":21,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/fable-usage-period-notice-text","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/fable-usage-period-notice-text.json"},{"anchor":"ide-limit-banner-can-offer-request-more-to-ask-an-admin-fo","heading":"Members who hit their spend limit can ask an admin for more from the VS Code limit banner","glance":"A new adminRequestOffer lets Team\/Enterprise members hitting their own spend limit send a 'Request more' ask to their admin from VS Code","teaser":null,"tier":"notice","area":"VS Code","section":"What probably matters to you","position":22,"scope":"both","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/ide-limit-banner-can-offer-request-more-to-ask-an-admin-fo","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/ide-limit-banner-can-offer-request-more-to-ask-an-admin-fo.json"},{"anchor":"subagent-history-browser-is-built-gated-off-by-default","heading":"Subagent history browser for finished subagents, behind CLAUDE_CODE_SUBAGENT_HISTORY","glance":"New code lets you browse finished subagents from the Background dialog, switched on by the CLAUDE_CODE_SUBAGENT_HISTORY environment variable or a server flag","teaser":null,"tier":"notice","area":"Subagents","section":"What probably matters to you","position":23,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/subagent-history-browser-is-built-gated-off-by-default","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/subagent-history-browser-is-built-gated-off-by-default.json"},{"anchor":"new-sshhostcommands-setting-desktop-only","heading":"New <code>sshHostCommands<\/code> setting is for Claude Desktop only","glance":"The new `sshHostCommands` setting defines SSH connections whose host comes from a command, for Claude Desktop; Claude Code itself ignores it","teaser":null,"tier":"internal","area":"Settings","section":"What probably matters to you","position":24,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/new-sshhostcommands-setting-desktop-only","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/new-sshhostcommands-setting-desktop-only.json"},{"anchor":"policyonlyleads-now-disables-the-admin-env-union-opt-out","heading":"Managed settings: policyOnlyLeads changes how admin env blocks are merged","glance":"A new policyOnlyLeads result in managed settings merging can override CLAUDE_CODE_DISABLE_ADMIN_ENV_UNION and keep admin env blocks merged","teaser":null,"tier":"use","area":"Managed Settings","section":"What probably matters to you","position":25,"scope":"org","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/policyonlyleads-now-disables-the-admin-env-union-opt-out","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/policyonlyleads-now-disables-the-admin-env-union-opt-out.json"},{"anchor":"permissionrequest-hooks-can-now-allow-a-hook-originated-ask","heading":"Hooks get new rules for allowing, asking and refusing tool permissions","glance":"Hook and plugin permission decisions now go through tool.check, can allow a hook's own ask, turn a plugin deny into an ask, and attach a refusal","teaser":null,"tier":"use","area":"Hooks","section":"What probably matters to you","position":26,"scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/permissionrequest-hooks-can-now-allow-a-hook-originated-ask","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/permissionrequest-hooks-can-now-allow-a-hook-originated-ask.json"},{"anchor":"remote-session-client-keep-alive-events-and-heartbeat-skip","heading":"Remote sessions can send keep-alive signals while a turn is waiting on the model","glance":"With `CLAUDE_CODE_REMOTE_SEND_KEEPALIVES` set, remote sessions send a keep-alive signal during long turns, and the WebSocket link now skips heartbeats too","teaser":null,"tier":"use","area":"Sessions","section":"What probably matters to you","position":27,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/remote-session-client-keep-alive-events-and-heartbeat-skip","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/remote-session-client-keep-alive-events-and-heartbeat-skip.json"},{"anchor":"command-lifecycle-frames-report-scheduler-wakeups-interrupt","heading":"SDK hosts can tell scheduled wakeups from user prompts and see requeued prompts","glance":"Command start messages to SDK hosts now say when a run was woken by \/loop or a schedule, and interrupt replies list prompts put back in the queue","teaser":null,"tier":"use","area":"Agents","section":"What probably matters to you","position":29,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/command-lifecycle-frames-report-scheduler-wakeups-interrupt","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/command-lifecycle-frames-report-scheduler-wakeups-interrupt.json"},{"anchor":"otlp-exporters-can-strip-header-env-vars-during-construction","heading":"Telemetry exporters can ignore header environment variables","glance":"Telemetry exporters can now ignore OTEL_EXPORTER_OTLP_HEADERS and use only the headers given in configuration","teaser":null,"tier":"use","area":"Telemetry","section":"What probably matters to you","position":31,"scope":"org","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/otlp-exporters-can-strip-header-env-vars-during-construction","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/otlp-exporters-can-strip-header-env-vars-during-construction.json"},{"anchor":"new-hidden-claude-test-write-tool-rendering","heading":"Claude Test gains a spec author agent, a draft-writing tool and a stricter explorer","glance":"The bundled Claude Test plugin adds an author agent with a `claude_test_write` tool, limits its explorer and adds new helper messages","teaser":null,"tier":"use","area":"Claude Test","section":"What probably matters to you","position":32,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/new-hidden-claude-test-write-tool-rendering","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/new-hidden-claude-test-write-tool-rendering.json"},{"anchor":"claude-api-skill-adds-api-version-migrationmd","heading":"The claude-api skill includes an API version migration guide","glance":"The claude-api skill that ships with Claude Code now includes a document called `shared\/api-version-migration.md`","teaser":null,"tier":"notice","area":"Claude API Skill","section":"What probably matters to you","position":33,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/claude-api-skill-adds-api-version-migrationmd","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/claude-api-skill-adds-api-version-migrationmd.json"},{"anchor":"geminivertex-style-workspace-client-gets-a-default-invoke-u","heading":"Workspace setups get a default server address","glance":"A workspace configuration with no `base_url` now uses a default claude.googleapis.com address built from its project, location and workspace","teaser":null,"tier":"notice","area":"Google Cloud","section":"What probably matters to you","position":34,"scope":"org","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/geminivertex-style-workspace-client-gets-a-default-invoke-u","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/geminivertex-style-workspace-client-gets-a-default-invoke-u.json"},{"anchor":"system-prompt-gains-optional-finish-exposed-work-instructi","heading":"Auto mode can tell Claude to finish work the task exposed","glance":"A new `finishExposedWork` auto-mode option asks Claude to run checks and fix what the task exposed, and denied commands are now recorded","teaser":null,"tier":"notice","area":"System Prompt","section":"What probably matters to you","position":35,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/system-prompt-gains-optional-finish-exposed-work-instructi","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/system-prompt-gains-optional-finish-exposed-work-instructi.json"},{"anchor":"managed-agents-api-reference-doc-bundle-replaced-by-live-sou","heading":"Bundled managed agents API reference replaced by a live sources document","glance":"A reference document built into Claude Code changed from a managed agents API reference to one called live sources","teaser":null,"tier":"internal","area":"Claude API Skill","section":"What probably matters to you","position":36,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/managed-agents-api-reference-doc-bundle-replaced-by-live-sou","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/managed-agents-api-reference-doc-bundle-replaced-by-live-sou.json"},{"anchor":"device-bridge-gets-a-sandboxed-execution-object","heading":"Device bridge prepares sandboxed running of its tools","glance":"On start, the device bridge now sets up a place to run its tools and says whether the sandbox is currently required","teaser":null,"tier":"internal","area":"Device Bridge","section":"What probably matters to you","position":38,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/device-bridge-gets-a-sandboxed-execution-object","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/device-bridge-gets-a-sandboxed-execution-object.json"},{"anchor":"mcp-connect-re-dials-after-sleep-or-clock-change","heading":"MCP connections report sleep, clock changes and a locked credential store","glance":"MCP server connections now recognise a sleep or clock change during connecting and retry, and report when stored credentials cannot be read","teaser":null,"tier":"notice","area":"MCP","section":"Improvements","position":0,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/mcp-connect-re-dials-after-sleep-or-clock-change","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/mcp-connect-re-dials-after-sleep-or-clock-change.json"},{"anchor":"elicitation-responses-masked-in-logs","heading":"Sensitive answers to MCP server questions are hidden in debug logs","glance":"When you answer a form from an MCP server, fields treated as sensitive are now shown as \"[masked]\" in the debug log, but the server still gets the real answer","teaser":null,"tier":"notice","area":"MCP","section":"Improvements","position":1,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/elicitation-responses-masked-in-logs","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/elicitation-responses-masked-in-logs.json"},{"anchor":"windows-sandbox-first-start-flow","heading":"First-time setup step for the Windows sandbox","glance":"The first time the Windows sandbox starts, Claude Code runs a setup check that may show an administrator prompt and can take a few minutes","teaser":null,"tier":"notice","area":"Sandbox","section":"Improvements","position":2,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/windows-sandbox-first-start-flow","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/windows-sandbox-first-start-flow.json"},{"anchor":"web-fetch-subagent-prompt-stored-copies","heading":"Web fetch reports the date of stored page copies","glance":"When a fetched page came from a stored copy, Claude is told to give that copy's date and not to fetch the page again for a newer one","teaser":null,"tier":"notice","area":"Web Fetch","section":"Improvements","position":3,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/web-fetch-subagent-prompt-stored-copies","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/web-fetch-subagent-prompt-stored-copies.json"},{"anchor":"governed-git-warns-when-the-deny-list-removes-certificates-f","heading":"Warning when certificates are left out of the managed git trust file","glance":"Self-hosted runners now warn when Claude Code's deny list leaves certificates out of the trust file built for Anthropic-managed git","teaser":null,"tier":"notice","area":"Self-Hosted Runner","section":"Improvements","position":4,"scope":"org","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/governed-git-warns-when-the-deny-list-removes-certificates-f","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/governed-git-warns-when-the-deny-list-removes-certificates-f.json"},{"anchor":"cancel-response-can-report-put-back-uuids-for-queued-command","heading":"Cancel replies can list queued commands that were put back","glance":"When a cancel is handled, the reply now includes a put_back list naming queued commands that run on their own and were put back, if any exist","teaser":null,"tier":"notice","area":"Agents","section":"Improvements","position":5,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/cancel-response-can-report-put-back-uuids-for-queued-command","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/cancel-response-can-report-put-back-uuids-for-queued-command.json"},{"anchor":"denied-permission-no-longer-ends-the-turn-via-the-denied-i","heading":"Denying a tool no longer ends the turn","glance":"Claude Code removed the rule that ended the turn when a tool was denied, so only an interrupt or a rewind now ends a cut-off turn","teaser":null,"tier":"notice","area":"Permissions","section":"Improvements","position":6,"scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/denied-permission-no-longer-ends-the-turn-via-the-denied-i","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/denied-permission-no-longer-ends-the-turn-via-the-denied-i.json"},{"anchor":"plugin-permission-ask-decisions-become-deny-when-there-i","heading":"Plugin permission prompts are refused when nobody can answer them","glance":"If a plugin asks for a permission and nobody is available to approve it, Claude Code now refuses the request","teaser":null,"tier":"notice","area":"Plugins","section":"Improvements","position":7,"scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/plugin-permission-ask-decisions-become-deny-when-there-i","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/plugin-permission-ask-decisions-become-deny-when-there-i.json"},{"anchor":"sandbox-scrub-outcome-logging-failure-has-its-own-message","heading":"Clearer sandbox message when cleanup logging fails","glance":"The sandbox now has its own diagnostic message for when recording the result of its after-command cleanup fails","teaser":null,"tier":"notice","area":"Sandbox","section":"Improvements","position":8,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/sandbox-scrub-outcome-logging-failure-has-its-own-message","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/sandbox-scrub-outcome-logging-failure-has-its-own-message.json"},{"anchor":"forked-call-notices-for-fork-subagents","heading":"Forked subagents are told which tool call is theirs","glance":"Claude Code adds notices that tell a forked subagent it is the fork and that the parent's tool call is not its own","teaser":null,"tier":"notice","area":"Subagents","section":"Improvements","position":9,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/forked-call-notices-for-fork-subagents","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/forked-call-notices-for-fork-subagents.json"},{"anchor":"mcp-oauth-discovery-re-reads-the-credential-store-during-an","heading":"MCP sign-in picks up credentials saved by another Claude Code window","glance":"While an MCP server is waiting for you to sign in, Claude Code now re-reads saved credentials and picks up a login made in another process","teaser":null,"tier":"notice","area":"MCP","section":"Improvements","position":10,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/mcp-oauth-discovery-re-reads-the-credential-store-during-an","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/mcp-oauth-discovery-re-reads-the-credential-store-during-an.json"},{"anchor":"plugin-disable-dialog-and-masked-input-tweaks","heading":"Small changes to the plugin disable dialog, masked input and image text checks","glance":"The plugin disable dialog can replace its 'disable for me' option with a message, and some text is now rejected in Markdown images","teaser":null,"tier":"notice","area":"Terminal UI","section":"Improvements","position":11,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/plugin-disable-dialog-and-masked-input-tweaks","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/plugin-disable-dialog-and-masked-input-tweaks.json"},{"anchor":"claim-rejects-claude-code-oauth-token-in-launcher-started-pr","heading":"Spare SDK processes started by a launcher refuse a sign-in token passed at claim time","glance":"A pre-warmed Claude Code process started by an organization's launcher now refuses CLAUDE_CODE_OAUTH_TOKEN when claimed, and asks its host instead","teaser":null,"tier":"notice","area":"Agents","section":"Improvements","position":13,"scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/claim-rejects-claude-code-oauth-token-in-launcher-started-pr","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/claim-rejects-claude-code-oauth-token-in-launcher-started-pr.json"},{"anchor":"headless-cloud-client-explains-repository-trust-prompts-it-c","heading":"Cloud sessions explain when a folder trust question must be answered elsewhere","glance":"When a cloud session cannot pass a folder trust question on, it now gives a specific reason and can tell you to answer it elsewhere","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.307\/e\/headless-cloud-client-explains-repository-trust-prompts-it-c","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/headless-cloud-client-explains-repository-trust-prompts-it-c.json"},{"anchor":"resume-warning-when-the-container-disk-lacks-recent-tool-cal","heading":"Claude is warned when a resumed session may have lost recent work","glance":"If a resumed session's saved copy on the container is missing recent tool calls, Claude is told files may be stale and to tell you about lost work","teaser":null,"tier":"notice","area":"Cloud Sessions","section":"Improvements","position":15,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/resume-warning-when-the-container-disk-lacks-recent-tool-cal","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/resume-warning-when-the-container-disk-lacks-recent-tool-cal.json"},{"anchor":"workflows-tool-reports-a-distinct-error-for-an-unsupported-r","heading":"Workflows give a clear error on an unsupported runtime","glance":"When workflows are off because the runtime is unsupported, Claude Code now says so with its own error instead of a general one","teaser":null,"tier":"notice","area":"Elsewhere","section":"Improvements","position":16,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/workflows-tool-reports-a-distinct-error-for-an-unsupported-r","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/workflows-tool-reports-a-distinct-error-for-an-unsupported-r.json"},{"anchor":"cache-reuse-check-the-one-hour-requirement-is-replaced-by-a","heading":"Reusing the cache before compaction no longer needs a one-hour cache","glance":"The check for reusing cached conversation before compaction no longer requires a one-hour cache lifetime and still stops when the cache has lapsed","teaser":null,"tier":"notice","area":"Compaction","section":"Improvements","position":17,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/cache-reuse-check-the-one-hour-requirement-is-replaced-by-a","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/cache-reuse-check-the-one-hour-requirement-is-replaced-by-a.json"},{"anchor":"background-tasks-that-stop-on-exit-are-hidden-from-the-list","heading":"Background shell tasks can be marked to stop on exit and are hidden from the running list","glance":"Background bash tasks can carry stopsOnExit and are left off the running-items list; also a compact-held mode and a cowork tool-output tweak","teaser":null,"tier":"notice","area":"Terminal UI","section":"Improvements","position":18,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/background-tasks-that-stop-on-exit-are-hidden-from-the-list","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/background-tasks-that-stop-on-exit-are-hidden-from-the-list.json"},{"anchor":"idle-compaction-now-has-two-cache-kinds-one-hour-and-keepal","heading":"Idle compaction can also act on keepalive caches, not only one-hour ones","glance":"Idle compaction now covers two cache types, one-hour and keepalive, each with its own setting, and its notice no longer says \"after an hour idle\"","teaser":null,"tier":"soon","area":"Compaction","section":"Improvements","position":19,"scope":"individual","heads_up":false,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/idle-compaction-now-has-two-cache-kinds-one-hour-and-keepal","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.307\/e\/idle-compaction-now-has-two-cache-kinds-one-hour-and-keepal.json"}],"facets":{"sections":[{"value":"What probably matters to you","entries":31},{"value":"Improvements","entries":146},{"value":"Bug Fixes","entries":12},{"value":"In Development","entries":5},{"value":"Internal Changes","entries":77},{"value":"Removed","entries":5}],"tiers":[{"value":"notice","entries":166},{"value":"internal","entries":85},{"value":"use","entries":19},{"value":"soon","entries":6}],"areas":[{"value":"Sandbox","entries":24},{"value":"Subagents","entries":21},{"value":"Agents","entries":18},{"value":"Permissions","entries":16},{"value":"Elsewhere","entries":15},{"value":"MCP","entries":14},{"value":"Plugins","entries":14},{"value":"Usage & Limits","entries":12},{"value":"Auth","entries":11},{"value":"Sessions","entries":11},{"value":"Terminal UI","entries":11},{"value":"Internals","entries":8},{"value":"Git","entries":7},{"value":"Self-Hosted Runner","entries":7},{"value":"Compaction","entries":6},{"value":"Managed Settings","entries":6},{"value":"Network","entries":6},{"value":"Auto Mode","entries":5},{"value":"Cloud Sessions","entries":5},{"value":"File Reading","entries":5},{"value":"Telemetry","entries":5},{"value":"Environment Variables","entries":4},{"value":"Message Queue","entries":4},{"value":"Remote Tools","entries":4},{"value":"Session Transcripts","entries":4},{"value":"Artifacts","entries":3},{"value":"Remote Control","entries":3},{"value":"Skills","entries":3},{"value":"Slash Commands","entries":3},{"value":"Background Tasks","entries":2},{"value":"Chrome & Browser","entries":2},{"value":"Claude API Skill","entries":2},{"value":"Google Cloud","entries":2},{"value":"Hooks","entries":2},{"value":"Web Fetch","entries":2},{"value":"Claude Test","entries":1},{"value":"Context Window","entries":1},{"value":"Conversation","entries":1},{"value":"Device Bridge","entries":1},{"value":"Organizations","entries":1},{"value":"Settings","entries":1},{"value":"System Prompt","entries":1},{"value":"VS Code","entries":1},{"value":"Workspace Trust","entries":1}]}}