Skip to content

[Bug] Hermes model discovery times out in Buzz Desktop v0.5.0 #3355

Description

@amanning3390

Bug description

Buzz Desktop v0.5.0 cannot load live models for a Hermes-backed agent when that Hermes profile has configured MCP servers whose startup exceeds Buzz's 10-second helper budget. The Model picker falls back to Custom model... and reports that live models could not be loaded.

Environment

  • Buzz Desktop: v0.5.0, tag 4a977c588a540be38bd8ddb268cd24437bac8165
  • Current-main reproduction: 35305bfc8fd456ca9a17caa1ddbfaabd87d46981
  • Hermes Agent: 0.19.0
  • OS: macOS, Apple Silicon

Steps to reproduce

  1. Configure Hermes with at least one MCP server whose startup blocks ACP initialization for more than 10 seconds.
  2. In Buzz Desktop, open Agents and edit a Hermes-backed agent.
  3. Open the Model picker.
  4. Observe that no live Hermes models load and only Custom model... is available.

The same boundary is reproducible without the UI using the v0.5.0 packaged helper:

BUZZ_ACP_AGENT_COMMAND=hermes-acp \
  /Applications/Buzz.app/Contents/MacOS/buzz-acp models --json

Controlled A/B evidence

Only HERMES_ACP_SKIP_CONFIGURED_MCP changes between the two conditions. Raw model catalogs, stderr, environment dumps, MCP definitions, and credentials were not retained.

Binary / command identity Configured-MCP marker Result
Packaged v0.5.0 / hermes-acp unset 2/2 failed at 10.03–10.06s
Packaged v0.5.0 / hermes-acp 1 succeeded in 3.35–3.88s
Packaged v0.5.0 / hermes acp unset 2/2 failed at 10.12–10.13s
Packaged v0.5.0 / hermes acp 1 succeeded in 2.97–2.98s
Current main / hermes-acp unset 2/2 failed at 10.05–11.00s
Current main / hermes-acp 1 succeeded in 2.67–3.24s
Current main / hermes acp unset 2/2 failed at 10.12–10.18s
Current main / hermes acp 1 succeeded in 3.50–3.99s

Every isolated success returned Hermes 0.19.0, 357 models, current model openai-codex:gpt-5.6-sol, and preserved provider-qualified IDs including openai-codex:gpt-5.6-luna.

A direct ACP boundary probe narrows this further:

Command Marker initialize response within 10.5s
hermes-acp unset no
hermes-acp 1 yes, 0.53s
hermes acp unset no
hermes acp 1 yes, 0.62s

This fails before session/new, model normalization, persistence, or session/set_model can run. Hermes documents the marker as skipping unrelated globally configured MCP startup while leaving per-session MCP registration intact: https://github.com/NousResearch/hermes-agent/blob/071e2adedeedebaad297dab1ce7dd363eb447981/acp_adapter/entry.py#L251-L260

Nine isolated end-to-end model probes had p50 3.35s, p95 3.94s, and max 3.99s. There is no independent evidence here for increasing Buzz's generic 10-second timeout; the configured-MCP startup is the failure boundary.

All observed probe descendants were gone at the five-second cleanup check.

Expected behavior

Buzz-owned ACP sessions should initialize independently of unrelated global Hermes MCP startup, discover the full model catalog, preserve provider-qualified IDs, and continue to register the MCP servers Buzz passes in session/new.

Proposed scope

Apply Hermes's supported ACP-host isolation marker at the shared AcpClient::spawn boundary for recognized Hermes command identities. This covers helper probes, managed sessions, bundled presets, and custom harnesses without a Hermes-specific React/UI path.

The proposed fix will be regression-tested before production changes and will not alter model ID parsing or the generic helper timeout unless separate evidence requires it.

Related work / non-duplication

No issue or PR matching HERMES_ACP_SKIP_CONFIGURED_MCP or this exact pre-initialize timeout was found in the duplicate scan performed immediately before filing.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions