Files
buzz/crates
npub1mn7jgtj4w2pd0g0zeuhxsa6jy6p0rewxz4kujt98my82ahfmp72sxjexk7 c1397bf7dd fix(managed-agents): apply Claude Code agent config via ACP/env; respect CLAUDE_CONFIG_DIR
Fix five gaps in Claude Code agent configuration in Buzz Desktop.
Buzz sets config via env vars at spawn and ACP messages at runtime;
file layout on disk stays the owner's.

Model (fixes #2692): ANTHROPIC_MODEL is injected at local claude spawn
as the single startup model authority. BUZZ_ACP_MODEL is removed from
the spawned env to prevent two simultaneous model authorities. Remote
claude deploys receive ANTHROPIC_MODEL in policy_env, never BUZZ_ACP_MODEL.

PermissionMode Auto (fixes #2884): adds the Auto variant to PermissionMode
with wire string "auto" and tests. The adapter handles graceful downgrade
when the active model does not support it.

Effort end-to-end via ACP (B5): EffortPicker in the config panel discovers
the thought_level configId from the session cache (never hardcoded) and
calls set_config_option. The harness verifies the configId, forwards to
the adapter, and emits an ack carrying category: "thought_level" only on
a real forward. The observer persists the canonical value only on ok+category.
At next session creation, desired_effort is applied via session_set_config_option
so the persisted default takes effect on first turn after a restart.

Honest acks: no fabricated ok anywhere. Synthetic acks (unknown configIds)
carry no category so the observer cannot persist them.

the agent's effective CLAUDE_CONFIG_DIR env var (record > persona > global),
falling back to ~/.claude/ when unset. MCP config stays at ~/.claude.json
regardless (CLAUDE_CONFIG_DIR does not remap the global MCP config file).
The panel shows a Keychain caveat note when a custom dir is active: Claude
keys its login to the config-dir path, so a custom dir creates a fresh
Keychain namespace and the agent needs re-authentication unless the user
also manages CLAUDE_SECURESTORAGE_CONFIG_DIR.

Closes #2692, #2884, #3493

Co-authored-by: Will Pfleger <pfleger.will@gmail.com>
Signed-off-by: Will Pfleger <pfleger.will@gmail.com>
2026-08-04 19:39:08 -04:00
..
2026-07-27 14:18:24 -04:00