Ir al contenido
Mastering Claude

Inicio / Cuando algo falla

Cuando algo falla9 minApplication

Errores de API y limite de tasa

Una llamada a la API puede fallar de varias maneras distintas: un error 400 o 404 casi siempre señala una solicitud mal formada que debe corregirse antes de cualquier nuevo intento, salvo el caso particular de un 400 devuelto por haber alcanzado un límite de gasto, mientras que un error 429 solo se resuelve esperando si lleva una cabecera Retry-After, lo cual no es el caso de un límite de gasto alcanzado.

Un error devuelto por la API de Anthropic lleva un código de estado que distingue causas muy diferentes. Un error 400, invalid_request_error, o 404, not_found_error, señala una solicitud mal formada: un parámetro inválido, un contenido incorrecto, o un identificador de modelo que ya no existe tal cual. Reintentar esa llamada sin corregirla reproduce el mismo error indefinidamente, la única salida es ajustar la llamada a la especificación vigente. Un identificador de modelo que ha cambiado de nombre desde que se escribió un script explica buena parte de estos errores 400 y 404: la documentación actual del modelo vigente sigue siendo lo primero que hay que abrir antes de sospechar otra cosa. Sin embargo, un 400 no siempre es una solicitud mal formada: la API también devuelve este código cuando el uso alcanza un límite de gasto fijado para la organización o el espacio de trabajo, salvo en el espacio de trabajo de Claude Code, que en ese caso puede devolver un 429 en su lugar. En este caso concreto, corregir la solicitud no sirve de nada, es el límite mismo lo que hay que elevar.

No todos los errores 429 se resuelven esperando

Un error 429, rate_limit_error, señala que se ha alcanzado un límite, pero dos límites distintos producen este mismo código. Una tasa temporal superada lleva una cabecera Retry-After y se resuelve respetando el plazo que indica antes de reintentar. Un límite de gasto alcanzado para un nivel, en cambio, no lleva ninguna cabecera Retry-After: la documentación lo dice sin rodeos, un 429 de este tipo falla sin descanso hasta que se restablezca el acceso. Esperar ante una respuesta así no sirve de nada: seguir reintentando en ese caso desperdicia llamadas en vano y retrasa la verdadera solución, elevar el límite fijado por la organización antes de reanudar el envío de solicitudes.

HTTP/1.1 429 Too Many Requests
retry-after: 12

{"type":"error","error":{"type":"rate_limit_error"}}

La presencia o ausencia de esta cabecera, no el simple código 429, es lo que decide entre esperar o actuar de otra manera.

En Claude Code, dos variables gobiernan los reintentos

Un error 529, overloaded_error, muestra en Claude Code un mensaje que señala que la API está a plena capacidad, sin consumir la cuota de uso de la sesión. Esta precisión importa: una serie de 529 puede preocupar sin por ello mermar el volumen de uso que autoriza la suscripción. Claude Code reintenta automáticamente los errores 429 y 529 de tipo tasa temporal, nunca los 429 de límite de gasto de una pasarela. CLAUDE_CODE_MAX_RETRIES limita el número de intentos, CLAUDE_CODE_RETRY_WATCHDOG permite reintentar indefinidamente en una sesión sin supervisión: la figura que acompaña esta lección da los valores exactos.

Decidir si hay que esperar o actuar ya aparece en un comando bloqueado, donde se plantea la misma disyuntiva frente a un silencio que puede anunciar un bloqueo real o un trabajo todavía en curso.

Figure 1

Cuatro códigos de estado, su causa y el gesto de recuperación

Código de estadoSignificadoCausa probableGesto de recuperación
400invalid_request_errorParámetro inválido o contenido mal formado, a veces un límite de gasto fijado por la organizaciónCorregir la solicitud antes de cualquier nuevo intento, verificar el límite del lado de la organización
404not_found_errorPunto de acceso o identificador de modelo incorrectoVerificar el identificador exacto en la documentación actual antes de reintentar
429rate_limit_errorTasa temporal superada, o límite de gasto de un nivel alcanzadoEsperar el plazo de la cabecera Retry-After si está presente, si no, no esperar
529overloaded_errorCapacidad de la API saturada, propia de Claude CodeDejar que Claude Code reintente automáticamente, sin que eso consuma la cuota de uso
La tabla cruza cuatro códigos de estado citados en el cuerpo con su significado técnico, su causa probable, y el gesto de recuperación que les corresponde.
Figure 2

Reintentos automáticos y tarifa de la Batch API

10reintentos por defecto
número de reintentos por defecto ante un error 429 o 529 temporal, variable CLAUDE_CODE_MAX_RETRIES
code.claude.com/docs/en/errors, 2026-09-02
15reintentos, límite
límite del número de reintentos que CLAUDE_CODE_MAX_RETRIES puede alcanzar
code.claude.com/docs/en/errors, 2026-09-02
50% de la tarifa estándar
reducción de tarifa aplicada a un procesamiento asíncrono por la Batch API, respecto a la API estándar
platform.claude.com/docs/en/build-with-claude/batch-processing, 2026-09-02
Estos tres valores acotan el número de reintentos que Claude Code realiza ante un error temporal, y la reducción de tarifa aplicada a un procesamiento asíncrono por lotes.
Calíbralo tú mismo

Un script envía una llamada a la API de Anthropic que falla con un código 429. La respuesta contiene una cabecera retry-after fijada en doce segundos. El desarrollador programa un nuevo intento tras ese plazo exacto.

Escribe en una frase lo que esta situación establece, y en una frase lo que no establece.

Lo que hay que recordar
  • Un identificador de modelo obsoleto o un parámetro mal formado provoca un error 400 o 404, que no debe reintentarse tal cual sin corregir antes la solicitud, salvo el caso particular de un 400 devuelto por haber alcanzado un límite de gasto, donde lo que hay que elevar es el límite.
  • Un error 429 abarca dos límites distintos: una tasa temporal, que se resuelve respetando el plazo de la cabecera Retry-After, y un límite de gasto de nivel, que no lleva esa cabecera y no se resuelve esperando.
  • Un error 529 en Claude Code señala una saturación de la capacidad de la API y no consume la cuota de uso de la sesión.
  • Claude Code reintenta automáticamente los errores 429 y 529 de tipo tasa temporal, nunca los 429 relacionados con un límite de gasto de una pasarela.
  • La Batch API procesa las solicitudes de forma asíncrona, a una tarifa reducida frente a la API estándar, para un uso que tolera un plazo de procesamiento en lugar de una respuesta inmediata.
Hazlo ahora

Envía una llamada a la API con un nombre de modelo inválido inventado, por ejemplo claude-inexistente, lee el código de estado devuelto y el campo type del error en la respuesta JSON, luego confirma que se trata efectivamente de un problema de forma y no de un límite de tasa.

Verificar en la fuente

Cada afirmación datable de esta lección remite aquí al texto público que la respalda. Una fuente que no se abre no prueba nada.