Claude Code v2.1.321 发布:新增 Claude Fable 5.2 默认模型
v2.1.321
用 Claude Code 的人快升级,这版把 MCP OAuth 泄露 token、只读命令绕过沙箱这类安全洞都补了。新默认模型 Claude Fable 5.2 支持 1M 上下文,缓存读价格也降到了 0.2 美元每 M token,长会话成本能省不少。
Anthropic 的命令行工具 Claude Code 推出 v2.1.321 版本,引入 Claude Fable 5.2(claude-fable-5-2)作为新的默认 Fable 模型。该模型支持 1M 上下文,定价为每百万 token 输入 8 美元、输出 40 美元,缓存读取每百万 token 0.20 美元。
本次更新在安全与权限层面做了多项修复:修复了 MCP OAuth 请求在服务器重定向时把 refresh token 等机密发送到其他主机的问题;修复只读 Bash 命令绕过沙箱不弹权限提示、deny 规则不覆盖 cp/mv 写入目录的文件、Bash 权限检查误判文件写入路径等漏洞。工具层面新增 --settings 参数,可让 claude remote-control 对每个会话统一应用设置文件。
其余修复集中在稳定性:网络路径(UNC 共享、WSL 文件夹)下 NotebookEdit 会误删或覆盖笔记本第一个单元格、Edit 命令在空 old_string 时替换整个文件等问题均被处理;还修正了 /config 权限模式显示错误、插件在多个 worktree 下重复下载、上下文用量统计高估工具定义 token 数等细节。
v2.1.321
What's changed Added Claude Fable 5.2 ( claude-fable-5-2 ), now the default Fable model — 1M context, $8/$40 per Mtok with $0.20/Mtok cache reads Added --settings <file> to claude remote-control , which applies a settings file to every session it starts; if the file changes, no new session starts until you restart claude remote-control Fixed MCP OAuth requests sending secrets such as refresh tokens to another host when a server redirected them Fixed a case where a read-only Bash command ran outside the sandbox without a permission prompt Fixed a case where Bash permission checks judged a file write from the wrong folder and didn't prompt Fixed deny rules and protected-file prompts not applying to the file that a cp or mv into a directory writes Fixed the "Draws from usage credits" note showing after a switch to Fable on Enterprise seats whose plan includes Fable Fixed the fallback model sometimes declining a request or mentioning a stopped response when the first model was blocked before replying Fixed claude mcp login printing a SEP-2352 issuer warning each time you sign in again to a server that Claude Code registered with Fixed NotebookEdit deleting or overwriting a notebook's first cell when the call named no cell, on network paths (UNC shares, WSL folders, /net mounts) Fixed Edit changing the first of several matches, replacing a whole file on an empty old_string , or editing a notebook as text, on network paths (UNC shares, WSL folders, /net mounts) Fixed /config showing Manual as the default permission mode when new sessions start in auto mode; pressing Space on "Auto (default)" now saves Don't Ask, not Plan Windows: Fixed FileChanged hooks stopping for paths set through watchPaths after the first shell command, when the session's working directory had a lowercase drive letter Fixed --plugin-dir . and --plugin-dir ./builtin writing generated type files for Claude Code's built-in plugins into a builtin folder Fixed context usage estimates overcounting tool definitions when exact token counts are unavailable Fixed /compact showing twice in Remote Control on web and mobile Fixed plugin auto-updates and /plugin marketplace updates downloading a plugin again for each worktree or folder of a repository Fixed auto mode losing a background subagent's report that had started a turn when the conversation was compacted before Claude answered it Fixed project skills, commands and agents staying missing after their folder was removed and came back mid-session, such as with git stash , including after entering a worktree Fixed claude -p sometimes telling Claude that background commands get 30 minutes when they are stopped after 10 Fixed pkill , pgrep and pidwait in cloud sessions matching the session's own parent processes Fixed Claude in Chrome and computer use server processes staying alive after their parent exits behind a proxy that stalls connections Fixed a large hook output pointing Claude to a file that held another hook's output from the same tool call Fixed apps that embed Claude Code getting their own PreToolUse hook's ask reason instead of another hook's when both asked Fixed a PreToolUse hook's ask being lost when another hook's defer finished first and could not be honored Fixed a rare crash on permission prompts and background tasks Fixed project skills, commands and agents disappearing from the menu in SDK and desktop sessions after Claude entered a worktree Fixed /desktop on macOS saying Claude Desktop is not installed when it is in ~/Applications Fixed OpenTelemetry repository attributes ( vcs.* ) missing from Claude Desktop sessions that start on a pre-started process Fixed WebFetch passing "No response from model" to Claude as page content when the model reading the page returned no text; the call now fails with a clear error Fixed screen reader mode delaying the prompt at startup when the system clock moved back while Claude Code was starting Fixed a command's panel sometimes not coming back after a dialog closed, leaving no panel or prompt on screen until the next redraw Fixed a project's MCP server being disconnected after the first message in a Claude Desktop Code tab session when the desktop app has an MCP server or extension of the same name Fixed a turn ending with "API Error: EPROTO: The TLS handshake failed" when the connection broke partway through a reply; the partial reply is kept or the request is retried, as before 2.1.302 Fixed high memory use in long sessions that repeatedly read single lines from large files Fixed fast mode losing replies, switching models or retrying for minutes when fast serving is rate-limited, overloaded or failing; it now tries standard speed on the same model first Fixed one request carrying far more background agent reports than intended after Claude was stopped while several were waiting Fixed messages from a Claude Desktop Code tab session to your other sessions staying paused after you typed while Claude was still working Fixed claude agents ignoring --permission-mode , --dangerously-skip-permissions , --model , --effort or --agent typed before agents when a flag such as --verbose was also on the line Fixed a case where Remote Control showed as off with "login expired" in the desktop app while its connection was still up, because the app was briefly unable to hand over a sign-in token Fixed a Remote Control message sent with "Queue for later" reaching Claude in the middle of the running turn Fixed the git status given to Claude at session start reading as clean when git status failed; it now reads as unavailable Fixed the git status given to Claude at session start showing the first listed file as staged when its changes were not staged Fixed a hang or out-of-memory crash when a connector in a cloud session lists resources with very long names Fixed Remote Control showing as connected after its connection closed for good while the session's history was still uploading Fixed screen reader mode turning off when you return to a conversation from agent view Fixed screen reader mode y/n questions taking as yes a stray "y" at the end of text typed as the question opened Fixed cloud sessions telling Claude that a host is probably not allowed when it is allowed and the network proxy could not connect to it Fixed an MCP server sometimes showing as connected with no tools after it was reconnected or the session's directory changed while its tools were still loading Fixed Bash commands sometimes running in the wrong folder when Claude sent several at once and an earlier one changed folders Fixed files Claude sends from cloud and Remote Control sessions failing at once when an upload gets an HTTP 507 from a proxy; the upload now gets a second try Fixed new messages not being saved, and claude -p , SDK and VS Code sessions hanging, when memory ran out while the transcript was being read Fixed sign-in, token refresh and logout waiting indefinitely when something on the network accepts the connection but never answers the TLS handshake Fixed a sent file showing under a different name in the Claude apps when its name hid text-direction or control characters; Claude now refuses to send such a file Fixed sub-agent progress summaries running a request to its end after the model replied with a tool call Fixed Bash reads such as grep -r foo "$PWD/src" asking for permission when the same command with the path typed out runs without asking Fixed Claude apps gateway refusing to start when a desktop setting holds a field newer than the gateway, such as a managed MCP server's oauth.omitResource ; it now warns and serves it Fixed Bash commands coming back empty for zsh users whose .zshrc sets KSH_OPTION_PRINT macOS: Fixed "Unable to read managed policy settings" at startup when a valid MDM profile was slow to read: the read is retried once, and a timeout is now reported as a timeout Fixed agent view erasing another agent view's saved input text when it restarted for an update with nothing typed Fixed remote sessions giving no reply after a restart when a UserPromptSubmit hook blocked a replayed permission answer; these hooks no longer run on that replay Fixed claude remote-control accepting a y typed without Enter at its first-run question when the terminal's input ended Fixed Claude Desktop not showing spend limit warnings behind a Claude apps gateway whose policy has no code: rules Fixed fullscreen sessions with some plugins ending with an error when a tool result that had got shorter scrolled off the top of the screen Fixed prompt suggestions making extra API requests when the model replied with a tool call Fixed PreToolUse mcp_tool hooks on stdio and HTTP MCP servers being skipped when their answer was over 16 MiB; the tool call is now refused Fixed skill and command names holding a Bamum letter that some fonts draw as blank: they are now refused Fixed claude -p on Linux exiting 0 in silence when a full NFS export or a used-up NFS quota lost transcript lines: it now prints an error and, in text and json output, exits 1 Fixed background agents being reported as stopped by the user, and refused a resume, when a service interrupted a cloud session and nobody pressed Stop Fixed NotebookEdit reporting success to hooks and telemetry when the edit failed, for example when the notebook changed while the permission prompt was open Fixed a blank screen or no answer at startup, and empty claude mcp list output, when a stored MCP sign-in record was null Fixed the Artifact tool telling Claude to add filters when an artifact's database collection is too large to sort; it now says to read the collection page by page and sort the results Fixed a restarted cloud session dropping a message with a large image when the restart came before Claude's first reply to it Fixed a restarted cloud session leaving a subagent's message to the main conversation unanswered Fixed Claude not being told when you stop or pause a running workflow, so it no longer says the workflow is still running Improved the /model picker: "More models" is now an unnumbered row below every other, and older models open under it without renumbering the rest Gateway: Improved spend limits on a busy replica, which now skips fewer checks and records spend sooner Improved the Claude apps gateway's sign-in limit messages in Claude Code and on the /device page: they no longer name gateway settings, which the gateway's own log still names Improved claude install and the install scripts: they finish 2 to 4 seconds sooner Improved how soon a Remote Control session whose process crashed can pick up a new message Windows: Improved startup and first-command time by finding programs on PATH without starting a helper process Improved auto mode in headless sessions, the desktop app and VS Code: reports from background subagents that wait together are answered in one model call, as in the terminal Improved the agent view's row for a claude --bg --worktree session that couldn't set up its worktree: it now shows the error from its beginning, not an internal tag or its last 200 characters Improved the messages shown when an artifact is in another organization: /login is offered only if it's one of yours, and Claude now says where a copy may be after an account move Improved sessions with more images than fit in one request: Claude is told whether it has already seen a dropped image, and repeat reads of an unchanged image are limited Improved claude remote-control 's messages for an unanswered first-run question: each now says what to do next Improved start-up time by loading trusted TLS certificates faster Improved Claude apps gateway error messages to show the gateway's address without any user name or password Improved the Claude apps gateway's spend limit error: the reset now shows in your local time, such as "resets 4pm (America/Los_Angeles)" Windows: Improved startup time with a standard Git for Windows install by no longer checking which git.exe to run on every launch Updated the session-feedback message and the allowedProviders setting description to name Ultra alongside Pro and Max, and the forceLoginMethod description to cover every paid Claude plan Updated the bundled dataviz skill to suggest a list of meters, one row per item, for several ratios that each have their own limit Updated the "Upgrade to Max" options to say "Upgrade to Max or Ultra" Changed mods Claude writes to turn on without asking in auto and bypass modes, even with managed allowUnsandboxedCommands: false or allowManagedDomainsOnly , and not to load in dontAsk mode Changed mods' own tool calls ( $.tool.call , $.mcp.call ) to raise no permission prompt, even under your own ask rules or in dontAsk and -p runs; deny rules and organization policy still apply Changed saved Fable 5.1 model picks to move to fable : on Pro and Max plans at once, on Team and Enterprise plans once your organization allows it; use /model claude-fable-5-1 to switch back Changed the fast mode labels in /fast , /config and /model to name your current model when it supports fast mode, and removed "(Opus only)" from the VS Code row Changed nested skill loading: .claude/skills folders inside ~/.claude/plugins no longer load when Claude works on files there Self-hosted runner: Changed an on-demand runner that the server refuses because it is not needed (session ended or paused, work order superseded) to exit 0 instead of 1 Windows: Changed how Claude Code finds programs it starts itself, such as git, to skip relative and UNC PATH entries and links onto a network share, and to pick up PATH changes from settings Changed OpenTelemetry hook events in non-interactive sessions to leave two built-in hooks out of num_hooks and num_success after Bash and PowerShell calls Changed the number of messages a Claude Desktop Code tab session can send to your other sessions before it waits for you to type again from 10 to 20 Changed AskUserQuestion in claude -p and SDK sessions to deny a host's permission answer that sets the undocumented afkTimeoutMs input field Changed managed extraKnownMarketplaces : a declared name can't be added from another source, an entry from elsewhere is hidden, and plugins the declared marketplace lists are reinstalled from it Changed Claude in Chrome tools that an app running Claude Code provides, such as the Claude desktop app's Code tab, to follow your organization's Claude in Chrome policy Changed policy_mode: layered in the Claude apps gateway: managed MCP servers now add up over every matching policy, match: {} included, so a gateway already on it serves more after the upgrade Gateway: Changed Bedrock, Vertex and Foundry upstreams to ignore the ANTHROPIC_*_BASE_URL variables in the gateway's environment. Set base_url on the upstream to use another endpoint Changed headless sessions to reload mods in .claude/skills when their files change; set CLAUDE_CODE_PLUGIN_DIR_WATCH=0 to turn this off Changed the Cyber Verification Program sentence on a cyber safeguard block to use the same words as claude.ai Changed Cowork cloud sessions: a PostToolUse hook can no longer replace the answer to AskUserQuestion or the plan in ExitPlanMode's result; Claude reads the originals Changed cp and mv spelled by a path, such as /bin/cp , to get the same path checks as cp and mv Changed background command notifications and TaskStop results to show Claude only the start and end of a command over 1,000 characters, which saves context Changed artifact design guidance to treat Inter and Space Grotesk as good default typefaces Changed the account email check to refuse only a shell command that holds your email and names a User-Agent, without asking, so other commands and scheduled runs no longer stop at its prompt Changed Remote Control sessions to keep the folder they were started in: a connected client can no longer move a session to another folder Changed managed extraKnownMarketplaces take-overs from an undeclared source: saved data is set aside for cleanupPeriodDays , and options and secrets until claude plugin restore-set-aside [VSCode] Added a warning above the prompt box when both an auth token and an API key are set, matching the terminal's startup warning [VSCode] Fixed a plugin's permission request showing a name with hidden characters: it now reads "a plugin"
This report is categorized under AITOP's "Products" desk, focusing on US frontier AI labs and Silicon Valley technology leaders. Within our cross-regional analytical framework, it directly maps to AI developer toolchains, coding agents, and engineering workflows and US-China foundation model benchmarks and commercialization comparison. Key entities and technical topics under continuous tracking include Claude Code, Claude Fable 5.2, MCP, Anthropic.
Primary source verification: published directly by Claude Code: GitHub Releases with first-party authority. Cross-source corroboration: 11 independent sources have covered this development (including berryxia, lmarena.ai, kimmonismus), confirming industry-wide signal strength.