ruvnet/ruflo · error · Error
swarm state is busy; retry the outcome update
Error message
swarm state is busy; retry the outcome update
What it means
Error "swarm state is busy; retry the outcome update" thrown in ruvnet/ruflo.
Source
Thrown at v3/@claude-flow/cli/src/mcp-tools/swarm-tools.ts:188
const lockPath = join(getSwarmDir(), SWARM_STATE_LOCK);
let descriptor: number | undefined;
const waiter = new Int32Array(new SharedArrayBuffer(4));
for (let attempt = 0; attempt < 100; attempt++) {
try {
descriptor = openSync(lockPath, 'wx', 0o600);
break;
} catch (error) {
if ((error as NodeJS.ErrnoException).code !== 'EEXIST') throw error;
try {
if (Date.now() - statSync(lockPath).mtimeMs > SWARM_LOCK_STALE_MS) {
unlinkSync(lockPath);
continue;
}
} catch { /* another writer released it */ }
Atomics.wait(waiter, 0, 0, 10);
}
}
if (descriptor === undefined) throw new Error('swarm state is busy; retry the outcome update');
try {
return operation();
} finally {
try { closeSync(descriptor); } catch { /* best effort */ }
try { unlinkSync(lockPath); } catch { /* best effort */ }
}
}
// Input validation
const VALID_TOPOLOGIES = new Set([
'hierarchical', 'mesh', 'hierarchical-mesh', 'ring', 'star', 'hybrid', 'adaptive', 'pheromone-adaptive',
]);
function latestRunningSwarm(store: SwarmStore): SwarmState | undefined {
return Object.values(store.swarms)
.filter((swarm) => swarm.status === 'running')
.sort((a, b) => new Date(b.updatedAt).getTime() - new Date(a.updatedAt).getTime())[0];
}View on GitHub (pinned to 6b01dc5a68)
When it happens
Trigger: Thrown at v3/@claude-flow/cli/src/mcp-tools/swarm-tools.ts:188 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of ruvnet/ruflo@6b01dc5a68 (2026-08-12).
Data as JSON: /api/errors/c8be461867474ef2.
Report an issue: GitHub.