官方原文全文
Release v2.1.234 · anthropics/claude-code · GitHub
There was an error while loading. Please reload this page.
anthropics
/
claude-code
Public
-
Notifications
You must be signed in to change notification settings
-
Fork
22.8k
-
Star
142k
v2.1.234
Compare
Choose a tag to compare
Sorry, something went wrong.
Filter
Loading
-
Sorry, something went wrong.
Uh oh!
There was an error while loading. Please reload this page.
No results found
View all tags
ashwin-ant
released this
17 Aug 20:20
·
1 commit
to main
since this release
v2.1.234
354757e
What's changed
- Added the optional CLAUDE_CODE_PROJECT_DIR_NAME environment variable: hosts that give each session its own config directory can choose a short name for the per-project transcript directory
- Added the selection:clear keybinding action, so a key can be bound to clear an in-app text selection; also works in the agents view
- Added a GitLab merge request badge to the footer and statusline: repos with a GitLab remote and an authenticated glab CLI show MR !N with draft/pending/green states
- Claude Code now continues your session automatically when a claude.ai usage limit resets; turn it off in /config ("Continue automatically at usage limit")
- Claude is now told to use your account email only to identify you, and not to send it to unrelated services unless you ask
- Security: remote file reads, session restore, CLAUDE.md includes, workflow scripts and file uploads now reject Windows NT-namespace (\??\) paths, hardening the remaining pre-approval file accesses against the NTLM credential-leak vector
- Fixed auto mode in very long sessions repeatedly re-checking and denying sandboxed commands' network access after the conversation had been compacted
- Fixed session-scoped permission answers (including denies) being dropped when answering background subagent tool permission prompts
- Fixed a crash when an API response on the non-streaming fallback path (typically via third-party gateways) contained a thinking block missing its thinking field or a text block missing its text field
- Fixed markdown rendering becoming extremely slow for some messages containing unusual Unicode sequences
- Fixed SendMessage rejecting a recipient copied from ListAgents when the session name is at the 200-character cap or emoji-heavy
- Fixed repository detection mis-reading the host of git remotes with unusual userinfo, producing links and repo-specific behavior for the wrong host
- Fixed MCP diagnostics printing resolved secrets: scope-conflict warnings now show the configured ${VAR} form, and connection-failure details show only the server origin
- Fixed strictKnownMarketplaces allowlists accepting SCP-style git marketplace sources whose host differs from the one git would actually connect to
- Fixed modal text such as the /login OAuth URL losing characters when copied in fullscreen
- Fixed a --- horizontal rule in rendered markdown running into the line after it
- Fixed consecutive shell commands splitting into multiple "Ran 1 shell command" rows when todo/task updates were interleaved between them
- Fixed dialogs like /permissions opened while a ! shell command was running being dismissed when the command finished
- Fixed a queued ! shell command being sent to the model as plain text after pressing up-arrow to edit the queued input
- Fixed queued messages reappearing in the prompt history while still queued, Esc while selecting a queued message no longer interrupts the turn, and ! mode no longer sticks after a mid-turn submit
- Fixed accepting the "Try the new fullscreen renderer?" prompt restarting the session without its permission mode (e.g. --dangerously-skip-permissions), tool allow/deny rules, model or effort flags
- Fixed /tui dropping launch --allowed-tools/--disallowed-tools rules when it restarts; it now declines to switch, with the reason, when the session has restrictions a restart can't carry over
- Fixed trust prompts omitting the repository-wide scope warning when the directory was first seen before the repository existed there
- Fixed a case where an IDE diff tab closing during a permission re-prompt could answer the new prompt with the previous input
- Fixed: files sent to the user during Remote Control sessions hosted by Claude Code Desktop or VS Code now upload, so they open on phone and web instead of showing an empty card
- Fixed: after /login while CLAUDE_CODE_OAUTH_TOKEN is set, the stale-token reminder no longer leaks into Claude's automatically resumed turn — it now appears only to you
- Fixed: permission previews now relay only to channel servers admitted by the inbound trust gate, and a server's explicit permission-capability opt-out is honored
- Fixed: credential masking on relayed permission previews can no longer hide commands, paths, or destinations from the approver; oversized private-key blocks now redact under full-strength redaction
- Fixed: provider API tokens that mask on permission previews now mask even when directly followed by shell delimiters
- Fixed Claude Desktop inter-session messages being silently dropped by the recipient session when cross-session messaging read as disabled, which left the sender's query "thinking" for many minutes
- Remote Control: signing this computer in to a different claude.ai account or organization now stops the running session within seconds and says why, instead of a misleading HTTP 404 hours later
- Remote Control sessions started from Claude Code Desktop or VS Code now keep phones and claude.ai/code updated on the session's permission mode (and claude.ai/code on the model) as they change
- Remote Control: effort picks made on a phone or on claude.ai/code now apply to terminal- and Desktop/VS Code-hosted sessions, and the session publishes its effort level to connected clients
- SendMessage and ListAgents now say when your account's session list was too long to check completely, instead of treating unseen sessions as absent
- Expired Anthropic profile credential now points you at /login when a claude.ai login would take precedence
- Improved the transcript: your own prompts now render markdown (highlighted code blocks, inline code, lists) the same way replies do
- Improved the "API returned an empty or malformed response" error to say what came back (content type, body kind, size, request ID) and why the original streaming request failed
- Improved auto-generated session titles to read as short, specific names (e.g. "Login button bug") rather than sentences restating your request (e.g. "Fix the login button on mobile")
- Reduced the context cost of loading the built-in claude-api skill from ~200k+ tokens to ~25k by loading reference docs on demand
- /permissions can now be opened while Claude is working — rule changes apply to the rest of the current turn
- /add-dir <path> can now be used while Claude is working; /add-dir, /autocompact, /theme, /help, /config and /advisor dialogs open mid-turn in the fullscreen TUI
- /goal now clears itself with a notice when a turn dies on an unrecoverable error (e.g. revoked auth, an exhausted credit balance, or a context overflow) instead of staying armed
- /goal: when background tasks keep a goal waiting for 30+ minutes, Claude now checks in on them instead of waiting indefinitely (set CLAUDE_CODE_GOAL_CHECKIN_MINUTES=0 to opt out)
- claude setup-token now rejects unexpected extra arguments instead of silently ignoring them
- Changed Esc in fullscreen mode to no longer clear a mouse text selection: it interrupts or dismisses as usual and the selection stays highlighted
- Removed the redundant "Allowed by auto mode classifier" line that auto mode showed under every Agent tool call
- Removed the "Default teammate model" setting from /config; agent-team teammates now use the leader's model unless the spawn names one
- Dimmed the elapsed-time counter on the running tool header so it no longer competes with the bold counts
- Background task notifications delivered between turns are now sent to the model inside <system-reminder> tags, matching mid-turn delivery
- Mantle: skip the admin-pin availability probe at startup when a main-loop model is already picked
- Windows: startup no longer stalls on repeated rename retries when ~/.claude.json is read-only
Assets
12
Loading
Uh oh!
There was an error while loading. Please reload this page.
19 people reacted
AI 编程工具的版本更新往往同时影响开发体验和安全边界。Anthropic 发布的 Claude Code v2.1.234 是一个小版本,但更新范围横跨项目会话、GitLab 协作、用量恢复、Windows 路径、MCP 诊断和第三方网关兼容性,值得把它看作一次面向生产使用的边界整理。
会话与协作体验
版本新增可选的 CLAUDE_CODE_PROJECT_DIR_NAME 环境变量,为每个项目会话配置更短的 transcript 目录名;同时加入 selection:clear 键绑定动作。GitLab 远程仓库在满足认证条件时可显示 MR 徽章、草稿和待处理状态,让代码代理的工作流更接近团队已有的审查流程。
另一个与 Token 使用直接相关的变化是:Claude.ai 用量限制重置后可以自动继续会话,用户也可以在 /config 中关闭该选项。对长会话来说,自动恢复减少了人工重启,但团队仍需要观察重试是否带来额外调用成本。
安全修复覆盖多个边界
Release notes 提到远程文件读取、会话恢复、CLAUDE.md、工作流脚本和文件上传等路径的安全修复,并拒绝 Windows NT namespace(\\??\\)路径,以减少 NTLM 凭据泄露风险。与此同时,MCP 诊断输出中解析后 secret 的泄露问题也被纳入修复范围。
版本还处理了第三方网关非流式响应缺少 thinking/text 字段时的崩溃,以及长会话和后台子 agent 权限相关的问题。对接入中转站的团队来说,客户端面对字段不完整的响应时应给出可读错误,而不是让整个会话退出。
- 新增项目目录名环境变量与 selection:clear 键绑定。
- GitLab MR 徽章、草稿和待处理状态进入满足认证条件的仓库视图。
- 用量重置后可自动续接会话,并支持通过 /config 关闭。
- 安全修复涉及 Windows 路径、远程读取、工作流、上传和 MCP 诊断 secret。
TopoReduce 编辑观察
桌面 AI 工具的可靠性不只取决于模型质量,还取决于会话目录、网关协议、工具权限和诊断日志这些“边缘”是否稳定。对产品集成方而言,每次升级都应使用真实的流式与非流式响应、权限边界和回滚副本做验证。