Claude Code v2.1.176 发布 —— 二十多个修复扎堆,Remote Control 和可用模型白名单是重灾区
· 阅读需 5 分钟

以前:Remote Control 的连环坑
Remote Control 是 Claude Code 最方便也最危险的功能之一——手机上点一下,终端里的 agent 就动起来了。但这个链接两端之间的状态管理,出了不少问题:
- web/mobile 连接上来,静悄悄把 session 模型换了。你在终端里配好了 Sonnet,Remote 一接进来,agent 切到了 Opus,你甚至不知道。
- 断连通知变成了数字代码。断开时显示 "Disconnected: code 7",你得去翻文档才知道是什么意思。
- 连接失败给对话加了一行冗余日志。连接失败本应静默或只通知一次,但 transcript 里多了一条重复记录。
- 签另一账号登录,之前的 Remote session 不断开。理论上登录会被 TOTP 刷新,但旧 session 还活着,存在越权隐患。
这些不是最近才冒出来的 bug——Remote Control 上线以来,断连体验一直很粗糙。这次一次性修了四条,基本把"连接生命周期"这个状态机擦了一遍。
现在:可用模型白名单的防线被加厚了
v2.1.175 加了 enforceAvailableModels,从管理员端锁死了 Default 模型不能绕过白名单。但攻击面比想象中更宽:
- 环境变量
ANTHROPIC_DEFAULT_*_MODEL还能覆盖白名单。就算管理员配了白名单,用户在 shell 里 export 一个ANTHROPIC_DEFAULT_OPUS_MODEL=claude-3-opus-4-8,alias 解析完还是跳到白名单外的模型。这次堵上了——alias model picks 不能 redirect 到 blocked model。 /fast模式切换也没有白名单检查。/fast默认切一个轻量模型,但如果管理员没放行那个模型,/fast应该拒绝而不是强行切换。现在/fast在目标模型不在白名单内时会拒绝执行。- 子 agent 的 model override 此前也不受
availableModels约束。agent 模板里写model: claude-opus-4-8,即使管理员只允许 Sonnet,子 agent 照样用 Opus。上版本(v2.1.172)修了子 agent 白名单,这次算是把余下的缺口(/advisor预选模型、agent dispatch 选择器)一起补了。
一个细节:管理员花一个下午配好的策略,用户一行 env var 就能绕过——这种事在 SaaS 产品里屡见不鲜。连着两个版本砍环境变量绕过路径,说明 Claude Code 的 enterprise 合规需求确实在上升。
剩下的修复,按主题排比比较清楚
终端兼容性:
/copy和鼠标选中的文本在 tmux + SSH 下拷贝不到系统剪贴板——常见场景:跳板机连服务器,代码复制不出来- 旧版 tmux(<3.2)的 paste buffer 加载失败
- Windows 上 agent 视图输入框没有文本光标
背景 session & daemon:
/bg中途打断后 agent 一直显示 "Working",实际上没活干了——持续占用终端注意力claude --bg -cn <name>设的 session name 没生效- 背景 session 的 Windows 网络路径在持久化状态里没做脱敏,respawn 时路径解析错误
- 损坏的状态文件里 malformed resume ID 导致恢复拒绝,但不报清楚原因
- Windows daemon 在
~/.claude/daemon目录设置了 ReadOnly 属性后启动失败 - 自动更新后窗口跨版本发不了回复,现在会在 daemon status 里说明是 version skew
Sandbox 与 hooks:
- Linux sandbox 在
.claude/settings.json是 symlink 且指向绝对路径时启动失败 - Hook 的
if条件(如Edit(src/**),Read(~/.ssh/**),Read(.env))此前不匹配这些常见 pattern——写了 hook 规则的人会发现它根本没生效 - Fable 5 的 auto mode 在没有启用 Opus 4.8 的组织里会直接报错,现在 fallback 到可用的最佳 Opus 模型
Session 状态:
/cd和工作目录移动后,session 仍然报告旧目录的 git branch——git branch 显示的是main但实际在feature/xxx下- Background agent 按 PR URL 搜索:PR 在 scheduled wakeup 或 job 阻塞期间打开的,之前搜不到
- Cloud session 闲置太久后重连报 "Could not resolve authentication method"
并发与多窗口:
claude agents里按返回键,一个窗口返回会把其他附加到同一 session 的窗口也弹回;现在各窗口独立
升级
已安装用户:
claude update
新安装(三种方式任选):
# macOS/Linux 推荐
curl -fsSL https://claude.ai/install.sh | bash
# Homebrew
brew install --cask claude-code
# Windows
irm https://claude.ai/install.ps1 | iex
完整更新日志:GitHub Release
📢 关注我,获取最新开源更新日志和开发者工具动态。
#ClaudeCode #AI编程 #可用模型管理 #RemoteControl