DEV Community

Wu Long
Wu Long

Posted on • Originally published at blog.wulong.dev

The Silent Freeze: When Your Model Runs Out of Credits Mid-Conversation

You're chatting with your agent. It's been helpful all day. You send another message and... nothing. No error. No "sorry, something went wrong." Just silence.

You try again. This time it works — but with a different model. What happened to your first message?

The Bug

OpenClaw #61513 documents a frustrating scenario. When Anthropic returns a billing exhaustion error — specifically "You're out of extra usage" — OpenClaw doesn't recognize it as a failover-worthy error. The turn silently drops.

Why Didn't Failover Catch It?

OpenClaw already handled some Anthropic billing messages. But the exhaustion variant slipped through. This is string-matching error classification — every time a provider tweaks their wording, the classifier needs updating.

The real issue: when an error doesn't match any known pattern, the system defaults to silence instead of "show the user something went wrong."

Two Principles

1. No silent turn drops — ever. If primary fails and failover doesn't fire, the user must see an explicit error.

2. Unknown errors should fail up, not fail silent. The safe default for unrecognized errors isn't "do nothing" — it's "attempt failover, and if that fails too, tell the user."

For Agent Builders

  1. Test with actual billing exhaustion, not just rate limits
  2. Your fallback chain needs a default case
  3. Pre-first-token failures need special handling
  4. Monitor for zero-response turns

Your agent doesn't need to handle every error perfectly. But it absolutely needs to handle every error visibly. Silence is never the right error response.

Top comments (0)