Claude Code 问你一个问题,如果你60秒没回应,它会自己选一个答案接着写代码。这不是网友编的段子,是7月1日上线的2.1.198版本的默认行为——而且更新日志里一个字没提。
用户在GitHub上吵了两天,7月3日的2.1.200把它改回默认关闭,变成一个要主动去/config里勾选的选项。真正该问的问题更简单:这种默认值改动,是怎么绕过发布审查悄悄上线的?
60秒静默里,谁替你做了选择
这个机制只挂在一个环节:AskUserQuestion,就是Claude Code停下来让你选答案的那一步。默认60秒无响应,它自动提交一个"继续"的选项,让模型接着往下判断。
倒计时的显示方式本身就是个坑。计时器从提问那一刻就开始跑,但读秒条要到最后20秒才出现。前40秒,这问题和平时看起来一模一样,你根本发现不了背后有个表在走。
如果你已经选了一半答案,超时也不会把没填完的部分作废——系统会把你选的部分连同模型自己补的部分一起提交。工具说明里给的"稍后可以重新问"也不是退路,重新问出来的问题,还是同一个60秒的坑。
权限批不动,但选择权动得了
有一点要先说清楚:这个计时器不会自动帮你批准权限。官方文档写明,权限提示——包括计划审批——不会因为空闲而自动通过;从代码结构看,倒计时组件只挂在提问弹窗上,权限弹窗是另一个独立组件,没有接计时器。
但这道保险只在权限弹窗真的弹出来时才有意义。如果你已经用bypassPermissions、allowedTools或--dangerously-skip-permissions放宽了权限——这正是自动化部署流程的常规配置——权限那一关本来就不会再弹,这道免疫也就无从谈起。
计时器拿不到权限,却拿得到最后一道选择权。
staging还是production、用哪份配置,这些原本要你拍板的决定,超时之后模型替你选了。这对不同的人是不同的问题:
| 你是谁 | 风险在哪 | 现在该做什么 |
|---|---|---|
| 用Claude Code写代码的开发者 | 离开电脑,或同时开着多个并行代理跑同一个仓库,没法盯住每个倒计时 | 去/config确认这项超时设置,需要时把时长调到给自己留够反应空间的档位,而不是默认的60秒 |
| 负责AI工具接入、发布治理的工程管理者 | 团队已放宽bypassPermissions或把Claude Code接进CI/CD自动化部署,权限弹窗本来就不会再拦 | 回头翻一下7月1日到7月3日这两天的执行记录,看有没有异常的自动提交或选择;后续升级前先看changelog有没有默认值变更,而不是等出问题再查 |
修复够快,账没算完
2.1.200的修复方向是对的:默认关闭,想用就去/config里手动开,可选60秒、5分钟、10分钟或永不超时。从曝光到反转,大约两天,这个速度值得认。
| 版本 | 默认行为 | 开启/关闭方式 |
|---|---|---|
| 2.1.198(7/1上线) | 默认开启,60秒无响应自动提交答案 | 只能靠一个未公开的环境变量,UI里没有开关 |
| 2.1.200(7/3上线) | 默认关闭 | /config里手动开启,可选时长或永不超时 |
披露上的漏洞没补上。2.1.198的更新日志有大约30条记录,没有一条提到这个改动。当时唯一的退出方式是那个环境变量,还是网友在issue区里互相口口相传才挖出来的,官方从没在任何发布说明里点出来。能在/config里手动配置这个选项,是修复之后才有的。
公开仓库里能看到的,只有两次改动对应的机器人提交,touch的都只是更新日志文件本身。谁写的、谁审的、谁点头放出去的,没有可查的公开记录,只能存疑,不能当结论写。
接下来值得盯的,是Anthropic会不会给默认值这类改动单独加一道披露流程,而不是靠社区在issue里吵出来倒逼修复。目前看不出迹象,只能等下一次版本更新验证。
一个默认值的翻转,本该是发布流程里最容易拦下的一步,却在近乎每天一个版本的更新节奏里溜了过去。opt-in这个能力留着不是坏事——问题从来不在这项功能本身,而在它一开始就被设成所有人默认要用,还没人告诉你。
