diff --git a/sources/main.ts b/sources/main.ts index 8849e883..1fa13d40 100644 --- a/sources/main.ts +++ b/sources/main.ts @@ -1,4 +1,5 @@ import {BaseContext, Builtins, Cli} from 'clipanion'; +import type {UsageError} from 'clipanion'; import {version as corepackVersion} from '../package.json'; @@ -79,9 +80,17 @@ export async function runMain(argv: Array) { process.exitCode ??= code; } } else { - await engine.executePackageManagerRequest(request, { - cwd: process.cwd(), - args: restArgs, - }); + try { + await engine.executePackageManagerRequest(request, { + cwd: process.cwd(), + args: restArgs, + }); + } catch (error: UsageError | any) { + if (error?.name === `UsageError`) { + console.error(error.message); + process.exit(1); + } + throw error; + } } }