好消息:我的两个 Claude Code 会话开始互相发消息了。
你有没有过这样的经历:左手终端里,Claude 正在吭哧吭哧改后端 API,右手终端里,另一个 Claude 正兢兢业业写前端页面。然后你发现——这俩东西对彼此的存在一无所知。
后端把user_email改成了email_address,前端还在傻傻地读user_email。你只能停下手里的事,把一段话从左边复制,贴到右边,重新解释一遍上下文。然后过十分钟,再来一次。
这种重复劳动,在过去一直被视为“AI 编程的常态”。但 Claude Code v2.1.224 做了一个让所有“多屏党”狂喜的更新:
Claude Code 会话之间,可以互相发消息了。
跨会话消息是什么?简单说,就是给 Claude 装了个“对讲机”
以前,每个 Claude Code 会话都是个孤岛。它们能读你的文件、执行命令、编写代码,但完全不知道隔壁还坐着另一个 Claude。
现在有了两个新工具:
ListAgents:发现正在运行的其他会话SendMessage:给某个会话发一条纯文本消息
收到消息的 Claude,会在它当前的工作流程中看到这条信息。它不会拿到对方的对话历史,也不会看到对方的文件。它只知道:有一个同事叫api-session,刚刚告诉我,“我把字段名改了,你最好也跟上”。
这四条是消息永远不能做的事:
- 不能替你批准权限请求
- 不能改对方的配置或
CLAUDE.md - 不能执行
/compact这类命令 - 不能传递对话历史或文件
本质上,它就是一个带名字的“隔空喊话”。
WSL 里实操:给 Claude 命名、配对、开始协作
先说前提:跨会话消息只支持 macOS、Linux,以及 WSL 2 里的 Linux。原生 Windows 暂时还用不了。
确认版本:
claude--version如果低于2.1.224,更新一下:
claude update然后打开 Windows Terminal,分两个窗格,各起一个会话:
左窗格(后端):
cd~/projects/my-api claude--nameapi-session右窗格(前端):
cd~/projects/my-frontend claude--namefrontend-session如果不小心忘了加--name,也可以在会话里用/rename api-session补救。
确认两边能看到彼此:
/list-agents如果看到对方的名字和目录,说明对讲机已经接通了。如果看不到,检查一下是不是有DO_NOT_TRACK之类的环境变量开着,或者版本太低。
也可以通过/status 互相看2者当前的状态
实战演示:两兄弟第一次对话
我的测试场景是这样的:
左窗格(api-session):
“迁移用户表,把
user_email列改名为email_address,更新所有查询和 API 序列化器。”
右窗格(frontend-session):
“写一个
UserDashboard组件,从GET /api/users拉数据,展示user_email字段。”
两边各自开工。几轮对话后,左窗格的 Claude 意识到一个问题:“我改了字段名,那前端的兄弟怎么办?”于是它主动执行了:
ListAgents找到了frontend-session- 写了一条消息:“我把
user_email改成了email_address,记得更新你的数据读取” SendMessage发出
右窗格的 Claude 收到消息后,自己调整了组件里的字段映射。整个过程我没有复制粘贴任何东西,也没有手动同步。
两个 Claude 之间自发的协作。
如果你发现他们之间没有通信,也可以手动在api-session的claude聊天框李告知另一个frontend的claude
控制与限制
跨会话消息有几个控制选项,值得了解:
入站策略(crossSessionInbound):
accept:自动接收hold:先通知,等你批准后再送达refuse:拒收,发送方不会收到拒绝通知
跨机器隔离(isolatePeerMachines):设为true时,任何发往另一台机器的消息都需要你手动批准。
完全关闭:
{"permissions":{"deny":["SendMessage","ListAgents"]},"crossSessionInbound":"refuse"}还有一些硬性限制:
- 每个会话最多缓存 50 条未读消息,超出会被丢弃
- 短时间内的重复消息会自动去重
- 同机器消息走本地 Unix socket,不上传 Anthropic 服务器(这很好)
几个月前,Claude Code 还只是一个“对话式编程助手”。现在它有了子代理、工作树、跨会话消息——这些功能叠加在一起,让它从单线程的终端工具,变成了一个可以协调多个“AI 员工”的系统级工具。
当我看到两个 Claude 自动协调工作时,像是看到了一个微缩版的软件工程团队——虽然一个用 pnpm,另一个用 npm,但起码它们开始学会说话了。
如果你经常同时开多个 Claude 会话,跨会话消息会成为你无法离开的功能。它不会替你写代码,但它能让你的 AI 助手们不再互相妨碍。可能还会悄悄吐槽你的代码——不过那是另一个故事了。