
好消息我的两个 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控制与限制跨会话消息有几个控制选项值得了解入站策略crossSessionInboundaccept自动接收hold先通知等你批准后再送达refuse拒收发送方不会收到拒绝通知跨机器隔离isolatePeerMachines设为true时任何发往另一台机器的消息都需要你手动批准。完全关闭{permissions:{deny:[SendMessage,ListAgents]},crossSessionInbound:refuse}还有一些硬性限制每个会话最多缓存 50 条未读消息超出会被丢弃短时间内的重复消息会自动去重同机器消息走本地 Unix socket不上传 Anthropic 服务器这很好几个月前Claude Code 还只是一个“对话式编程助手”。现在它有了子代理、工作树、跨会话消息——这些功能叠加在一起让它从单线程的终端工具变成了一个可以协调多个“AI 员工”的系统级工具。当我看到两个 Claude 自动协调工作时像是看到了一个微缩版的软件工程团队——虽然一个用 pnpm另一个用 npm但起码它们开始学会说话了。如果你经常同时开多个 Claude 会话跨会话消息会成为你无法离开的功能。它不会替你写代码但它能让你的 AI 助手们不再互相妨碍。可能还会悄悄吐槽你的代码——不过那是另一个故事了。