|
1 | 1 | # Changelog |
2 | 2 |
|
| 3 | +## 2.1.283 |
| 4 | + |
| 5 | +- Added `x-claude-code-prompt-id` to the gateway hint headers so LLM gateways can group the requests that serve one user prompt; opt in with `CLAUDE_CODE_GATEWAY_HINT_HEADERS=1` |
| 6 | +- Added `availableModelsMatch` managed setting: with `"exact"`, an `availableModels` entry allows only the model version it names, so new releases stay blocked until listed |
| 7 | +- Added `deniedModels` managed setting to block specific models, even when `availableModels` allows them |
| 8 | +- Added MCP tool, WebFetch and WebSearch outputs to the `tool.output` OpenTelemetry span event when `OTEL_LOG_TOOL_CONTENT=1` |
| 9 | +- Added `/doctor prompt-audit` (also `/checkup prompt-audit`) to audit your CLAUDE.md files, skills, agents and commands for prompting patterns written for older models |
| 10 | +- Added click-to-expand for truncated messages from your other sessions in fullscreen mode |
| 11 | +- Added `path` to `--plugin-dir` load-failure entries in the stream-json `system/init` `plugin_errors`, naming the directory that did not load |
| 12 | +- Added an opt-in `load_test_mode` block to the Claude apps gateway config: requests are built and signed but not sent upstream, and clients get a canned reply, so a deployment can be load tested |
| 13 | +- Added a `mantle` upstream provider to the Claude apps gateway for Amazon Bedrock's Mantle endpoint |
| 14 | +- Fixed SDK sessions losing a deferred tool call or finished tool result when a turn ended early, a held approval prompt after a worker restart, and a non-streaming fallback's `result.usage` |
| 15 | +- Fixed MCP progress notifications being discarded once a long-running tool call moved to the background; the background task now shows the latest progress |
| 16 | +- Fixed stdio MCP servers being left running when the session ended while they were still starting |
| 17 | +- Fixed a brief HTTP 404 from a stateless remote MCP server (for example a proxy mid-redeploy) leaving that server unusable for the rest of the session while still shown as connected |
| 18 | +- Fixed MCP sign-in for a server with no valid URL failing with an opaque SDK error; `/mcp` no longer offers Authenticate for such servers |
| 19 | +- Fixed the weekly Fable limit not appearing in `/usage` and the VS Code usage meters when telemetry is disabled |
| 20 | +- Fixed `/model` accepting Sonnet 4.6 or Sonnet 5 with `[1m]` when the id carried a date or `-v1:0` suffix, in the cases where the plain id was refused |
| 21 | +- Fixed `/model` picker showing a hardcoded Haiku version and price when `ANTHROPIC_DEFAULT_HAIKU_MODEL` pins a different model |
| 22 | +- Fixed dynamic workflows started during a model fallback running every agent on the fallback model instead of retrying the configured model |
| 23 | +- Fixed `DISABLE_PROMPT_CACHING_HAIKU` having no effect when Haiku is the session's main model |
| 24 | +- Fixed `claude plugin validate` saying Claude Code accepts a plugin or marketplace name it cannot install; such names in `marketplace.json` now fail validation |
| 25 | +- Fixed `claude plugin validate` passing plugins whose `outputStyles`, `themes`, `monitors`, or `lspServers` paths are missing or point outside the plugin directory |
| 26 | +- Fixed `claude plugin details` showing 0 MCP servers for plugins that declare their servers in `plugin.json` |
| 27 | +- Fixed `claude plugin marketplace remove` not saying which installed plugins it uninstalled with the marketplace; it now lists them |
| 28 | +- Fixed `claude plugin uninstall` removing the other of two installed plugins whose ids differ only in case, with its options and secrets, when the one named had no `enabledPlugins` entry at that scope |
| 29 | +- Fixed plugins that declare no version being silently restored at their source's newest commit, not the installed one, when their cached files were missing |
| 30 | +- Fixed user-installed plugins and marketplaces failing to load with "cache-miss" after the home or config directory was moved, for example in bind-mounted devcontainers |
| 31 | +- Fixed `installed_plugins.json` showing no plugins when it holds a record under an invalid plugin id; such a file loads again |
| 32 | +- Fixed `installed_plugins.json` being rewritten, losing records, when it holds a record this version cannot read; `claude plugin` commands now name the record and say how to recover |
| 33 | +- Fixed permission dialogs in screen-reader mode reading quoted commands and paths as if they were the dialog's own text |
| 34 | +- Fixed `/context` not counting MCP server instructions: they now appear as their own row and count toward the total |
| 35 | +- Fixed markdown links in the Warp terminal rendering as plain text instead of clickable hyperlinks |
| 36 | +- Fixed `claude mcp add`, `add-json`, and `remove` reporting success when the user or local config file could not be written, for example inside a sandbox |
| 37 | +- Fixed the first words of a reply in a cloud session sometimes appearing late instead of streaming as Claude writes them |
| 38 | +- Fixed Claude's built-in keybindings guide saying chords time out after 1 second instead of 3, and calling `cmd` an alias of `meta`, which could produce `cmd+` shortcuts most terminals never send |
| 39 | +- Fixed `keybindings.json` silently accepting a misspelled modifier such as `ctl+k`; it now warns in the debug log and suggests the fix |
| 40 | +- Fixed footer hints still saying "Enter to view" after `footer:openSelected` was rebound or unbound in `keybindings.json` |
| 41 | +- Fixed keys typed quickly together (type-ahead, key repeat, bursts over ssh or tmux) sometimes being handled against stale state |
| 42 | +- Fixed worktree checkouts failing certificate verification (for example on Git LFS downloads) when the CA certificate is passed to git as `GIT_CONFIG_COUNT` environment pairs |
| 43 | +- Fixed sandboxed `git` asking credential helpers to store the sandbox proxy's login, which printed "failed to store" |
| 44 | +- Fixed managed `sandbox` settings being ignored entirely when one nested value was invalid; the invalid value now fails closed and the rest of the block still applies |
| 45 | +- Fixed Claude's edits to its own auto-memory notes being blocked as sensitive-file writes when Claude Code was started in a subdirectory of a git repository |
| 46 | +- Fixed Remote Control being unavailable on paid plans when telemetry is turned off with `DISABLE_TELEMETRY` or `DO_NOT_TRACK` |
| 47 | +- Fixed the `/remote-control` menu cutting its QR-code hint mid-word in narrow terminals |
| 48 | +- Fixed vim mode `.` dropping a Shift+Enter newline, leaving the cursor inside an accented letter, and repeating an older change after `3J` or Visual-mode `J` on the last line |
| 49 | +- Fixed vim mode cursor placement: recalling a prompt over 10,000 characters in normal mode no longer leaves the cursor past the end, and `V` then `p` now lands on the first non-blank |
| 50 | +- Fixed vim mode `J` joining lines with different spacing than Vim (such as a space before `)` or after a tab), and `3J` or Visual-mode `J` on the last line not moving the cursor as Vim does |
| 51 | +- Windows: Fixed the PowerShell tool letting `cmd /c rd`, `rmdir`, `del` or `erase` delete drive roots, the home folder and other folders that `Remove-Item` refuses |
| 52 | +- Improved the `/mcp` tool list: it shows more tools at once, scrolls with the page keys and mouse, and marks tools your organization blocked with a warning icon |
| 53 | +- Improved MCP tool results: images returned by MCP tools are now also saved to a file, so Bash, Read and other tools can open them |
| 54 | +- Improved `/tasks`: rows show a status icon, the name and whole facts, the title and key hints stay on screen with many tasks, and the list gains paging keys, the mouse wheel and clicks |
| 55 | +- Improved lists in `/help`, `/hooks`, `/copy`, `/chrome`, `/memory`, `/ide`, `/release-notes`, `/rewind`, `/diff`, `/remote-env`, `/plugin` and other pickers with page keys, mouse wheel and clicks |
| 56 | +- Improved lists beside a search box, such as `/skills` and `/artifacts`, to draw their pointer dim while the search box has the keys, so only one pointer is highlighted |
| 57 | +- Improved the compaction spinner: its timer now starts when compaction begins and it counts the summary's tokens as they stream, replacing the percentage bar |
| 58 | +- Improved the browser page shown after signing in to an MCP server: centered layout, dark mode, and new artwork |
| 59 | +- Improved the Skill tool's reply when a skill belongs to a plugin that failed to load, so Claude tells you the plugin could not be loaded instead of calling the skill uninstalled |
| 60 | +- Improved `prompt-audit` on Claude Code configuration: stale paths, stale commands and contradicting instruction files now lead the report, and thinking keywords that Claude Code documents are kept |
| 61 | +- Improved recovery from an `installed_plugins.json` that cannot be read at all: its contents are kept in a file beside it before it is rebuilt, and `claude plugin list` names that file |
| 62 | +- Improved artifact database reads: an ordered query that returns a full page now says it is one page and how to read the rest |
| 63 | +- Improved first-reply latency: a pattern-compile step that ran at the end of a session's first reply now runs while the reply streams in |
| 64 | +- Improved first-request latency by reusing the preconnected API connection |
| 65 | +- Improved startup: `claude -p` and Claude Code Remote no longer load the interactive UI, and the auto-mode classifier's rules and the Artifact tool load on first use instead of at launch |
| 66 | +- Improved startup for claude.ai accounts whose Artifact tool features aren't known yet, as on a first run: the prompt no longer waits up to 1.5 s to check them; the first message waits if needed |
| 67 | +- Changed interactive sessions on third-party providers or with telemetry off to start in auto mode when no permission mode is configured; `permissions.defaultMode` still overrides it |
| 68 | +- Changed the `/ultrareview` launch dialog to say that reviewing a local branch may upload uncommitted changes to tracked files |
| 69 | +- Changed the `/model` picker's Opus row and the Default model's name to drop "(1M context)" where Opus already has a 1M context window; the window is unchanged |
| 70 | +- Changed prompt suggestions in the terminal to appear less often after 20 in a row go unused; using one brings them back |
| 71 | +- Changed `--system-prompt` and `--append-system-prompt` to accept their text and `-file` forms together; the file's text comes first |
| 72 | +- Changed `Skill(anthropic-skills:<name>)` deny rules to also block that skill when Claude Desktop delivers it as a plugin, and `Skill(skill:<name>)` denies to match the skill's alias and display name |
| 73 | +- Changed `/rewind` and `/diff` lists to move on the same keybinding actions as every other list (`select:*`); `messageSelector:*`/`diff:*` rebinds still work |
| 74 | +- Changed the `/workflows` run list to size itself like other lists: half the terminal inline, and it keeps its title on screen when the prompt shows below |
| 75 | +- Changed `claude plugin eval` to require git 2.31 or later when git is installed; a run on an older git is refused with a message naming the version |
| 76 | +- Changed artifact watching: a watch that was armed automatically (not one you asked for) now ends after 3.5 hours with no activity; publishing or watching the artifact again re-arms it |
| 77 | +- Self-hosted runner: Changed lifecycle hooks' git to skip a repository's Git LFS `pre-push` hook, ignore a writable system `core.hooksPath`, and not sign commits without `--configure-git` |
| 78 | +- Self-hosted runner: Changed `GIT_SSL_CAINFO` and `GIT_SSL_NO_VERIFY` under Anthropic-managed git: the runner's own git always verifies Anthropic's git route, and warning lines say what applies where |
| 79 | +- Reverted the 2.1.282 reservation of the `claude-ai` name: skills, commands, workflows and MCP servers' skills and prompts so named load again, and `Skill(claude-ai:*)` rules are ordinary prefix rules |
| 80 | +- [VSCode] Fixed the permission mode indicator showing Default while the session kept running in auto or bypass mode after an automatic switch out of it failed; the switch is now retried until it lands |
| 81 | +- [VSCode] Fixed a session teleported from the web dropping the messages sent while Claude was working |
| 82 | +- [VSCode] Fixed a Web session staying hidden from the session list, and an empty chat opening in its place, when an older version had saved an empty local copy of it |
| 83 | +- [VSCode] Fixed a reopened session splitting a turn at a message Claude received mid-turn, such as an automatic continuation |
| 84 | +- [VSCode] Fixed a reloaded session showing a rewound-away turn, or only the rows before a compaction |
| 85 | +- [VSCode] Fixed the footer's agents pill drawing its icon off-center, with the status dot against the edge, in narrow panels |
| 86 | +- [VSCode] Fixed the chat input showing its text slightly below the cursor and selection after pasting lines that end with a line break into a long prompt |
| 87 | +- [Cloud sessions] Improved adding a repository to a running cloud session: a private repository your GitHub account can read but not push to now attaches for reading |
| 88 | +- [Cloud sessions] Fixed cloud sessions occasionally redoing an already-finished step, such as posting a duplicate comment or push, after recovering from a server-side restart |
| 89 | +- [Cloud sessions] Changed new routine schedules to default to a few minutes past the hour, with a note that routines set exactly on the hour can start several minutes late |
| 90 | +- [Claude Tag] Added a "Channels Claude can search" admin setting that limits Claude's Slack search to public channels it has been added to, set per organization, workspace or channel |
| 91 | +- [Claude Tag] Added a Back to Slack button on the page shown after connecting your Claude account, returning you to the thread you started from |
| 92 | +- [Claude Tag] Fixed a channel's configure page listing no connectors or plugins when the channel gets its access bundle through an attach rule; rule-attached bundles are now shown |
| 93 | +- [Claude Tag] Fixed access-bundle repository search missing repositories on GitHub App installs that are limited to a large list of selected repositories |
| 94 | +- [Claude Tag] Fixed Claude occasionally posting the same reply twice when a new message interrupted it mid-reply |
| 95 | +- [Claude Tag] Fixed channel routines that stopped running in older private channels whose Slack channel ID changed, for example after a Slack Connect share |
| 96 | +- [Claude Tag] Fixed conversations in a channel set to "Channel only" all ending when a non-guest member joined and Slack was slow to confirm their membership |
| 97 | +- [Code Review] Fixed "@claude review" requests going silent when GitHub failed to return the pull request: the request is retried once, and a comment explains if it still fails |
| 98 | +- [Code Review] Fixed billing for a review that stopped at its time limit with nothing verified: it now shows as incomplete, isn't charged, and is retried once |
| 99 | + |
3 | 100 | ## 2.1.282 |
4 | 101 |
|
5 | 102 | - Added a `maxProseWidth` setting that caps the width of Claude's prose in wide terminals while tables and code blocks keep the full width |
|
0 commit comments