github Lexus2016/claude-code-studio v5.0.13
v5.0.13 — Windows & Linux cross-platform compatibility

latest releases: v5.48.0, v5.47.3, v5.47.2...
one month ago

What's new

Full cross-platform support for macOS, Ubuntu, and Windows.

Cross-platform fixes

claude-cli.js

  • findClaudeBin() now detects Windows paths (APPDATA/npm/claude.cmd, LOCALAPPDATA/npm/claude.cmd, etc.)
  • spawn uses shell: true for .cmd/.bat binaries on Windows (required for cmd.exe scripts)
  • stdout split on \r?\n instead of \n (handles Windows CRLF line endings)

server.js

  • Replaced hardcoded /tmp/ with os.tmpdir() (cross-platform temp dir)
  • Replaced hardcoded process.env.HOME || '/root' with os.homedir() (works on Windows too)
  • expandTilde() / expandTildeInObj() expand ~ in MCP env values on all platforms
  • Windows open-terminal: start "" cmd /k "..." (empty title prevents cmd.exe treating first arg as window title)
  • Linux open-terminal: replaced blocking execSync + 2-second timeout with spawnProc({ detached: true }) + unref() — terminals (xterm, gnome-terminal, konsole) now stay alive after launch
  • .env parsing uses split(/\r?\n/) for Windows CRLF compatibility

scripts/install-hooks.js

  • Hook commands use node .claude/scripts/file-lock.js instead of bash (no bash on Windows)
  • copyHookScripts() copies file-lock.js / file-unlock.js to project .claude/scripts/

.claude/scripts/file-lock.js & file-unlock.js (new)

  • Node.js cross-platform replacements for the old bash hook scripts
  • stdin read via fs.readSync() loop (reliable on Windows pipes, unlike readFileSync(0))
  • Synchronous sleep via Atomics.wait with busy-loop fallback

Upgrade

npx github:Lexus2016/claude-code-studio@latest

Don't miss a new claude-code-studio release

NewReleases is sending notifications on new releases.