El error 529 es el único error de Claude que no ha causado tu código: Anthropic está saturado. No puedes solucionarlo, solo gestionarlo correctamente. Eso significa reintentos pacientes con backoff, un modelo de respaldo para las rutas sensibles a la latencia y, sobre todo, evitar oleadas de reintentos inmediatos que empeoren aún más la incidencia.
El error
{
"type": "error",
"error": { "type": "overloaded_error",
"message": "Overloaded" }
}Causas y soluciones de un vistazo
| Causa | Solución |
|---|---|
| Saturación del proveedor (días de lanzamiento, incidencias regionales). Afecta a todos los clientes al mismo tiempo. | Backoff con jitter; consulta la página de estado de Anthropic en lugar de volver a desplegar tu aplicación. |
| Tu propio pico de carga coincide con una capacidad que ya está bajo presión. | Distribuye los trabajos por lotes; un retraso de diez minutos suele resolverlo. |
| Confusión con 429: un límite de velocidad puede parecerse en los registros, pero tiene una causa completamente distinta. | 429 significa que has superado tus límites (el servidor está sano); 529 significa que el servidor está sobrecargado (tu cuota está en orden). Solo 429 incluye una indicación Retry-After. |
| No hay ningún fallback definido, por lo que un problema del proveedor llega hasta el usuario final. | Define una cadena de fallback: dentro de la misma familia (Sonnet → Haiku), el comportamiento se mantiene parecido; entre proveedores (Claude → GPT), también puedes superar una interrupción completa. |
Reintentar sin agravar la incidencia
Trata 529 como un 429 sin Retry-After: aplica un backoff exponencial desde aproximadamente 2 segundos, con jitter, limitado a 30–60 segundos; abandona después de unos cinco intentos y coloca el trabajo en una cola. El jitter es crucial: sin él, todos los clientes vuelven al mismo tiempo y prolongan exactamente la sobrecarga de la que intentan salir.
Cambiar de proveedor en lugar de fallar
Para las rutas sensibles a la latencia, define una cadena de fallback. En un endpoint compatible con OpenAI, basta con cambiar una cadena de texto: no necesitas un segundo SDK ni una segunda cuenta:
PREFERRED = ["claude-sonnet-5", "claude-haiku-4-5", "gpt-5-6-terra"]
def complete(messages):
last = None
for model in PREFERRED:
try:
return client.chat.completions.create(
model=model, messages=messages, max_tokens=800)
except APIStatusError as e:
if e.status_code not in (429, 500, 529):
raise
last = e # überlastet — nächste Stufe versuchen
raise lastSolo después revisa tu propio código
Si el error 529 aparece solo con un tipo de solicitud y las demás llamadas funcionan al mismo tiempo, no se trata de una incidencia generalizada: comprueba si esa ruta envía prompts inusualmente grandes o se ejecuta en un bucle muy estrecho. Si, por el contrario, afecta a todas las llamadas a la vez y desaparece por sí solo, era un problema de capacidad; entonces corresponde usar reintentos y fallback, no refactorizar.
Si llamas a través de Kunavo
Kunavo dirige Claude a través de más de una ruta upstream, y su catálogo multimodelo convierte el failover entre proveedores en un simple cambio de nombre de modelo con la misma clave y la misma facturación. El patrón anterior no necesita una segunda cuenta. Los errores 529 que aun así te llegan nunca se facturan. Capacidad y precio son dos cuestiones distintas; para la segunda, las tarifas por modelo aparecen en la lista de precios de la API de Claude.
Preguntas frecuentes
¿Un error 529 es culpa mía?
No. Es un problema de capacidad del proveedor. Tu responsabilidad se limita a no agravar la incidencia (backoff, jitter) y a tener un destino alternativo si dura más que tu presupuesto de latencia.
529 o 429: ¿cuál es la diferencia?
429 significa que has superado tus límites y el servidor está sano. 529 significa que el propio servidor está sobrecargado y tu cuota está en orden. Ambos se pueden reintentar; solo 429 incluye una indicación Retry-After.
¿Cuánto suele durar una fase 529?
No se puede predecir ni garantizar; por eso la respuesta correcta es un backoff limitado junto con una cola, no un tiempo de espera escrito en el código. Si tu ruta tiene un presupuesto de latencia, el fallback debe actuar en lugar de esperar.
¿Se cobran las llamadas 529 fallidas?
En Kunavo no: una solicitud que termina con un error no se factura. Con un contrato directo, depende de las reglas de facturación del proveedor correspondiente.
Guías relacionadas
- «Error en el flujo de mensajes» en ChatGPT: causas y cómo solucionarlo
- Precios de Claude 2026: ¿cuánto cuesta Claude? Suscripción, API y Claude Code
- Precios de la API de Gemini 2026: tarifas por modelo, aproximadamente un 70% por debajo de la tarifa de Google
Encontrarás más detalles sobre el significado de los errores en referencia de errores; obtener una clave lleva un minuto mediante registro y la guía de autenticación.