✨ Claude Code v2.1.20 发布了!
✦ 更新内容 • 在 vim 普通模式下,当光标无法再继续移动时,新增方向键历史记录导航 • 在帮助菜单中新增外部编辑器快捷键( Ctrl+G ),提升可发现性 • 在提示输入区底部新增 PR 审查状态指示器:用带颜色的小圆点展示当前分支 PR 状态(已批准 / 需要修改 / 待处理 / 草稿),并提供可点击链接 • 支持通过 –add-dir 参数指定额外目录来加载其中的 CLAUDE.md 文件(需设置 CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1 ) • 新增可通过 TaskUpdate 工具删除任务的能力 • 修复会话压缩( compaction )问题:此前可能导致恢复会话时加载完整历史,而不是压缩后的摘要 • 修复代理在执行任务期间,有时会忽略用户发送的新消息的问题 • 修复宽字符( emoji 、中文/日文/韩文等)渲染瑕疵:宽字符被更窄字符替换时,尾部列未清除导致的残影 • 修复当 MCP 工具响应包含特殊 Unicode 字符时引发的 JSON 解析错误 • 修复在多行/自动换行文本输入中,按上下方向键时应优先移动光标而不是触发历史导航的问题 • 修复按上方向键浏览命令历史时,草稿输入内容会丢失的问题 • 修复在输入过程中键入斜杠命令时“幽灵文本”闪烁的问题 • 修复移除 marketplace 来源时未能正确删除设置的问题 • 修复某些命令(如 /context )出现重复输出的问题 • 修复任务列表有时会显示在主对话视图之外的问题 • 修复在 Python 文档字符串等多行结构内出现 diff 时的语法高亮问题 • 修复取消工具调用时可能导致的崩溃 • 改进 /sandbox 命令 UI:当缺少依赖时显示依赖状态,并提供安装说明 • 改进“思考中”状态文本:增加细微的闪光( shimmer )动画效果 • 改进任务列表:根据终端高度动态调整可见条目数量 • 改进“分叉对话”提示:说明如何恢复原始会话 • 调整折叠的 read/search 分组显示:进行中用现在时(“Reading”“Searching for”),完成后用过去时(“Read”“Searched for”) • 调整队友消息渲染:支持富 Markdown 格式(加粗、代码块、列表等),不再仅以纯文本显示 • 调整 ToolSearch 结果展示:改为简短通知,而不是内嵌在对话中 • 调整 /commit-push-pr 技能:当通过 MCP 工具配置后,可自动将 PR URL 发布到 Slack 频道 • 调整 /copy 命令:对所有用户开放 • 调整后台代理:启动前会先请求工具权限 • 调整权限规则:如 Bash(*) 将被接受并视作等同于 Bash • 调整配置备份:新增时间戳并轮换保留(保留最近 5 份),以防止数据丢失
🔗 https://github.com/anthropics/claude-code/releases/tag/v2.1.20 📅 Published: 2026-01-27 09:35:35
✦ What’s changed • Added arrow key history navigation in vim normal mode when cursor cannot move further • Added external editor shortcut (Ctrl+G) to the help menu for better discoverability • Added PR review status indicator to the prompt footer, showing the current branch’s PR state (approved, changes requested, pending, or draft) as a colored dot with a clickable link • Added support for loading CLAUDE.md files from additional directories specified via –add-dir flag (requires setting CLAUDE_CODE_ADDITIONAL_DIRECTORIES_CLAUDE_MD=1) • Added ability to delete tasks via the TaskUpdate tool • Fixed session compaction issues that could cause resume to load full history instead of the compact summary • Fixed agents sometimes ignoring user messages sent while actively working on a task • Fixed wide character (emoji, CJK) rendering artifacts where trailing columns were not cleared when replaced by narrower characters • Fixed JSON parsing errors when MCP tool responses contain special Unicode characters • Fixed up/down arrow keys in multi-line and wrapped text input to prioritize cursor movement over history navigation • Fixed draft prompt being lost when pressing UP arrow to navigate command history • Fixed ghost text flickering when typing slash commands mid-input • Fixed marketplace source removal not properly deleting settings • Fixed duplicate output in some commands like /context • Fixed task list sometimes showing outside the main conversation view • Fixed syntax highlighting for diffs occurring within multiline constructs like Python docstrings • Fixed crashes when cancelling tool use • Improved /sandbox command UI to show dependency status with installation instructions when dependencies are missing • Improved thinking status text with a subtle shimmer animation • Improved task list to dynamically adjust visible items based on terminal height • Improved fork conversation hint to show how to resume the original session • Changed collapsed read/search groups to show present tense (“Reading”, “Searching for”) while in progress, and past tense (“Read”, “Searched for”) when complete • Changed teammate messages to render with rich Markdown formatting (bold, code blocks, lists, etc.) instead of plain text • Changed ToolSearch results to appear as a brief notification instead of inline in the conversation • Changed the /commit-push-pr skill to automatically post PR URLs to Slack channels when configured via MCP tools • Changed the /copy command to be available to all users • Changed background agents to prompt for tool permissions before launching • Changed permission rules like Bash(*) to be accepted and treated as equivalent to Bash • Changed config backups to be timestamped and rotated (keeping 5 most recent) to prevent data loss