fix(coding-agent): avoid Windows pi update exit assertion

closes #5805
This commit is contained in:
Armin Ronacher
2026-06-16 15:10:23 +02:00
parent 75b0d723c0
commit 06d8c54de2
2 changed files with 10 additions and 1 deletions

View File

@@ -467,7 +467,15 @@ export async function main(args: string[], options?: MainOptions) {
}
if (await handlePackageCommand(args, { extensionFactories: options?.extensionFactories })) {
process.exit(process.exitCode ?? 0);
const exitCode = process.exitCode ?? 0;
if (process.platform === "win32" && exitCode === 0 && args[0] === "update") {
// We normally prefer process.exit(0) for package commands so bad extensions cannot keep
// one-shot commands alive. On Windows, Node can assert after fetch() if process.exit(0)
// runs during teardown; let successful `pi update` drain naturally instead.
// https://github.com/nodejs/node/issues/56645
return;
}
process.exit(exitCode);
return;
}