Claude Code v2.1.224:多个独立会话可直接互发消息,告别终端间复制粘贴

前言

如果你同时在多个终端里开着 Claude Code,大概率遇到过这种场景:A 窗口刚跑完数据库迁移,B 窗口还在写依赖新表结构的接口,C 窗口在另一个 worktree 里改前端——彼此不知道对方进展,只能手动把终端输出复制到另一个窗口,再让 Claude 重新理解一遍上下文。

2026 年 8 月 7 日,Anthropic 在 Claude Code v2.1.224 中上线了跨会话消息传递(Cross-Session Messaging)功能。macOS 和 Linux 上各自独立运行的会话,可以通过 ListAgents 发现彼此、用 SendMessage 互发纯文本摘要,不再需要你在终端之间来回搬运信息。官方文档与 MacRumors 等媒体均已报道这一更新。

本文基于 Anthropic 官方文档核实功能细节,介绍它的工作原理、适用场景、使用方式与安全边界。

跨会话消息传递是什么

跨会话消息传递,指的是你自己启动的多个 Claude Code 会话之间,由 Claude 代为传递一段文字消息

需要明确几点:

  1. 传的是摘要,不是上下文。消息是一段 Claude 写给另一个 Claude 的纯文本,不包含对话历史、文件内容或权限状态。如果要延续整段对话,应使用会话恢复(resume)功能,而不是跨会话消息。
  2. 你不需要手动调用工具ListAgentsSendMessage 是 Claude 在后台使用的工具,你在终端里用自然语言告诉 Claude「把这件事通知另一个会话」即可。
  3. 默认开启,无需额外配置。只要版本、平台和提供商满足要求,功能自动可用。

Anthropic 在 X 上发布的演示也强调了这一点:Claude 发送的是摘要,接收方在自己的任务中途拾取消息继续工作。

核心机制:ListAgents 与 SendMessage

Claude Code 为跨会话通信引入了两个工具:

工具 作用
ListAgents 发现当前可联系的会话,包括本机其他会话、当前会话内的子代理(subagent)等
SendMessage 按名称向目标会话投递一段纯文本消息

同一套 SendMessage 也服务于单会话内的子代理和 Agent Teams 队友,但跨会话消息针对的是你独立启动、各自 steering 的会话,与 Agent Teams(由 Claude 生成并协调的团队)是不同层级的协作方式。

如何查看可联系的会话

在任意会话中输入:

/list-agents

别名是 /peers。输出会列出每个会话的名称、工作目录等信息。会话名称可通过 /rename 或启动时的 --name 参数自定义;未设置时,Claude Code 会根据工作目录文件夹名自动生成,例如 myapp-3f

如果 /list-agents 命令无法识别,说明当前会话不具备跨会话消息能力,应先检查 claude --version 是否达到 v2.1.224。

消息如何投递

接收方 Claude 在工具调用间隙读取消息,不会打断正在执行的工具。如果接收会话处于空闲状态,Claude Code 会开启新一轮对话来处理这条消息。

消息到达后,会话里会显示带发送方标识的卡片;阅读完毕后折叠为一行 Message from,按 Ctrl+O 可展开查看原文。

典型使用场景

官方文档列举了以下几类常见用法:

  1. 传递发现与决策:一个会话发现破坏性变更或做出架构决策,Claude 自动把摘要发给正在相关模块上工作的另一个会话。
  2. 并行 worktree 协作:多个会话在不同 git worktree 中并行开发,一方合并或提交后,可通知其他会话「main 上已落地某改动,可以 rebase」。
  3. 长任务状态回报:迁移、测试套件等耗时任务在后台会话运行,完成后向主会话汇报结果;你也可以主动询问「另一个终端里的迁移跑完了吗」。
  4. 跨设备回复:通过 Remote Control 连接到手机或 Web 端的会话发来消息后,本机终端可以回复(跨机器场景仅限回复,不能主动发起)。

Claude 既可以主动在发现需要协调时发送消息,也可以在你提示后发送。例如:

Ask the session running in my other terminal whether the migration finished

或者:

Explain what we just did to the session working on the payments API

Claude 会自行组织消息措辞,你不必逐字指定内容。

消息传输路径与安全边界

本机 vs 跨机器

对方会话位置 传输方式 本机会话能做什么
同一台机器 本地 per-session socket,不经过 Anthropic 服务器 发新消息 + 回复
你的另一台机器 经 Anthropic 服务器,通过 Remote Control 投递 仅回复
Claude Code on the Web 经 Anthropic 服务器直达云端会话 仅回复

同机消息走本地 socket,MacRumors 与官方文档均确认这类流量不会上传到 Anthropic。跨机器场景则必须经过服务器,且只能回复对方先发来的消息。

如需对跨机器消息额外把关,可在设置中开启 isolatePeerMachines: true,每次向外发送前需你明确批准。

接收方的权限限制

来自其他会话的消息不能替代你的操作授权,具体限制如下:

  • 不能代你批准权限:消息不算你的同意,无法替你点击 pending 的 permission prompt。
  • 不能修改配置:接收方 Claude 被明确禁止因另一条会话的请求而改动权限设置、CLAUDE.md 等配置。
  • 命令不会被执行:消息里的 /compact 等文本按纯文字处理,Claude Code 不会执行。
  • 敏感操作仍需你确认:如果消息引发的工作需要权限,接收会话仍会弹出与你手动操作相同的提示。

此外,可通过 crossSessionInbound 设置控制入站消息:accept(直接投递)、hold(暂存待审批)、refuse(直接丢弃)。默认策略还会根据双方 permission mode 分类——例如接收方处于 bypass 模式时,来自普通模式的会话消息会被 hold 等待你批准。

平台支持与限制

版本要求:Claude Code v2.1.224 或更高。

操作系统:macOS、Linux(含 WSL 2)。原生 Windows 暂不支持

不支持的提供商:Amazon Bedrock、Claude Platform on AWS、Google Cloud Agent Platform、Microsoft Foundry。

可能关闭功能的变量:若设置了 CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFICDISABLE_TELEMETRYDO_NOT_TRACKDISABLE_GROWTHBOOK 中任一导致 feature-flag 评估被关闭,跨会话消息也会不可用。

其他限制

  • 仅支持纯文本,不含结构化 Agent Teams 协议消息。
  • 防循环:对重复消息有速率限制,相同内容短时间内的重复投递会被丢弃;每个会话最多排队 50 条待读消息。
  • 容器与宿主机之间因文件系统隔离,通常无法互发;同一容器内的会话可以。
  • claude -p 无头会话也可接收消息(bare mode 除外)。

同一版本还包含约 31 项其他改动,例如面向 Team 和 Enterprise 计划的 claude self-hosted-runner 命令,以及一项 Linux/macOS 沙箱安全修复(denyRead/denyWrite 规则尾部带斜杠时被静默忽略的问题)。

与 Agent Teams、子代理的区别

Claude Code 有多种「多代理」形态,容易混淆,简要对照:

方式 适用场景
跨会话消息 你自己开的多个独立终端会话之间传递摘要
Agent Teams Claude 生成并协调一组队友,团队内有专用消息协议
子代理(Subagents) 单会话内 Claude 派生的子任务代理,可用同一 SendMessage 联系
Agent View 从一个界面监控、调度多个并行会话
Remote Control 用手机或其他设备遥控某个终端会话
Channels 把 CI 结果、聊天消息等外部事件推入会话

跨会话消息解决的是「我自己开了好几个窗口,怎么让它们互通情报」;Agent Teams 解决的是「让 Claude 自己组队干活」。两者可以并存,但定位不同。

如何关闭或限制

若不需要此功能,可以分方向关闭:

停止接收:设置 crossSessionInboundrefuse

停止发送与发现:在权限规则中 deny SendMessageListAgents(注意:这会同时禁用对子代理和 Agent Teams 队友的消息能力)。

组织管理员也可在 managed settings 中统一关闭。

小结

Claude Code v2.1.224 的跨会话消息传递,把「终端 A 的发现告诉终端 B」这件事从人工复制粘贴,变成了 Claude 之间的自动摘要投递。ListAgents 负责发现,SendMessage 负责送达;同机走本地 socket,跨机经 Remote Control 且仅支持回复。

它不会搬运文件和历史,也不能替你批准敏感操作——安全边界仍牢牢握在你手里。对同时在多个 worktree 或终端并行开发的开发者来说,这是一个实用的小升级:少切几次窗口,少粘贴几段日志,协作节奏会顺畅不少。

升级后可在终端执行 claude --version 确认版本,再输入 /list-agents 看看当前有哪些会话在线。如果你已经在 macOS 或 Linux 上跑着多个 Claude Code,不妨让其中一个会话给另一个发条消息试试。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜