mirror of
https://github.com/openclaw/openclaw.git
synced 2026-04-16 11:41:08 +00:00
fix(cli): set non-zero exit code on argument errors (#60923)
Merged via squash.
Prepared head SHA: 0de0c43111
Co-authored-by: Linux2010 <35169750+Linux2010@users.noreply.github.com>
Co-authored-by: altaywtf <9790196+altaywtf@users.noreply.github.com>
Reviewed-by: @altaywtf
This commit is contained in:
@@ -1,3 +1,4 @@
|
||||
import process from "node:process";
|
||||
import { Command } from "commander";
|
||||
import { registerProgramCommands } from "./command-registry.js";
|
||||
import { createProgramContext } from "./context.js";
|
||||
@@ -8,6 +9,13 @@ import { setProgramContext } from "./program-context.js";
|
||||
export function buildProgram() {
|
||||
const program = new Command();
|
||||
program.enablePositionalOptions();
|
||||
// Preserve Commander-computed exit codes while still aborting parse flow.
|
||||
// Without this, commands like `openclaw sessions list` can print an error
|
||||
// but still report success when exits are intercepted.
|
||||
program.exitOverride((err) => {
|
||||
process.exitCode = typeof err.exitCode === "number" ? err.exitCode : 1;
|
||||
throw err;
|
||||
});
|
||||
const ctx = createProgramContext();
|
||||
const argv = process.argv;
|
||||
|
||||
|
||||
Reference in New Issue
Block a user