{"version":"2.1.261","summary":"This build carries 17 dormant additions, most switched off behind hardcoded flags. Real-time PR webhook updates exist but are hardcoded off, so PR monitoring still polls every 30 minutes, and a new \"thinking-binding-controls\" beta header is compiled in but never sent. A Poll\/Wait tool \"evals\" mode has nothing in this bundle that triggers it, and three placeholder tool entries are now always listed internally yet forced permanently off and hidden. Also inert: subagent output-truncation accounting behind the tengu_swift_whistle gate, a prefix-lock-rejection warning whose message text is always empty, an overage-included-models display with an empty-by-default model list, a \"grant refused\" safeguards error path whose trigger always returns false, a message-history folding pass held off by default behind tengu_chair_sermon, and MCP task-sidecar restore in --print mode, which is hard-gated off.\n\nOf 80 shipped changes, several add configuration you can use right away. New settings bashOutputMaxChars and taskOutputMaxChars let you control how much Bash and Task output Claude sees inline before it spills to a file, and CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS lets you tune how long Claude Code waits for the first byte of a streamed response. Cloud sessions running \/mcp can now also list MCP servers attached to your local machine, and plugin marketplace add --claudeai lets you add a marketplace hosted on your claude.ai account. Other additions include an SDK --await-initialize flag to wait for plugin config over stdin, a CLAUDE_CODE_NONBLOCKING_STDOUT env var so slow output pipes can't hang the terminal, --append-subagent-system-prompt-file for the CLI, a configurable AWS Bedrock credential-resolution timeout, and an auto-mode dangerous-tool-use classifier, now expanded, that runs server-side and blocks unreachable checks for safety.\n\nAmong 35 fixes, failed background wake deliveries to agents now retry with backoff instead of dropping, and a cloud gateway 403 rejecting your org's settings no longer logs you out, showing a contact-admin message instead. Saving large tool results to disk is hardened against symlink and hardlink tampering, and the tool permission cache is now correctly keyed on GitHub repo and workspace-restriction state instead of serving stale results. Policy-limit data from before an account switch can no longer leak into the new account's session, and a newly org-approved synced plugin no longer stays silently disabled by a leftover local override. Separately, the keybindingFlavor setting is deprecated and classic word-editing keybindings are removed, so the prompt now always uses Bash-style word navigation.","filter":{"section":null,"tier":null,"area":null},"offset":0,"limit":50,"count":50,"total":189,"next_offset":50,"entries":[{"anchor":"claudeai-flag-lets-you-add-a-claudeai-hosted-plugin-mar","heading":"<code>--claudeai<\/code> flag lets you add a claude.ai-hosted plugin marketplace","glance":"You can now add a claude.ai-hosted plugin marketplace with a new --claudeai flag.","teaser":null,"tier":"use","area":"Plugin Marketplace","section":"What probably matters to you","position":0,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/claudeai-flag-lets-you-add-a-claudeai-hosted-plugin-mar","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/claudeai-flag-lets-you-add-a-claudeai-hosted-plugin-mar.json"},{"anchor":"new-tag-lets-toolcommand-output-suggest-a-plugin-to-inst","heading":"New <code>&lt;claude-code-hint&gt;<\/code> tag lets tool\/command output suggest a plugin to install","glance":"Tool and command output can now embed a hidden tag that suggests installing a specific plugin.","teaser":null,"tier":"soon","area":"Plugin Marketplace","section":"What probably matters to you","position":1,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/new-tag-lets-toolcommand-output-suggest-a-plugin-to-inst","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/new-tag-lets-toolcommand-output-suggest-a-plugin-to-inst.json"},{"anchor":"new-sdk-launch-flag-await-initialize","heading":"New SDK launch flag: --await-initialize","glance":"A new SDK CLI flag makes the process wait for an initialize request over stdin before starting.","teaser":null,"tier":"use","area":"SDK","section":"What probably matters to you","position":2,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/new-sdk-launch-flag-await-initialize","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/new-sdk-launch-flag-await-initialize.json"},{"anchor":"new-settings-for-inline-bashtask-output-truncation-limits","heading":"New settings for inline Bash\/Task output truncation limits","glance":"New settings let you control how much Bash and Task output Claude sees before it gets truncated to a file.","teaser":null,"tier":"use","area":"Output Limits","section":"What probably matters to you","position":3,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/new-settings-for-inline-bashtask-output-truncation-limits","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/new-settings-for-inline-bashtask-output-truncation-limits.json"},{"anchor":"sdk-plugin-delivery-via-initialize-request","heading":"SDK plugin delivery via <code>initialize<\/code> request","glance":"SDK plugins can now be sent via an initialize request instead of the command line, with a fallback warning if not applied.","teaser":null,"tier":"use","area":"SDK","section":"What probably matters to you","position":4,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/sdk-plugin-delivery-via-initialize-request","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/sdk-plugin-delivery-via-initialize-request.json"},{"anchor":"two-new-sdk-control-protocol-request-types-get-usage-and-re","heading":"Two new SDK control-protocol request types: get_usage and reload_output_styles","glance":"SDK gains get_usage and reload_output_styles requests for pulling usage data and refreshing styles mid-session.","teaser":null,"tier":"use","area":"SDK","section":"What probably matters to you","position":5,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/two-new-sdk-control-protocol-request-types-get-usage-and-re","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/two-new-sdk-control-protocol-request-types-get-usage-and-re.json"},{"anchor":"claudeai-hosted-plugin-marketplaces","heading":"claude.ai-hosted plugin marketplaces","glance":"Plugin marketplaces can now be hosted on claude.ai itself, with full catalog fetching, caching and install support.","teaser":null,"tier":"use","area":"Plugin Marketplace","section":"What probably matters to you","position":6,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/claudeai-hosted-plugin-marketplaces","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/claudeai-hosted-plugin-marketplaces.json"},{"anchor":"bridge-remote-control-session-creation-can-use-a-new-v1alp","heading":"Bridge (Remote Control) session creation can use a new v1alpha2 API surface","glance":"Remote Control session creation can use a new v1alpha2 API surface behind a flag.","teaser":null,"tier":"soon","area":"Remote Control","section":"What probably matters to you","position":7,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/bridge-remote-control-session-creation-can-use-a-new-v1alp","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/bridge-remote-control-session-creation-can-use-a-new-v1alp.json"},{"anchor":"bulk-per-tool-token-counting-path-gated-behind-two-flags-bo","heading":"Bulk per-tool token counting path gated behind two flags, both defaulting off","glance":"A bulk per-tool token counting path exists but is gated behind two flags, both off by default.","teaser":null,"tier":"soon","area":"Context Management","section":"What probably matters to you","position":8,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/bulk-per-tool-token-counting-path-gated-behind-two-flags-bo","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/bulk-per-tool-token-counting-path-gated-behind-two-flags-bo.json"},{"anchor":"new-claudeai-hosted-marketplace-source-type","heading":"New claude.ai-hosted marketplace source type","glance":"Plugin marketplaces gain a new claude.ai-hosted source type with its own caching and refresh logic.","teaser":null,"tier":"internal","area":"Plugin Marketplace","section":"What probably matters to you","position":9,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/new-claudeai-hosted-marketplace-source-type","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/new-claudeai-hosted-marketplace-source-type.json"},{"anchor":"resume-can-now-adoptaccept-custom-non-uuid-session-id","heading":"<code>--resume<\/code> can now adopt\/accept custom (non-UUID) session IDs when used with SDK URL sessions","glance":"--resume can now accept custom, non-UUID session IDs for SDK URL sessions.","teaser":null,"tier":"use","area":"Sessions","section":"What probably matters to you","position":10,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/resume-can-now-adoptaccept-custom-non-uuid-session-id","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/resume-can-now-adoptaccept-custom-non-uuid-session-id.json"},{"anchor":"more-detailed-stream-timeout-error-message-with-tunable-env","heading":"More detailed stream-timeout error message with tunable env vars","glance":"Stream-timeout errors now suggest raising API_TIMEOUT_MS or CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS.","teaser":null,"tier":"use","area":"Internals","section":"What probably matters to you","position":11,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/more-detailed-stream-timeout-error-message-with-tunable-env","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/more-detailed-stream-timeout-error-message-with-tunable-env.json"},{"anchor":"new-claude-code-nonblocking-stdout-env-var-for-ink-renderer","heading":"New CLAUDE_CODE_NONBLOCKING_STDOUT env var for Ink renderer","glance":"A new env var stops Claude Code from hanging when stdout is slow, like when piped somewhere.","teaser":null,"tier":"use","area":"Terminal Renderer","section":"What probably matters to you","position":12,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/new-claude-code-nonblocking-stdout-env-var-for-ink-renderer","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/new-claude-code-nonblocking-stdout-env-var-for-ink-renderer.json"},{"anchor":"new-cli-flag-append-subagent-system-prompt-file","heading":"New CLI flag --append-subagent-system-prompt-file","glance":"A new flag lets you supply a subagent system-prompt append from a file instead of typing it inline.","teaser":null,"tier":"use","area":"CLI","section":"What probably matters to you","position":13,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/new-cli-flag-append-subagent-system-prompt-file","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/new-cli-flag-append-subagent-system-prompt-file.json"},{"anchor":"new-sdk-reloadoutputstyles-method","heading":"New SDK <code>reloadOutputStyles()<\/code> method","glance":"The SDK can now reload output styles mid-session with a new method.","teaser":null,"tier":"use","area":"SDK","section":"What probably matters to you","position":14,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/new-sdk-reloadoutputstyles-method","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/new-sdk-reloadoutputstyles-method.json"},{"anchor":"sdk-session-init-accepts-a-plugins-field-over-stdin","heading":"SDK session init accepts a <code>plugins<\/code> field over stdin","glance":"The SDK's initialize request can now carry plugin paths over stdin instead of one flag per plugin.","teaser":null,"tier":"use","area":"SDK","section":"What probably matters to you","position":15,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/sdk-session-init-accepts-a-plugins-field-over-stdin","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/sdk-session-init-accepts-a-plugins-field-over-stdin.json"},{"anchor":"escalated-retry-windows-for-the-first-byte-stream-timeout","heading":"Escalated retry windows for the first-byte stream timeout","glance":"Retrying a stalled API request now waits longer on the retry than on the first attempt.","teaser":null,"tier":"notice","area":"Internals","section":"What probably matters to you","position":16,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/escalated-retry-windows-for-the-first-byte-stream-timeout","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/escalated-retry-windows-for-the-first-byte-stream-timeout.json"},{"anchor":"new-distinct-ui-for-no-response-from-api-retry-state-sepa","heading":"New distinct UI for &#039;no response from API&#039; retry state, separate from rate-limit retries","glance":"A 'no response from API' retry message now appears separately from rate-limit retries, with a tunable timeout hint.","teaser":null,"tier":"notice","area":"Internals","section":"What probably matters to you","position":17,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/new-distinct-ui-for-no-response-from-api-retry-state-sepa","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/new-distinct-ui-for-no-response-from-api-retry-state-sepa.json"},{"anchor":"sandboxed-java-processes-get-proxy-aware-java-agent-injectio","heading":"Sandboxed Java processes get proxy-aware java agent injection","glance":"Sandboxed Java processes now automatically route through the sandbox's proxy via an injected agent jar.","teaser":null,"tier":"notice","area":"Sandbox","section":"What probably matters to you","position":18,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/sandboxed-java-processes-get-proxy-aware-java-agent-injectio","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/sandboxed-java-processes-get-proxy-aware-java-agent-injectio.json"},{"anchor":"background-claudeai-plugin-catalog-refresh-off-by-default","heading":"Background claude.ai plugin catalog refresh, off by default","glance":"A background refresh for claude.ai plugin catalogs exists but is off by default.","teaser":null,"tier":"soon","area":"Plugin Marketplace","section":"What probably matters to you","position":19,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/background-claudeai-plugin-catalog-refresh-off-by-default","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/background-claudeai-plugin-catalog-refresh-off-by-default.json"},{"anchor":"detailed-prompt-cache-break-diagnostics-message0-shapesect","heading":"Detailed prompt-cache-break diagnostics (message0 shape\/section diffing) sampled off by default","glance":"Detailed prompt-cache-break diffing telemetry exists but is sampled at zero by default.","teaser":null,"tier":"soon","area":"Prompt Caching","section":"What probably matters to you","position":20,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/detailed-prompt-cache-break-diagnostics-message0-shapesect","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/detailed-prompt-cache-break-diagnostics-message0-shapesect.json"},{"anchor":"new-ccr-v2-bridge-cli-flag-added-default-off","heading":"New CCR v2 bridge CLI flag added, default off","glance":"A new CCR v2 bridge CLI is gated behind a flag that currently defaults off.","teaser":null,"tier":"soon","area":"Remote Control","section":"What probably matters to you","position":21,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/new-ccr-v2-bridge-cli-flag-added-default-off","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/new-ccr-v2-bridge-cli-flag-added-default-off.json"},{"anchor":"overage-included-models-usage-display-is-data-driven-from-an","heading":"Overage-included-models usage display is data-driven from an empty-by-default allowlist","glance":"A display for overage-included models exists but has an empty allowlist until set remotely.","teaser":null,"tier":"soon","area":"Usage & Limits","section":"What probably matters to you","position":22,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/overage-included-models-usage-display-is-data-driven-from-an","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/overage-included-models-usage-display-is-data-driven-from-an.json"},{"anchor":"sandbox-can-inject-a-java-proxy-agent-jar-for-jvm-network-is","heading":"Sandbox can inject a Java proxy agent jar for JVM network isolation","glance":"The sandbox can now inject a Java proxy agent so JVM processes get network isolation too.","teaser":null,"tier":"soon","area":"Sandbox","section":"What probably matters to you","position":23,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/sandbox-can-inject-a-java-proxy-agent-jar-for-jvm-network-is","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/sandbox-can-inject-a-java-proxy-agent-jar-for-jvm-network-is.json"},{"anchor":"new-env-var-claude-stream-first-byte-timeout-ms","heading":"New env var CLAUDE_STREAM_FIRST_BYTE_TIMEOUT_MS","glance":"A new env var controls how long Claude Code waits for the first byte of a streamed response.","teaser":null,"tier":"use","area":"Internals","section":"What probably matters to you","position":24,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/new-env-var-claude-stream-first-byte-timeout-ms","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/new-env-var-claude-stream-first-byte-timeout-ms.json"},{"anchor":"sdks-experimental-usage-call-gains-a-skip-behaviors-o","heading":"SDK&#039;s experimental <code>usage()<\/code> call gains a <code>skip_behaviors<\/code> opt-out","glance":"The experimental usage() SDK call can now skip the 7-day behaviors scan for a faster response.","teaser":null,"tier":"use","area":"SDK","section":"What probably matters to you","position":25,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/sdks-experimental-usage-call-gains-a-skip-behaviors-o","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/sdks-experimental-usage-call-gains-a-skip-behaviors-o.json"},{"anchor":"get-usage-remote-command-can-skip-behaviors","heading":"get_usage remote command can skip behaviors","glance":"The get_usage command can now omit behavior data via a skip_behaviors flag.","teaser":null,"tier":"use","area":"SDK","section":"What probably matters to you","position":26,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/get-usage-remote-command-can-skip-behaviors","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/get-usage-remote-command-can-skip-behaviors.json"},{"anchor":"gcp-credential-check-becomes-tri-state-and-honors-anthropic","heading":"GCP credential check becomes tri-state and honors ANTHROPIC_GOOGLE_CLOUD_PROJECT","glance":"GCP credential checks now distinguish timeout from failure and honor a new project env var fallback.","teaser":null,"tier":"notice","area":"Cloud Auth","section":"What probably matters to you","position":27,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/gcp-credential-check-becomes-tri-state-and-honors-anthropic","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/gcp-credential-check-becomes-tri-state-and-honors-anthropic.json"},{"anchor":"new-aws-bedrock-timeout-with-configurable-override","heading":"New AWS Bedrock timeout with configurable override","glance":"AWS credential lookups now time out with a clearer error, and you can raise the timeout via an env var.","teaser":null,"tier":"notice","area":"Elsewhere","section":"What probably matters to you","position":28,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/new-aws-bedrock-timeout-with-configurable-override","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/new-aws-bedrock-timeout-with-configurable-override.json"},{"anchor":"growthbook-env-var-feature-overrides-disabled","heading":"GrowthBook env var feature overrides disabled","glance":"The CLAUDE_INTERNAL_FC_OVERRIDES env var no longer overrides feature flags.","teaser":null,"tier":"internal","area":"Internals","section":"What probably matters to you","position":29,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/growthbook-env-var-feature-overrides-disabled","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/growthbook-env-var-feature-overrides-disabled.json"},{"anchor":"worker-restart-continuity-for-excludedynamicsections-with-a","heading":"Worker-restart continuity for excludeDynamicSections, with a kill switch","glance":"A session setting for excluding dynamic sections now survives a worker restart in headless mode.","teaser":null,"tier":"internal","area":"Elsewhere","section":"What probably matters to you","position":30,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/worker-restart-continuity-for-excludedynamicsections-with-a","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/worker-restart-continuity-for-excludedynamicsections-with-a.json"},{"anchor":"new-settings-keys-bashoutputmaxchars-taskoutputmaxchars","heading":"New settings keys: bashOutputMaxChars \/ taskOutputMaxChars","glance":"The new Bash and Task output limit settings are now formally recognized and propagated internally.","teaser":null,"tier":"use","area":"Output Limits","section":"What probably matters to you","position":31,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/new-settings-keys-bashoutputmaxchars-taskoutputmaxchars","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/new-settings-keys-bashoutputmaxchars-taskoutputmaxchars.json"},{"anchor":"new-notification-kind-claudeai-identity-changed","heading":"New notification kind: claudeai_identity_changed","glance":"A new notice can appear if your claude.ai account identity changes mid-session.","teaser":null,"tier":"notice","area":"Terminal UI","section":"New Features","position":0,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/new-notification-kind-claudeai-identity-changed","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/new-notification-kind-claudeai-identity-changed.json"},{"anchor":"new-gateway-required-by-host-policy-cloud-provider-mode","heading":"New &quot;gateway required by host policy&quot; cloud-provider mode","glance":"Hosts can now force gateway auth and routing through a policy check, independent of your env vars.","teaser":null,"tier":"internal","area":"Cloud Gateway","section":"New Features","position":1,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/new-gateway-required-by-host-policy-cloud-provider-mode","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/new-gateway-required-by-host-policy-cloud-provider-mode.json"},{"anchor":"gcp-credentials-check-now-reports-why-it-failed","heading":"GCP credentials check now reports why it failed","glance":"GCP credential checks now report why they failed instead of just pass\/fail.","teaser":null,"tier":"notice","area":"Cloud Auth","section":"Improvements","position":0,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/gcp-credentials-check-now-reports-why-it-failed","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/gcp-credentials-check-now-reports-why-it-failed.json"},{"anchor":"new-diagnostics-for-org-managed-hook-restrictions-on-synced","heading":"New diagnostics for org-managed hook restrictions on synced plugins","glance":"New diagnostics explain when org-managed hook restrictions or disabled settings are suppressing a synced plugin.","teaser":null,"tier":"notice","area":"Plugin Management","section":"Improvements","position":1,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/new-diagnostics-for-org-managed-hook-restrictions-on-synced","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/new-diagnostics-for-org-managed-hook-restrictions-on-synced.json"},{"anchor":"watch-artifact-prompts-gain-replycomment-wake-phrasing","heading":"Watch-artifact prompts gain reply\/comment-wake phrasing","glance":"Watch-artifact prompts now clarify Claude auto-replies to comments and won't re-ask to watch other artifacts.","teaser":null,"tier":"notice","area":"Artifacts","section":"Improvements","position":2,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/watch-artifact-prompts-gain-replycomment-wake-phrasing","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/watch-artifact-prompts-gain-replycomment-wake-phrasing.json"},{"anchor":"usage-overage-included-models-allowlist-can-be-refreshed-mid","heading":"Usage overage-included-models allowlist can be refreshed mid-session from GrowthBook","glance":"The list of models included in overage usage can now refresh mid-session from remote config.","teaser":null,"tier":"notice","area":"Usage & Limits","section":"Improvements","position":3,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/usage-overage-included-models-allowlist-can-be-refreshed-mid","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/usage-overage-included-models-allowlist-can-be-refreshed-mid.json"},{"anchor":"artifact-copy-from-action-now-honors-denyask-permission-r","heading":"Artifact <code>copy_from<\/code> action now honors deny\/ask permission rules","glance":"Copying assets between artifacts now respects deny\/ask permission rules, not just prior consent.","teaser":null,"tier":"notice","area":"Permissions","section":"Improvements","position":4,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/artifact-copy-from-action-now-honors-denyask-permission-r","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/artifact-copy-from-action-now-honors-denyask-permission-r.json"},{"anchor":"cloud-sessions-can-now-list-remote-mcp-servers-attached-to-t","heading":"Cloud sessions can now list remote MCP servers attached to the local machine","glance":"Running \/mcp in a cloud session now also lists MCP servers attached to your local machine.","teaser":null,"tier":"notice","area":"MCP","section":"Improvements","position":5,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/cloud-sessions-can-now-list-remote-mcp-servers-attached-to-t","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/cloud-sessions-can-now-list-remote-mcp-servers-attached-to-t.json"},{"anchor":"custom-1m-context-model-labels","heading":"Custom 1M-context model labels","glance":"Custom Sonnet\/Opus model picker labels now note when a model has a 1M-token context window.","teaser":null,"tier":"notice","area":"Elsewhere","section":"Improvements","position":6,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/custom-1m-context-model-labels","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/custom-1m-context-model-labels.json"},{"anchor":"sdk-warns-when-launch-time-plugins-arent-applied","heading":"SDK warns when launch-time plugins aren&#039;t applied","glance":"The SDK now warns if plugins sent via initialize weren't actually applied by the server.","teaser":null,"tier":"notice","area":"SDK","section":"Improvements","position":7,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/sdk-warns-when-launch-time-plugins-arent-applied","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/sdk-warns-when-launch-time-plugins-arent-applied.json"},{"anchor":"per-url-askdeny-rules-for-artifact-reads-page-data-reads","heading":"Per-URL ask\/deny rules for artifact reads, page-data reads, diagnostics, and database reads","glance":"Artifact reads, diagnostics, and database reads now check per-URL deny\/ask rules before falling back to session consent.","teaser":null,"tier":"notice","area":"Permissions","section":"Improvements","position":8,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/per-url-askdeny-rules-for-artifact-reads-page-data-reads","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/per-url-askdeny-rules-for-artifact-reads-page-data-reads.json"},{"anchor":"frozen-artifact-types-publish-path-now-enforces-a-type-lock","heading":"Frozen artifact types: publish path now enforces a type lock","glance":"Type-locked artifacts now block changing their contract or language when publishing.","teaser":null,"tier":"notice","area":"Artifacts","section":"Improvements","position":9,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/frozen-artifact-types-publish-path-now-enforces-a-type-lock","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/frozen-artifact-types-publish-path-now-enforces-a-type-lock.json"},{"anchor":"artifact-comment-auto-react-can-be-withheld-by-rule-logged","heading":"Artifact comment auto-react can be withheld by rule, logged once per artifact","glance":"Artifact comment auto-react can now be silently withheld by a rule, logged once per artifact.","teaser":null,"tier":"internal","area":"Artifacts","section":"Improvements","position":10,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/artifact-comment-auto-react-can-be-withheld-by-rule-logged","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/artifact-comment-auto-react-can-be-withheld-by-rule-logged.json"},{"anchor":"plugin-content-hash-verification-against-claudeai-archives","heading":"Plugin content-hash verification against claude.ai archives","glance":"Plugins from claude.ai now get their downloaded archive verified against the install-time hash.","teaser":null,"tier":"notice","area":"Plugin Marketplace","section":"Improvements","position":11,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/plugin-content-hash-verification-against-claudeai-archives","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/plugin-content-hash-verification-against-claudeai-archives.json"},{"anchor":"artifact-design-system-default-now-framed-as-a-standing-inst","heading":"Artifact design-system default now framed as a standing instruction","glance":"A default design system now applies to every slide deck or visual design by default, with clear precedence rules.","teaser":null,"tier":"notice","area":"Artifacts","section":"Improvements","position":12,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/artifact-design-system-default-now-framed-as-a-standing-inst","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/artifact-design-system-default-now-framed-as-a-standing-inst.json"},{"anchor":"new-claude-desktop-watches-prs-itself-message","heading":"New &#039;Claude Desktop watches PRs itself&#039; message","glance":"Sessions now say when Claude Desktop is already watching a PR itself, and poll instead of using webhooks.","teaser":null,"tier":"notice","area":"Elsewhere","section":"Improvements","position":13,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/new-claude-desktop-watches-prs-itself-message","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/new-claude-desktop-watches-prs-itself-message.json"},{"anchor":"auto-mode-permission-checks-get-finer-grained-unavailable-re","heading":"Auto-mode permission checks get finer-grained unavailable reasons","glance":"Auto-mode's 'action pending' message now explains the specific reason instead of a generic unavailable notice.","teaser":null,"tier":"notice","area":"Auto Mode","section":"Improvements","position":14,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/auto-mode-permission-checks-get-finer-grained-unavailable-re","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/auto-mode-permission-checks-get-finer-grained-unavailable-re.json"},{"anchor":"usage-display-distinguishes-partial-vs-fully-unavailable-rat","heading":"Usage display distinguishes partial vs fully-unavailable rate-limited data","glance":"The usage panel now distinguishes partial rate-limited data from fully unavailable data.","teaser":null,"tier":"notice","area":"Usage & Limits","section":"Improvements","position":15,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/usage-display-distinguishes-partial-vs-fully-unavailable-rat","entry_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.261\/e\/usage-display-distinguishes-partial-vs-fully-unavailable-rat.json"}],"facets":{"sections":[{"value":"What probably matters to you","entries":32},{"value":"New Features","entries":2},{"value":"Improvements","entries":52},{"value":"Bug Fixes","entries":31},{"value":"In Development","entries":14},{"value":"Internal Changes","entries":55},{"value":"Removed","entries":3}],"tiers":[{"value":"notice","entries":81},{"value":"internal","entries":71},{"value":"soon","entries":21},{"value":"use","entries":16}],"areas":[{"value":"Elsewhere","entries":28},{"value":"Plugin Marketplace","entries":19},{"value":"Artifacts","entries":14},{"value":"Internals","entries":12},{"value":"Remote Control","entries":12},{"value":"SDK","entries":11},{"value":"Telemetry","entries":9},{"value":"MCP","entries":8},{"value":"Auto Mode","entries":7},{"value":"Permissions","entries":7},{"value":"Cloud Gateway","entries":6},{"value":"Org Policy","entries":6},{"value":"Plugin Management","entries":5},{"value":"Sessions","entries":5},{"value":"Usage & Limits","entries":5},{"value":"Diagnostics","entries":4},{"value":"Output Limits","entries":4},{"value":"Sandbox","entries":4},{"value":"API Errors","entries":3},{"value":"Cloud Auth","entries":3},{"value":"Prompt Caching","entries":3},{"value":"Terminal UI","entries":3},{"value":"API Headers","entries":2},{"value":"Context Management","entries":2},{"value":"Auto Mode Safety","entries":1},{"value":"Background Agents","entries":1},{"value":"CLI","entries":1},{"value":"Poll Tool","entries":1},{"value":"Subagents","entries":1},{"value":"Terminal Renderer","entries":1},{"value":"Workspace Restrictions","entries":1}]}}