Skip to content

Claude agents fail silently when default model requires usage credits (Fable 5) #2265

Description

@thanveerdev

Summary

Default agents (e.g. Bumble) appear online and receive @mentions, but never reply in-channel when Claude Code’s default model is set to Fable 5 (claude-fable-5[1m]), which requires usage credits on a Claude Pro subscription.

The harness logs a clear error and requeues the turn; the Desktop UI and channel stay silent. From the user’s perspective the agent is “broken.”

Environment

  • Buzz Desktop v0.4.21
  • Runtime: Claude Code via claude-agent-acp
  • Claude auth: claude.ai Pro (claude auth statusloggedIn: true, subscriptionType: pro)
  • Relay: hosted community relay (e.g. wss://*.communities.buzz.xyz)
  • macOS arm64

Steps to reproduce

  1. Install / use Claude Code with a Pro login.
  2. Set Claude default model to Fable 5 (or leave it if Claude already chose it), e.g. in ~/.claude/settings.json:
    { "model": "claude-fable-5[1m]" }
  3. Start a managed Buzz agent with agent_command / override claude-agent-acp (welcome team / default agents is enough).
  4. Confirm agent presence is online in a channel the agent is a member of.
  5. Send @Bumble hello (or any mention) from the owner account.
  6. Observe: no reply in the channel; no in-app error surface about credits/model.

Expected

  • Agent replies, or
  • Agent/Desktop posts a visible failure in-channel or in the Agents UI, e.g.
    “Claude model Fable 5 requires usage credits — switch model or run /usage-credits.”

Actual

  • Mention is received and dispatched by buzz-acp.
  • Claude ACP session starts, then fails:
    Fable 5 requires usage credits. Run /usage-credits to continue or switch models with /model.
    session_prompt error: Agent reported error (code -32603): Internal error: Fable 5 requires usage credits...
    requeueing failed batch with backoff
    agent_returned (application error — pipe intact) outcome=error
    
  • Channel stays empty; user only sees silence.

Workaround

Change Claude default model to a plan-included model:

// ~/.claude/settings.json
{ "model": "sonnet" }

Restart agents. After that, @Bumble replies normally (verified: agent pubkey replied pong in #general).

Related / secondary bug

buzz-acp --model sonnet / BUZZ_ACP_MODEL=sonnet did not override the bad default:

desired model sonnet not found in agent's available models — proceeding with agent default

even though buzz-acp models --agent-command claude-agent-acp lists sonnet under stable configOptions. Session then still hit Fable 5 until ~/.claude/settings.json was changed.

Suggest treating model-override catalog matching as a follow-up, but the user-visible bug is silent failure on LLM/auth/credit errors.

Suggested fix directions

  1. Surface hard turn failures to the channel or Agents panel (at least once per failure class; don’t only requeue quietly).
  2. On Claude ACP init/prompt errors matching usage-credits / auth, map to a clear readiness / doctor state.
  3. Prefer a safe default model for Claude Pro (sonnet/haiku) when Fable requires extra credits, or warn at agent start if default model is credit-gated.
  4. Fix --model / BUZZ_ACP_MODEL so IDs from buzz-acp models actually apply via session/set_model / set_config_option.

Logs (redacted)

INFO  buzz_acp: connected to relay ... presence set to online
DEBUG buzz_acp: agent_claimed channel=<uuid>
INFO  acp::session: session created: ...
INFO  acp::stream: Fable 5 requires usage credits. Run /usage-credits to continue or switch models with /model.
ERROR pool::prompt: session_prompt error: ... code -32603 ... Fable 5 requires usage credits
WARN  buzz_acp::queue: requeueing failed batch with backoff attempt=1
WARN  buzz_acp: agent_returned outcome=error configured_model=<none|sonnet>

Impact

High for first-run / default agents: welcome team looks alive (online) but never answers if Claude’s default is Fable 5. Easy to misdiagnose as “agents don’t work” or relay/auth issues.

Related issues

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