Hmbown/CodeWhale · error
worker has no Fleet task to restart
Error message
worker {worker_id} has no Fleet task to restart What it means
Restart guard in Fleet restart_worker: neither the rebuilt ledger state nor the late-arrival lookup finds any task entry for the worker, so there is nothing to restart. The worker id names a worker with no Fleet task history in this run.
Solutions
- Verify the worker_id against the run's task list (inspect_worker / run state) before restarting.
- Start a new Fleet task for the worker if the old one was already cleaned up.
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at crates/tui/src/fleet/manager.rs:1068 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of Hmbown/CodeWhale@73e0f67d83 (2026-09-22).
Data as JSON: /api/errors/61aef5edc063fbf2.
Report an issue: GitHub.
Appendix: source
Thrown at crates/tui/src/fleet/manager.rs:1068
&task.entry.task_id,
Some(worker_id),
×tamp(),
Some("operator"),
Some("operator"),
)?;
if !cancelled {
bail!("worker {worker_id} no longer has that running Fleet task");
}
self.refresh_run_status(&task.entry.run_id)?;
self.inspect_worker(worker_id)
}
pub fn restart_worker(&self, worker_id: &str) -> Result<FleetRestartReport> {
let state = self.ledger.rebuild_state()?;
let Some(task) = active_task_for_worker(&state, worker_id)
.or_else(|| latest_task_for_worker(&state, worker_id))
else {
bail!("worker {worker_id} has no Fleet task to restart");
};
let run = state
.runs
.get(&task.entry.run_id.0)
.ok_or_else(|| anyhow!("Fleet run {} does not exist", task.entry.run_id.0))?;
let max_workers = run
.max_workers
.unwrap_or_else(|| run.worker_specs.len().max(1))
.clamp(1, 128);
let mut coordination_guard = match &self.sub_agent_manager {
Some(manager) => {
let Ok(guard) = manager.try_write() else {
bail!("Fleet worker {worker_id} coordination state is busy; retry restart");
};
Some(guard)
}
None => None,
};View on GitHub (pinned to 73e0f67d83)