Files
buzz/desktop
Michael Neale d4db850b3a fix(desktop): stop an agent inheriting the developer's provider
Desktop already refuses to persist GOOSE_PROVIDER/GOOSE_MODEL in an
agent's env_vars so a stale override cannot shadow the record's
structured provider/model fields. That guard only covers env we
persist. The spawned child still inherits Desktop's environment, and
Desktop inherits the user's login shell — where anyone with goose
installed exports GOOSE_PROVIDER.

So the developer's shell became the agent's configuration: an agent
configured for OpenAI sent its OpenAI model to Anthropic and 404'd
every turn, while the UI still showed OpenAI. Two agents on different
providers made it look like one bot was broken rather than that the
setting was being ignored.

Clear DERIVED_PROVIDER_MODEL_ENV_KEYS at spawn before writing the ones
derived from the record, so the record is the only source and an agent
with no configured provider gets none rather than the developer's. The
agent-side precedence fix (buzz-agent config.rs) makes buzz-agent
robust to a dirty environment; this makes Desktop stop handing it one.

Test asserts no inherited value survives into the child, and fails
without the clearing step.

Signed-off-by: Michael Neale <michael.neale@gmail.com>
Co-authored-by: Michael Neale <michael.neale@gmail.com>
2026-08-12 13:57:21 +10:00
..
2026-08-03 21:51:17 -04:00
…

Buzz

Desktop chat shell with:

  • Tauri + React + TypeScript + Vite
  • Tailwind CSS
  • shadcn/ui-ready shared components
  • Biome (lint/format/check)
  • Feature-driven frontend structure

Scripts

  • pnpm dev - run the web frontend
  • pnpm tauri dev - run the desktop app
  • pnpm build - typecheck and build frontend
  • pnpm typecheck - TypeScript checks
  • pnpm lint - Biome lint
  • pnpm format - Biome format (write)
  • pnpm check - Biome check

Structure

  • src/shared - reusable app-wide code (ui, lib, styles)
  • src/features - feature modules (vertical slices)
  • src/app - top-level app composition