Summary
Buzz Desktop v0.5.2 has two bugs that prevent OpenCode (and other ACP-based agents) from working properly as agents.
Bug 1: agent_args silently reset to [] by Buzz Desktop
Observed behavior:
When configuring an agent to use OpenCode via the Buzz Desktop UI, the agent_args field in managed-agents.json keeps getting silently reset to [] (empty array) after being set to ["acp"].
Impact:
OpenCode requires the acp subcommand to start in ACP server mode (e.g., opencode acp). Without it, Buzz Desktop launches opencode with no arguments, which starts in interactive mode instead of ACP mode. buzz-acp waits 60s and times out with:
agent initialize failed: Request timeout — agent did not respond within 60s
Root cause:
Buzz Desktop's internal state management overrides the agent_args value in managed-agents.json on every restart/sync, discarding any user-set value.
Expected behavior:
When a user explicitly sets agent_args through the UI or directly in the config file, Buzz Desktop should preserve that value.
Workaround discovered:
Replace the opencode binary with a wrapper script that detects buzz-acp as its parent process and auto-injects the acp argument:
#!/bin/bash
if [ \$# -eq 0 ] || { [ \$# -eq 1 ] && [ -z "\$1" ]; }; then
PARENT_NAME=\$(ps -p \$PPID -o comm= 2>/dev/null)
case "\$PARENT_NAME" in
*buzz*)
exec /path/to/opencode-real acp
;;
esac
fi
exec /path/to/opencode-real "\$@"
Bug 2: missing_binary unknown variant in setup payload
Observed behavior:
When provider and/or provider_binary_path are set in the agent config, buzz-acp crashes with:
Error: setup payload error: malformed BUZZ_ACP_SETUP_PAYLOAD: unknown variant `missing_binary`, expected one of `normalized_field`, `env_key`, `cli_login`, `cli_config_invalid`, `git_bash`
Root cause:
The setup payload format sent by Buzz Desktop or the relay contains a missing_binary variant that the buzz-acp binary (v0.5.2) does not recognize. This suggests a version mismatch — buzz-acp's setup payload parser does not include missing_binary in its valid variants enum.
Environment
- Buzz Desktop version: 0.5.2 (bundle xyz.block.buzz.app)
- OS: macOS (arm64)
- Agent runtime: OpenCode 1.18.9-fork
- Relay: WebSocket relay (tested with
wss://kamil22.communities.buzz.xyz)
Steps to Reproduce (Bug 1)
- Install Buzz Desktop 0.5.2 and OpenCode CLI
- Create a team with agents (e.g., Fizz, Bumble, Honey personas)
- Configure an agent to use OpenCode runtime via UI
- Edit
managed-agents.json to set agent_args: ["acp"]
- Restart Buzz Desktop or toggle the agent
- Observe that
agent_args reverts to []
Steps to Reproduce (Bug 2)
- In
managed-agents.json, set provider and/or provider_binary_path on an agent
- Toggle the agent on
- Observe the
missing_binary error in agent logs
Suggested Fixes
-
For Bug 1: Ensure Buzz Desktop preserves agent_args when syncing agent configuration. The args array should only be modified through intentional user action.
-
For Bug 2: Add missing_binary to the valid variants enum in buzz-acp's setup payload parser, or ensure the relay does not emit this variant to older clients.
Summary
Buzz Desktop v0.5.2 has two bugs that prevent OpenCode (and other ACP-based agents) from working properly as agents.
Bug 1:
agent_argssilently reset to[]by Buzz DesktopObserved behavior:
When configuring an agent to use OpenCode via the Buzz Desktop UI, the
agent_argsfield inmanaged-agents.jsonkeeps getting silently reset to[](empty array) after being set to["acp"].Impact:
OpenCode requires the
acpsubcommand to start in ACP server mode (e.g.,opencode acp). Without it, Buzz Desktop launchesopencodewith no arguments, which starts in interactive mode instead of ACP mode.buzz-acpwaits 60s and times out with:Root cause:
Buzz Desktop's internal state management overrides the
agent_argsvalue inmanaged-agents.jsonon every restart/sync, discarding any user-set value.Expected behavior:
When a user explicitly sets
agent_argsthrough the UI or directly in the config file, Buzz Desktop should preserve that value.Workaround discovered:
Replace the
opencodebinary with a wrapper script that detectsbuzz-acpas its parent process and auto-injects theacpargument:Bug 2:
missing_binaryunknown variant in setup payloadObserved behavior:
When
providerand/orprovider_binary_pathare set in the agent config,buzz-acpcrashes with:Root cause:
The setup payload format sent by Buzz Desktop or the relay contains a
missing_binaryvariant that thebuzz-acpbinary (v0.5.2) does not recognize. This suggests a version mismatch —buzz-acp's setup payload parser does not includemissing_binaryin its valid variants enum.Environment
wss://kamil22.communities.buzz.xyz)Steps to Reproduce (Bug 1)
managed-agents.jsonto setagent_args: ["acp"]agent_argsreverts to[]Steps to Reproduce (Bug 2)
managed-agents.json, setproviderand/orprovider_binary_pathon an agentmissing_binaryerror in agent logsSuggested Fixes
For Bug 1: Ensure Buzz Desktop preserves
agent_argswhen syncing agent configuration. The args array should only be modified through intentional user action.For Bug 2: Add
missing_binaryto the valid variants enum inbuzz-acp's setup payload parser, or ensure the relay does not emit this variant to older clients.