[bug]网页版s16:lead拿不到active_teammates,派生teammate的名字纯靠lead上下文

Author: ClearVIper3Created Aug 16, 2026Updated Aug 16, 2026

此issue是基于网页版Learn Claude Code源码提出

Description:

目前 active_teammates 字典在内部维护了所有活跃 teammate 的名称,但 Lead 侧没有任何工具可以查询该列表。Lead 只能依赖模型自己的上下文记忆来记住之前 spawn_teammate 时使用的名称,然后再通过 request_shutdownsend_messagerequest_plan 等工具显式传入名称。

这会导致以下问题:

  • 在长对话或多 teammate 场景下,模型可能遗忘准确的 teammate 名称,导致消息发送到不存在的邮箱,形成消息黑洞。
  • MessageBus.send 不会校验目标是否存在,错误的消息会静默丢失。
  • Lead 无法程序化地确定当前有哪些 teammate 在运行,降低了多 agent 协作的可靠性。

Suggested fix:

添加一个 list_teammates 工具,返回所有活跃 teammate 的名称:

def run_list_teammates() -> str:
    if not active_teammates:
        return "(no active teammates)"
    return "\n".join(f"  - {name}" for name in active_teammates)

同时在 TOOLSexecute_tool 中注册该工具。

Additional consideration:

  • MessageBus.send 可增加目标存在性校验,避免消息发往不存在的 agent。
  • request_shutdown 可支持不传 teammate 参数时对所有活跃 teammate 广播。

Source: shareAI-lab/learn-claude-code