mirror of
https://github.com/block/buzz.git
synced 2026-10-30 14:01:37 +00:00
The previous fix removed GOOSE_MODEL and GOOSE_PROVIDER: the two keys that caused the observed bug. That is a denylist of length two. GOOSE_MODE, GOOSE_CONTEXT_LIMIT, GOOSE_MAX_TOKENS, GOOSE_THINKING_EFFORT, OPENAI_API_KEY and the rest still reached the agent from the developer's login shell -- the same bug waiting on a different variable. Strip by prefix instead: GOOSE_, ANTHROPIC_, OPENAI_, OPENROUTER_, DATABRICKS_. That closes the class, including variables goose adds later. Deliberately not a whole-environment allowlist. Agents run shell tools that need the developer's PATH, HOME, SSH_AUTH_SOCK, proxy settings and toolchain vars; an allowlist that missed one would break tools silently, which is worse than the bug being fixed. Agent configuration is Buzz's to own -- the rest of the shell is the user's. The test now supplies inherited keys explicitly instead of reading the real environment. As written before it passed only because my own shell exports GOOSE_*; on a clean machine it asserted nothing. Desktop suite 2401 green, clippy and fmt clean, ratchet passes. Signed-off-by: Michael Neale <michael.neale@gmail.com> Co-authored-by: Michael Neale <michael.neale@gmail.com>