github / github/copilot-cli

FLEET: session.task_complete does not fire after fleet execution

Abierto
#2,262 0 comentarios 0 reacciones 0 asignados Ver en GitHub
area:agents area:sessions
Lenguaje dominante
Shell
Estrellas
11.2k
Forks
1.9k
Merge medio
14 h 16 min
PR fusionados (30 d)
6

Descripción

## Summary

`session.task_complete` — which fires reliably after a normal `sendAndWait()` turn — **never fires** after fleet execution completes. There is no clean fleet-done signal.

## Steps to Reproduce

```javascript
const session = await client.createSession({
onPermissionRequest: async () => ({ approved: true }),
});

let taskCompleteCount = 0;
session.on('session.task_complete', () => taskCompleteCount++);

session.on('session.idle', () => {
console.log(`task_complete fired ${taskCompleteCount} times`);
// → "task_complete fired 0 times"
});

await session.rpc.fleet.start({ prompt: 'Research X and Y in parallel' });
```

## Observed Behaviour

`session.task_complete` fired **0 times** across all fleet runs. Spike data (2026-03-17) for a 4-subagent run with 757 total events:

```json
{
"session.background_tasks_changed": 172,
"subagent.started": 4,
"subagent.completed": 2,
"session.idle": 1,
"session.task_complete": 0
}
```

`session.task_complete` fires normally for regular `sendAndWait()` turns — fleet is the only case where it doesn't.

## Expected Behaviour

`session.task_complete` should fire when fleet finishes all sub-agents, consistent with regular turn behaviour. Alternatively, a dedicated `fleet.complete` event should be introduced.

## Workaround

Wait on `session.idle`, but see related issue FLEET-3 — `session.idle` fires before all sub-agents finish, making this imprecise.

## Environment

- SDK: `@github/copilot-sdk` v0.1.32
- CLI: latest
- Node: v24.13.1

Guía de contribución

Abrir la guía de contribución

Evaluación

Este issue todavía no se ha evaluado.

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.