github / github/copilot-cli

autopilot_fleet plan approval may not activate fleet mode immediately (race condition)

未关闭
#1,901 2 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
area:agents area:non-interactive
主要语言
Shell
星标
11.2k
派生
1.9k
平均合并
14 小时 16 分钟
30 天内合并 PR
6

描述

### Describe the bug

When selecting **"Accept plan and build on autopilot + /fleet"** (`autopilot_fleet`) from the plan approval menu, fleet mode may not activate immediately. In my case, the agent continued working interactively for ~50 minutes, and fleet mode only activated after the interactive loop fully completed.

It appears the `exit_plan_mode` tool result tells the LLM "parallel subagent execution has started," but the `/fleet` message gets queued behind the already-running agentic loop and isn't processed until the loop finishes. Since this appears to be a race condition, it may not reproduce every time.

### Affected version

0.0.422

### Steps to reproduce the behavior

1. Start a session with `/plan` on a task with parallelizable work
2. Agent creates a plan and calls `exit_plan_mode` with `autopilot_fleet` as the recommended action
3. Select **"Accept plan and build on autopilot + /fleet"**
4. Confirm autopilot permissions when prompted
5. **Observe:** In my case, the agent immediately started working interactively (reading files, making edits) instead of entering fleet mode and dispatching sub-agents
6. Fleet mode only activated ~50 minutes later, after the interactive agentic loop fully completed

### Expected behavior

After selecting `autopilot_fleet`, the session should immediately enter fleet mode and the agent should begin dispatching parallel sub-agents via the `task` tool. The fleet mode prompt ("You are now in fleet mode. Dispatch sub-agents...") should be injected before the next model turn, not queued behind it.

### Additional context

- **OS:** Windows 11 (x64)
- **Terminal:** Windows Terminal
- **Shell:** PowerShell 7
- **Model:** claude-opus-4.6-1m
- **Session ID:** `24873767-9ee6-4297-8678-5866320fb3ab`

**Evidence from `~/.copilot/logs/`:**

| Timestamp (UTC) | Event |
|---|---|
| 14:47:57 | Model calls `exit_plan_mode` with `autopilot_fleet` |
| 14:55:55 | User approves plan -> tool returns "parallel subagent execution has started" |
| 14:56:07 | Model responds by reading files interactively (not fleet mode) |
| 15:09-15:41 | Sub-agents dispatched manually hit cascading API timeouts |
| **15:46:05** | Fleet mode finally activates (~50 min after approval) |

The `events.jsonl` shows the `exit_plan_mode` tool with `selected_action: "autopilot_fleet"` immediately followed by regular `view` tool calls, confirming the agent was not in fleet mode.

The fleet mode statement first appears in the log at 15:46:05 -- a new `configured settings` group starts at that point, indicating a fresh non-interactive session was created for fleet mode only after the interactive loop drained. This suggests a race condition where the fleet start message is queued behind the already-processing agentic loop.

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。