diff --git a/src/cli.ts b/src/cli.ts index 54c1c7e1..28b46487 100644 --- a/src/cli.ts +++ b/src/cli.ts @@ -229,6 +229,12 @@ const main = async(): Promise => { return startCli() || new WrapperProcess().start(); }; +// It's possible that the pipe has closed (for example if you run code-server +// --version | head -1). Assume that means we're done. +if (!process.stdout.isTTY) { + process.stdout.on("error", () => process.exit()); +} + main().catch((error) => { logger.error(error.message); process.exit(typeof error.code === "number" ? error.code : 1);