diff --git a/CHANGELOG.md b/CHANGELOG.md index e6367864..56620db7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,12 @@ - **900-char early warning test.** A new test fails if any Codex skill description exceeds 900 chars, catching description bloat before it breaks builds. +## [0.11.18.2] - 2026-03-24 + +### Fixed + +- **Windows browse daemon fixed.** The browse server wouldn't start on Windows because Bun requires `stdio` as an array (`['ignore', 'ignore', 'ignore']`), not a string (`'ignore'`). Fixes #448, #454, #458. + ## [0.11.18.1] - 2026-03-24 ### Changed diff --git a/browse/src/cli.ts b/browse/src/cli.ts index 2d48ecf7..25894a5d 100644 --- a/browse/src/cli.ts +++ b/browse/src/cli.ts @@ -234,9 +234,9 @@ async function startServer(): Promise { const launcherCode = `const{spawn}=require('child_process');` + `spawn(process.execPath,[${JSON.stringify(NODE_SERVER_SCRIPT)}],` + - `{detached:true,stdio:'ignore',env:Object.assign({},process.env,` + + `{detached:true,stdio:['ignore','ignore','ignore'],env:Object.assign({},process.env,` + `{BROWSE_STATE_FILE:${JSON.stringify(config.stateFile)}})}).unref()`; - Bun.spawnSync(['node', '-e', launcherCode], { stdio: 'ignore' }); + Bun.spawnSync(['node', '-e', launcherCode], { stdio: ['ignore', 'ignore', 'ignore'] }); } else { // macOS/Linux: Bun.spawn + unref works correctly proc = Bun.spawn(['bun', 'run', SERVER_SCRIPT], {