边想边发:send-now、内存告警和 MCP 启动等待
长会话里最烦三件事:模型还在生成,你已经想好下一句;内存悄悄涨到机器发烫;CI 里 MCP 连不上,首轮一直干等。CLI 2.1.274–275 把这三块都补了一刀:可中断发送的 send-now、内存危急可见告警,以及限制非交互首轮等待 MCP 的环境变量。
下面按「交互里怎么用 → 机器告警怎么处理 → 脚本/CI 怎么设等待」来说。
send-now:打断当前回合,立刻把队列发出去
2.1.275 增加 send-now 快捷键:
- Ctrl+Enter
- 或 Ctrl+X 再 Ctrl+S(和弦,适合 Ctrl+Enter 被终端抢走的环境)
作用:中断当前这一轮的生成/流式输出,并立即发送已排队的消息。适合这种节奏——你边看它写,边在输入框里改下一句需求;写歪了或写够了,不必干等到本轮结束再提交。
使用注意:
- 中断的是生成,不是撤销已落盘的文件改动。若它已经改了文件,send-now 不会自动 rollback;要回退用你的 git /
/rewind一类能力。 - 队列里有多条时,语义是马上把排队内容送出去,让对话按你最新意图继续,而不是「再等它把废话说完」。
- 终端复用键位冲突时,优先试 Ctrl+X Ctrl+S;桌面端或不同终端模拟器表现可能略有差异,以你本机绑定为准。
和「再开一个 fork 旁路问一句」不同:send-now 留在同一会话时间线里推进。旁路闲聊可看 btw / fork / rewind;这里解决的是主线程「我想现在就改口令」。
登录网关:看清账号再写入凭据
同版本另一处:走 Claude apps gateway 登录时,若网关能报出将要绑定的账号,会先让你确认,再把凭据落盘;之后 /status 也能看到这份已登录账号。
多人共用一台机器、或公司网关和个人订阅容易拧在一起时,这很有用——少出现「登着 A 的号,账单却记到 B」。习惯上:登录后先 /status 扫一眼账号行,再开始干活。状态展示相关也可对照 Status line。
内存危急:可见告警,按步骤腾空或重启
2.1.274 起,内存用量到危急水位会打出可见警告,并给出释放内存或安全重启的步骤提示。以前更多是进程变慢、卡死、最后被系统杀掉,原因却不直观。
建议收到告警时按这个顺序想:
| 优先级 | 做什么 |
|---|---|
| 1 | 保存或提交你还想留的改动(git status / diff) |
| 2 | 结束不用的大会话、关多余 MCP / 浏览器类工具 |
| 3 | 按告警提示释放内存;不行就安全退出后重启 Claude Code |
| 4 | 长期方案:大仓拆 worktree、少同时开超长上下文会话 |
告警是保护,不是装饰。忽略它继续堆工具调用,更容易落到半截写入或会话损坏。若你经常顶满,检查是否一次挂了过多 MCP、是否在巨大 monorepo 里无限制 grep。
CLAUDE_CODE_MCP_STARTUP_WAIT_MS:给非交互首轮加天花板
同一 2.1.274 增加环境变量:
export CLAUDE_CODE_MCP_STARTUP_WAIT_MS=5000含义:限制第一次非交互回合愿意为「仍在连接中的 MCP 服务器」等待多久(毫秒)。MCP 慢或挂死时,脚本不会无限卡在启动态。
实操建议:
- CI /
-p/ Agent SDK:设一个有上限的值(例如数秒到数十秒,按你最慢的 MCP 冷启动来),超时后按你流水线策略失败或降级。 - 设为
0:按 changelog 设计用于收紧等待(通常表示不等待连接完成就继续);若你依赖「MCP 必须就绪才能跑」,不要盲设 0,先在预发验证。 - 本地交互长会话:一般可维持默认;只有自动化路径最需要显式上限。
非交互、--bare、权限与加载边界,见 print / bare / CI。MCP 审批与作用域另见站内 MCP 相关文;这里只强调:启动等待是时间盒,不是权限盒。
一张速查
| 能力 | 版本 | 你怎么用 |
|---|---|---|
| send-now | 2.1.275 | Ctrl+Enter 或 Ctrl+X Ctrl+S,打断并发送队列 |
网关账号确认 + /status 展示 | 2.1.275 | 登录时确认,干活前再扫 /status |
| 内存危急告警 | 2.1.274 | 跟提示腾内存或安全重启 |
CLAUDE_CODE_MCP_STARTUP_WAIT_MS | 2.1.274 | CI/脚本给首轮 MCP 连接设等待上限 |
小结
- 想改口令别干等:用 send-now 打断当前生成并送出队列。
- 机器喘不过气:信内存告警,先保工作再重启。
- 脚本别卡死在 MCP:用
CLAUDE_CODE_MCP_STARTUP_WAIT_MS给首轮等待加盖。
升级到 2.1.275+ 后,花一分钟试快捷键、看一次 /status 账号行,并在 CI 环境里写上 MCP 等待上限——会话体验和流水线稳定性都会立刻好一截。