Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 3 additions & 2 deletions src/runners/claude.ts
Original file line number Diff line number Diff line change
Expand Up @@ -96,10 +96,11 @@ export function runWithClaude(agentDir: string, manifest: AgentManifest, options
if (result.error) {
error(`Failed to launch Claude Code: ${result.error.message}`);
info('Make sure Claude Code CLI is installed: npm install -g @anthropic-ai/claude-code');
process.exit(1);
process.exitCode = 1;
return;
}

process.exit(result.status ?? 0);
process.exitCode = result.status ?? 0;
} finally {
for (const f of tmpFiles) {
try { unlinkSync(f); } catch { /* ignore */ }
Expand Down
5 changes: 3 additions & 2 deletions src/runners/crewai.ts
Original file line number Diff line number Diff line change
Expand Up @@ -25,10 +25,11 @@ export function runWithCrewAI(agentDir: string, _manifest: AgentManifest): void
if (result.error) {
error(`Failed to run CrewAI: ${result.error.message}`);
info('Make sure the crewai CLI is installed: pip install crewai');
process.exit(1);
process.exitCode = 1;
return;
}

process.exit(result.status ?? 0);
process.exitCode = result.status ?? 0;
} finally {
try { unlinkSync(tmpFile); } catch { /* ignore */ }
}
Expand Down
5 changes: 3 additions & 2 deletions src/runners/nanobot.ts
Original file line number Diff line number Diff line change
Expand Up @@ -58,10 +58,11 @@ export function runWithNanobot(agentDir: string, manifest: AgentManifest, option
error(`Failed to launch Nanobot: ${result.error.message}`);
info('Install Nanobot with: pip install nanobot-ai');
info('Or: uv tool install nanobot-ai');
process.exit(1);
process.exitCode = 1;
return;
}

process.exit(result.status ?? 0);
process.exitCode = result.status ?? 0;
} finally {
try { rmSync(tmpConfigDir, { recursive: true, force: true }); } catch { /* ignore */ }
}
Expand Down
5 changes: 3 additions & 2 deletions src/runners/openai.ts
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,11 @@ export function runWithOpenAI(agentDir: string, _manifest: AgentManifest): void
if (result.error) {
error(`Failed to run Python: ${result.error.message}`);
info('Make sure python3 is installed and the openai-agents package is available');
process.exit(1);
process.exitCode = 1;
return;
}

process.exit(result.status ?? 0);
process.exitCode = result.status ?? 0;
} finally {
try { unlinkSync(tmpFile); } catch { /* ignore */ }
}
Expand Down
5 changes: 3 additions & 2 deletions src/runners/openclaw.ts
Original file line number Diff line number Diff line change
Expand Up @@ -118,10 +118,11 @@ export function runWithOpenClaw(agentDir: string, manifest: AgentManifest, optio
if (result.error) {
error(`Failed to launch OpenClaw: ${result.error.message}`);
info('Make sure OpenClaw is installed: npm install -g openclaw@latest');
process.exit(1);
process.exitCode = 1;
return;
}

process.exit(result.status ?? 0);
process.exitCode = result.status ?? 0;
} finally {
// Cleanup temp workspace
try { rmSync(workspaceDir, { recursive: true, force: true }); } catch { /* ignore */ }
Expand Down