diff --git a/packages/opencode/src/cli/cmd/tui/app.tsx b/packages/opencode/src/cli/cmd/tui/app.tsx index 4b177e292cf..a7f8a5eb26b 100644 --- a/packages/opencode/src/cli/cmd/tui/app.tsx +++ b/packages/opencode/src/cli/cmd/tui/app.tsx @@ -115,6 +115,12 @@ export function tui(input: { resolve() } + // Prevent SIGINT from immediately terminating process on Windows + // exitOnCtrlC: false tells opentui not to exit, but Node still receives SIGINT + // Empty handler prevents default termination, letting keyboard handlers work + const noopHandler = () => {} + process.on("SIGINT", noopHandler) + render( () => { return (