mirror of
https://github.com/agentclientprotocol/claude-agent-acp.git
synced 2026-11-11 03:41:17 +00:00
Fixes #1579. ## Problem The release executable is built with `bun build --compile`. By default a compiled Bun executable loads `.env`, `.env.local` and `bunfig.toml` from its working directory at startup. The editor starts the agent in the user's project, so: - The project's dotenv values land in the agent's `process.env` and are passed on to Claude and every Bash command as real environment variables. Most frameworks never override a variable that is already set, so the project's own `.env.test` is silently ignored. In the reported case this made a test suite drop the dev database. - A `bunfig.toml` in the project that Bun cannot parse stops the agent from starting (`SyntaxError: An error occurred while parsing code`, exit 1). Only the executable is affected; running the npm package under Node does not load these files. ## Fix `scripts/build-binary.mjs` passes `--no-compile-autoload-dotenv` and `--no-compile-autoload-bunfig`. Bun's other two autoloads (`tsconfig.json`, `package.json`) are already off by default. ## Testing `scripts/smoke-binary.mjs` gains a check that runs the executable in a directory containing a `.env`, a `.env.local` and an unparseable `bunfig.toml`, with Node standing in for `claude` to print the environment the CLI is spawned with. It fails on an executable built without the flags and passes with them. Run locally on macOS arm64 only; the Linux, Alpine and Windows targets are covered by the `binaries.yml` matrix.