github / github/copilot-cli

Bug: Multiple unsolicited rubber-duck background agents spawned from a single task tool call

Chiusa
#2,569 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
area:agents
Lingua principale
Shell
Stelle
11.2k
Fork
1.9k
Merge medio
14h 16m
PR unite (30g)
6

Descrizione

## Description

During a multi-step implementation session, **5 unexpected background agents** appeared with system notifications, despite only **1 rubber-duck agent being explicitly launched** via the `task` tool.

All 5 unexpected agents shared the same description ("Critiquing fix plan") and the same session owner ID as the one I launched, suggesting they were auto-spawned by the system rather than by me.

## Environment

- **Copilot CLI version:** 1.0.21
- **OS:** Ubuntu 24.04 (Linux 6.17.0-20-generic x86\_64)
- **Node.js:** v25.9.0
- **Mode:** Interactive (standard, not autopilot)
- **Session ID:** 10fe9180-e557-4c37-8efa-f294510de030

## What I Did

1. Received a `[[PLAN]]` user request to investigate and fix issues in a codebase
2. Investigated the codebase, identified root causes
3. Explicitly called the `task` tool **once** with these parameters:
```json
{
"agent_type": "rubber-duck",
"name": "rubber-duck-review",
"description": "Review fix plan for step_03",
"mode": "background",
"prompt": "..."
}
```
4. While waiting for `rubber-duck-review` to complete, system notifications arrived for **5 additional agents I never launched**

## Unexpected Agents (never explicitly launched)

```
💤 step3-fix-review rubber-duck "Critiquing fix plan" (824s)
💤 script-refs-review rubber-duck "Critiquing fix plan" (803s)
💤 step3-fix-critique rubber-duck "Critiquing fix plan" (747s)
💤 script-fix-critic rubber-duck "Critiquing fix plan" (695s)
💤 script-fix-critic-1 rubber-duck "Critiquing fix plan" (629s) [model: claude-haiku-4.5]
```

The agent I **did** launch:
```
💤 rubber-duck-review rubber-duck "Review fix plan for step_03" (902s)
```

All 6 were listed under the same session owner (`10fe9180-e557-4c37-8efa-f294510de030`), confirming they were spawned within the same session.

## Notable Details

- The unexpected agents had **different names** (step3-fix-review, script-refs-review, etc.) and slightly different descriptions despite all saying "Critiquing fix plan"
- One (`script-fix-critic-1`) used a **different model** (`claude-haiku-4.5`) — the `-1` suffix suggests a naming collision was detected and auto-incremented
- The agents arrived over a ~5 minute window, staggered, not all at once
- All were idle (completed) by the time the user asked "What is pending?"
- There is **no `/fleet` mode** active in this session
- The session was in standard interactive mode (not autopilot/experimental)

## Expected Behavior

Only the **one explicitly requested** rubber-duck agent (`rubber-duck-review`) should have been spawned. No other agents should appear unless the user or assistant explicitly calls the `task` tool.

## Actual Behavior

5 additional rubber-duck agents were spawned without any `task` tool call from the assistant. They ran in parallel, all critiquing the same plan, consuming quota unnecessarily and cluttering the `/tasks` view.

## Impact

- **Wasted quota:** ~5× the expected premium request consumption for agent spawning
- **Confusion:** The user noticed the anomaly and flagged it as a bug
- **Noise:** 5 redundant idle agents in `/tasks` list at session end
- **Potential loop risk:** If agents can self-spawn, a runaway loop scenario is possible in longer sessions

## Possible Hypotheses

1. A retry/fault-tolerance mechanism re-spawned the agent each time it failed to return a result within a timeout window
2. A skill or background automation triggered agent launches independent of the assistant's `task` tool calls
3. The `task` tool call was internally duplicated/retried at the orchestration layer
4. A race condition between agent completion notifications and internal state caused repeated spawning

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia riproducendo l’unica chiamata dell’attività in background in Copilot CLI 1.0.21 nell’ambiente Ubuntu e Node.js segnalato, quindi monitora la vista /tasks e le notifiche della sessione. Confronta i record delle attività, le tempistiche, i nomi, i modelli e il proprietario della sessione con i sei agent descritti. L’attività è completata quando una chiamata esplicita produce un solo agent senza utilizzare la quota due volte.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
node.js, shell
Ambito
cli, devtools
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Tranquilla
Chiarezza
Abbastanza chiara
Idoneità per principianti
48/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.