跳到主要内容

34 篇博文 含有标签「Claude Code」

查看所有标签

Claude Code v2.1.162 发布 —— 20 多个修复背后,Claude Code 终于开始重视边角体验了

· 阅读需 4 分钟

Claude Code v2.1.162 封面

以前:claude agents 的每个入口都藏着问题

改得最多的地方是 claude agents。如果你没用过这个功能:它能列出你跑了一半被中断或切到后台的 agent 会话。听起来简单,用起来折腾。

最典型的是 attach 操作——你按方向键进去,又弹回来,又进去,又弹回来。CHANGELOG 只写了一行「偶尔 bounce 回去」,但碰过的都知道那体验有多吃瘪。修法也很直白:background service 重启后重建会话列表时,第一次尝试不再盲目 attach,先确认连接状态再跳转。

还有跨会话消息——SendMessageCLAUDE_CODE_TMPDIR 指向深层路径时直接沉默了。什么叫深层路径?不是路径里文件夹多,是 $TMPDIR 本身就被嵌套在别的进程空间里,子进程找不到通信 socket。这个 bug 从 v2.0 就存在。

现在:权限系统的缝隙一个个堵上

几个安全相关修复值得单独说。

WebFetch 有一个设计缺陷:明确写了 WebFetch(domain:xxx) deny,但内置的预审批域名有更高的优先级——你写了 deny 也没用,预审批名单覆盖了你的规则。v2.1.162 改成了「用户规则 > 内置规则」的顺序。

Windows 上的权限规则匹配更离谱:路径里用 ~\(用户目录简写)或 \\server\share(UNC 路径),规则直接不生效。修法是统一做路径归一化——不能假设所有用户都用 C 盘全路径写配置。

Read deny 也不够狠:你 denied 了一个目录的读取,但 Glob/Grep 搜索时还是能从那个目录返回结果,直到渲染结果时才被拦截。修完后搜索阶段就过滤 deny 路径,不等到输出时再判。

堆了太久的亲民修复

这个版本的另一半重心是那些"终于有人处理了"的边角 bug:

MCP 超时陷阱timeout 设成 500ms,Claude Code 把它降到 1 秒的上限,结果每个工具调用都话超时——1 秒 watchdog 把正常调用也 abort 了。修法是小于 1000ms 的值直接忽略,回退到环境变量或默认值。claude mcp get 现在会标注哪些 server 用了哪个超时。

中断丢失:session 用 stream-json 或 SDK 模式时,在首个 turn 开始瞬间按 Esc,中断信号被静默丢了——没有「Interrupted」反馈,turn 一直在跑。原因是事件循环的 race condition:中断事件在 session 状态完全初始化之前到达,监听器还没绑定上。

启动挂死:配置目录只读或不可写,Claude Code 直接白屏。修法更合理:fallback 到内存配置,把错误信息打印到 terminal——用户至少能看到启动失败了,不是一把黑屏。

LSP workspaceSymbol 无效:某些编辑器发送的 textDocument/semanticTokens 请求格式与 Claude Code 的 LSP 接口不完全匹配,workspaceSymbol 返回空。现在加了 query 参数传入语言服务器。

Windsurf 改名 Devin Desktop:IDE 菜单里的 /ide/terminal-setup/scroll-speed 选项——Windsurf 改名了,Claude Code 也跟上了。

一批 UI 修修补补

剩下的修复中,有几条适合一起看:

  • 启动消息全面瘦身:/effort 持续到新 session 时会有确认提示,不再靠一行通知让你猜
  • 启动时的提示按严重性分组排版,不再一股脑刷 8 行。session info 和 announcement 合并成一行
  • Failed turn 改成一个标准警告行,不是红色错误块
  • 启动画面不再刷「Claude in Chrome enabled」「marketplace installed」——这些对大多数用户是废话
  • 深链接/预填充 prompt 的警告现在固定在输入框下方,不会滚动到视线之外

这些改动每一条单独看都不值一提。但凑一起,意味着你每天打开 Claude Code 时少看 3 行废话、少骂一句「怎么又卡了」——积累下来体验差距不小。

升级

# macOS 推荐
brew upgrade --cask claude-code

# 或
claude update

完整更新日志:GitHub Release

📢 关注我,获取最新开源更新日志和开发者工具动态。

#ClaudeCode #AI编程 #版本更新 #开发者工具

Claude Code v2.1.161 发布 —— 一个 bash 挂掉,整批 tool call 全废的日子结束了

· 阅读需 4 分钟

Claude Code v2.1.161 封面

以前:一个 bash 挂掉,整批 tool call 全废

Claude Code 之前的 parallel tool call 有一个隐蔽但致命的设计:一批 tool call 里,如果其中一个 Bash 命令报错,整个批次的其它调用都被取消。你让 agent 同时改三个文件、跑一个测试,结果测试命令先报错了——两个改文件的调用也跟着一起被取消。改到一半的代码没保存,agent 得重来。

v2.1.161 改了:每个 tool 独立返回结果,一个 Bash 报错不连累同批的其他调用。改文件的和跑测试的解耦了——测试失败不影响文件修改结果。

现在:一批 tool call 各自为战

这个改动意味着什么:agent 在执行多步操作时,不需要"一次只做一件事"来避免连锁失败。改三个配置、跑两个命令、查一个日志——可以全放一批里,各自成功各自失败,不互相阻塞。对用 Claude Code 做批量任务的人来说,效率提升是直接的——一批调用能做完的事,不用分两三批做了。

MCP secrets 泄露修复(📌 安全必更)

claude mcp list/get/add 之前会在终端里直接打印 secrets。${VAR} 引用会被展开,credential headers 和 URL secrets 原样输出——如果有人在你终端后面看到输出,就能拿到你的 MCP 凭据。现在这些内容会被 redact。

组织策略不再误拦第三方 Provider

forceLoginOrgUUIDforceLoginMethod 这两个 managed-settings 策略,在 v2.1.146 之后有一个回归:它们不仅拦截了组织登录,还把 Bedrock、Vertex、Foundry、Mantle 这些第三方 provider session 也一起拦了。如果你公司配了组织策略,同时又用第三方 provider,上次更新后可能发现第三方 provider 连不上了。v2.1.161 修了这个回归——策略只拦组织登录,不碰第三方。

值得注意的其他更新

  • claude agents 扇出进度显示:work 展开到多个 subagent 时,agent 列表行现在会显示 done/total 进度
  • /mcp 收拢未使用的 connector:从未登录过的 claude.ai connector 会被折叠到「Show unused connectors」行下面,列表不再一长串
  • OTEL_RESOURCE_ATTRIBUTES 上指标:可以用自定义维度(team、repo)来切分用量 metrics
  • 全屏模式剪贴板改进(Linux):用 wl-copy/xclip/xsel 同时复制到 clipboard 和 PRIMARY selection
  • /usage-credits 不再重登录:Team/Enterprise 管理员看 credit 用量不再触发登录流程
  • Worktree 隔离支持:background session 用 isolation: "worktree" 产生的 subagent 不会被自己的 worktree 挡在外面
  • Background session 不再跑旧模型:之前从 claude agents 启动的后台 session 可能用的是 daemon 环境的过期 model,不是 settings.json 里的——现在修正了
  • 终端渲染性能优化:layout engine 的 JIT compilation profile 稳定了;大文件写操作的渲染也优化了
  • [VSCode] 花字提示:如果终端显示花屏,提示用户关闭 GPU 加速或跑 /terminal-setup

升级:

brew install --cask claude-code
curl -fsSL https://claude.ai/install.sh | bash

完整更新日志:GitHub Release

搞批量任务最烦的就是一个失败拖垮全部。v2.1.161 把这个逻辑倒了——各管各的,一个挂不影响别的。

📢 关注我,获取最新开源更新日志和开发者工具动态。

#ClaudeCode #AI编程 #并行调用 #安全 #版本更新

Claude Code v2.1.160 发布 —— 写个 shell 脚本,差点让 agent 改了你 .zshrc

· 阅读需 3 分钟

v2.1.160 修的刚好就是这一条。

Claude Code v2.1.160 封面

Shell 启动文件保护 + Build 工具配置守卫

这次最核心的安全改动其实只有两条:

  • agent 往 .zshenv.zlogin.bash_login~/.config/git/ 写东西之前,必须先问你是否同意
  • acceptEdits 模式下,agent 写 .npmrc.yarnrc*bunfig.toml.bazelrc.pre-commit-config.yaml.devcontainer/ 等能授予代码执行权的配置文件时,也会弹确认框

不是多此一举。agent 在帮你配 CI 或者装依赖的时候,顺手往 shell 启动文件里写一行 export PATH=... 或者 git 配置,这在自动化场景下可能完全是无意的。但后果是:下次你开终端,那行代码执行的路径跟你预期的不一样了。

这两个改动本质上是「agent 可以做,但不能不被看见地做」。不是什么复杂的防御,但缺了就是安全缺口。

Session 稳定性:挂后台的 agent 不会再丢对话

另一个大批量修复的方向是 session 状态管理。claude-code 的 background sessions 和 agent 视图有几个长期的 bug:

  • claude agents 恢复已完成的 session → 对话历史丢失,从头又跑了一遍原始 prompt
  • 过夜回收的 background session 重新 attach → 同样丢对话
  • 恢复近期不活跃的 background session → 打开卡顿好几秒(这次也优化了启动性能)
  • claude --bg 在冷启动时偶发报「socket missing」

前两个问题尤其致命——agent 跑了一夜的背景任务,第二天早上来检查,发现它其实把刚做完的阶段忘了,又跑了一遍。这批修复意味着后台 session 现在能保留对话状态,不会被错误回收。

Vim 模式、IME 输入、鼠标滚动:一堆日常烦人 bug

几个小修但频率很高的:

  • Vim 模式 p 粘贴位置修正v$ 复制后 p 粘贴到了下一行而不是光标位置。修了之后终于跟 Vim 原生行为一致了
  • CJK IME 输入位置:中文/日文输入法的候选窗口之前显示在屏幕左下角,不是光标位置。修完之后 IME 候选框跟着输入走了
  • 鼠标滚动历史:打开 session 之后第一次滚动,滚的不是 transcript 而是 prompt history。修了
  • /effort ultracode:在不支持 xhigh 的模型上不再推荐 ultracode,报错信息更明确,不再怪动态 worklow 设置

另外,auto mode 的 classifier 延迟也优化了——routine action 的推理量减少了,「could not evaluate this action」的报错概率降低。

其他清理

CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE 这个环境变量被移除了,现在是个 no-op。JetBrains 插件安装提示也从启动时消失了——如果你用 JB 系列 IDE,自己装插件就好,启动时不用再看那行提示了。

动态 worklow 的触发关键词从 workflow 改成了 ultracode——你不会因为说"这个 workflow 流程不对"就意外触发它。

升级:

curl -fsSL https://claude.ai/install.sh | bash
brew install --cask claude-code

完整更新日志:GitHub Release

以前 agent 改你 shell 配置是不打招呼的。v2.1.160 说:改之前告诉你一声。

📢 关注我,获取最新开源更新日志和开发者工具动态。

#ClaudeCode #AI编程 #安全 #Session管理 #版本更新

Claude Code v2.1.158 发布 —— Auto Mode 登陆 Bedrock、Vertex、Foundry

· 阅读需 1 分钟

Claude Code v2.1.158 封面

Auto Mode 扩展到更多平台

Auto Mode 是 Claude Code 的自动审批模式——它用后台安全检查替代每次操作前的权限弹窗。之前在 Bedrock/Vertex/Foundry 上只能用 Manual 模式,每次写文件、跑命令都要手动确认。这次更新后,企业用户在这三个平台上也能享受无中断的自动工作流。

升级:

claude upgrade

完整更新日志:https://github.com/anthropics/claude-code/releases/tag/v2.1.158

📢 关注我,获取最新 Claude Code 更新动态。

#ClaudeCode #AutoMode #AWS #更新日志