Hmbown/CodeWhale · error
Fleet worker {worker_id} has no coordination-registered laun
Error message
Fleet worker {worker_id} has no coordination-registered launch spec What it means
When a worker's task has a persisted coordination record, the executor requires that record to carry a launch spec (Some(Some(record))). A record of Some(None) means coordination knows about the worker but has no registered launch spec, so the expected launch cannot be validated against durable state, and the launch is refused.
Source
Thrown at crates/tui/src/fleet/manager.rs:1444
&task_spec,
&worker_spec,
self.run_model(),
&cwd,
&self.workspace,
roster.members(),
None,
)?,
&self.exec_config,
),
task.entry.attempts,
);
let launch_spec = match coordination_record {
Some(Some(record)) => {
validate_registered_launch_spec(&record.spec, &expected_launch_spec)?;
record.spec
}
Some(None) => {
bail!("Fleet worker {worker_id} has no coordination-registered launch spec")
}
None => expected_launch_spec,
};
let command = build_worker_exec_command_with_launch_spec(
codewhale_binary,
&task_spec,
&launch_spec,
&self.exec_config,
model,
roster.members(),
)?;
Ok((cwd, command))
})();
let attempt = FleetExecutorAttempt {
run_id: task.entry.run_id.clone(),
task_id: task.entry.task_id.clone(),
attempt: task.entry.attempts,
};View on GitHub (pinned to 0c42157ee5)
Solutions
- Cancel/complete the affected task so the coordination record is retired, then let the scheduler issue a fresh lease with a full launch spec
- If persistent, remove the stale coordination record for that worker and re-run
- Ensure manager and worker processes come from the same Codewhale version
Defensive patterns
Strategy: fallback
Try / catch
match launch_or_restart(&manager, &worker_id) {
Ok(x) => Ok(x),
Err(err) if err.to_string().contains("no coordination-registered launch spec") => {
// retire the record via cancel, then let a fresh lease produce a full spec
Err(err)
}
Err(err) => Err(err),
} Prevention
- Keep one Codewhale version across a run's lifetime, especially on SSH remotes
- Cancel orphaned workers before resuming after crashes so records are recreated cleanly
When it happens
Trigger: A retry/relaunch of a worker whose coordination record exists but its launch spec was cleared or never written: crash between record creation and spec persistence, or a record written by an older version.
Common situations: Relaunching workers after an unclean shutdown; upgrading Codewhale across a change in coordination record schema; state restored partially from backup.
Related errors
- fleet run {} is already terminal ({lifecycle:?})
- fleet manager for run {} exited with open work; wait for sta
- worker {worker_id} no longer has that running fleet task
- worker {worker_id} has no fleet task to restart
- Fleet worker {worker_id} coordination state is busy; retry r
AI-assisted analysis of Hmbown/CodeWhale@0c42157ee5 (2026-08-20).
Data as JSON: /api/errors/50a94c72da7cd7b9.
Report an issue: GitHub.