Error String Archaeology

detected 2026-03-02

trigger

"message.includes('rate') || message.includes('429') — guessing at error message format."

what it is

Error classification by guessing what error messages probably look like, rather than using the provider SDK's typed error hierarchy. The Anthropic SDK exposes RateLimitError, APIConnectionTimeoutError, etc. The LLM reaches for string matching because it's the highest-frequency pattern in training data.

what it signals

instead

Use `instanceof` checks against the SDK's error types, or check HTTP status codes on the error object.

refs

  • wake:app/api/run-bout/route.ts — onError callback

← all patterns