Profile UI renders raw `buzz-agent` id as runtime badge (RUNTIME_LABELS has no entry; catalog label unused)
Nobody has claimed this yet.
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 76/100
- Issue type
- Bug
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- rust, typescript
Research direction
Start with the duplicated RUNTIME_LABELS and runtimeLabel functions in desktop/src/features/profile/ui/UserProfilePanelFields.tsx and UserProfilePopover.tsx, then inspect the existing useAcpRuntimesQuery integration and the catalog entry in desktop/src-tauri/src/managed_agents/discovery.rs. Done means the built-in buzz-agent runtime displays “Buzz Agent” in both profile surfaces while custom commands still have a fallback label.
Written by the indexing model from the issue text.
Description
Describe the bug
The agent profile surfaces (popover and panel) map the agent's harness command to a friendly label via a hard-coded RUNTIME_LABELS map. The map has entries for goose, claude-code, codex-acp, and aider — but NOT for buzz-agent, the bundled default runtime. Agents running on buzz-agent therefore show the raw id buzz-agent in the profile badge, while agents on other runtimes get a polished product name ("Goose", "Claude Code", "Codex").
The label already exists in the backend runtime catalog (AcpRuntimeCatalogEntry.label = "Buzz Agent" in desktop/src-tauri/src/managed_agents/discovery.rs), so the frontend is duplicating (a subset of) catalog data instead of consuming it.
To Reproduce
- Install Buzz Desktop (reproduced on v0.5.14, also present on
main). - Open the profile/popover of any built-in agent that runs on the bundled harness (e.g. Bumble/Fizz/Honey with the default deployment —
agent_command: "buzz-agent"inmanaged-agents.json). - Observe the runtime badge.
Expected: a friendly label, e.g. "Buzz Agent" (as shown in the runtime picker and onboarding).
Actual: the raw id buzz-agent.
Root cause
The map is duplicated in two files, both missing buzz-agent:
desktop/src/features/profile/ui/UserProfilePanelFields.tsx(lines ~28-33)
const RUNTIME_LABELS: Record<string, string> = {
goose: "Goose",
"claude-code": "Claude Code",
"codex-acp": "Codex",
aider: "Aider",
};
function runtimeLabel(command: string): string {
return RUNTIME_LABELS[command] ?? command;
}
desktop/src/features/profile/ui/UserProfilePopover.tsx(lines ~56-64) — identical copy, same fallback.
Usage:
// UserProfilePanelFields.tsx
displayValue: runtimeLabel(managedAgent.agentCommand);
// UserProfilePopover.tsx
<InfoBadge>{runtimeLabel(managedAgent.agentCommand)}</InfoBadge>
Meanwhile the authoritative label is already available from the runtime catalog (KnownAcpRuntime { id: "buzz-agent", label: "Buzz Agent", ... } in discovery.rs), which the settings/harness surfaces already consume.
Suggested fix
Either (a) add "buzz-agent": "Buzz Agent" to both maps as a minimal fix, or better (b) resolve the label from the ACP runtime catalog the frontend already fetches (useAcpRuntimesQuery), falling back to the raw command only for custom harnesses — removing the duplicated hard-coded list.
Related: #5597 (single manifest for capabilities and labels) would address the duplication more broadly.
Environment
- Buzz Desktop v0.5.14 (Windows 11); verified against
main(commit 69107dc). - Any agent whose
agent_commandresolves tobuzz-agent(the default runtime for built-in personas).
- Dominant language
- Rust
- Stars
- 33.7k
- Forks
- 4.4k
- Avg merge
- 1d 21h
- Merged PRs (30d)
- 239
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from block/buzz
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 86/100
-
workflow_sink's mention parser never masks code regions — @name inside a code span wakes the agent Open
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 Half a day Newbie friendliness 88/100
-
Difficulty 1/5 Under an hour Newbie friendliness 92/100
Similar issues
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
gitbutlerapp/gitbutler#15998 · 1 comment ·
-
bug triage:deciding
Difficulty 1/5 Under an hour Newbie friendliness 88/100
open-telemetry/otel-arrow#4132 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 88/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
bitcoindevkit/bdk-ffi#1125 ·