Claude Code API Error 400 Invalid effort level: actualiza a 2.1.314 o baja el effort
¿Claude Code falla turno tras turno con API Error 400 Invalid effort level? La 2.1.314 baja el effort, reintenta y muestra el nivel usado. Comprobamos claude --version (2.1.312) y explicamos la actualización y el ajuste manual con /model.

Claude Code falla turno tras turno con API Error: 400 {"type":"error","error":{"type":"invalid_request_error","message":"Invalid effort level"}}. Mira primero la versión; luego actualiza o baja el effort.
Lo que vi: claude --version en esta máquina devolvió 2.1.312 (Claude Code), así que aún no tenemos el arreglo. Tampoco pude reproducir un tope de effort puesto por un administrador de organización en una cuenta personal: eso es política de empresa. Abajo separo lo que ejecutamos de lo que dice el CHANGELOG oficial.
Qué significa Invalid effort level
La API rechazó el nivel de effort que pedía la sesión. El CHANGELOG de Claude Code 2.1.314 dice que, si un admin de la organización limita el effort de un modelo, las versiones anteriores fallaban una y otra vez; desde 2.1.314 baja el effort, reintenta y indica qué nivel usó.
Para los niveles de effort / ultrathink, ver Claude Code effort xhigh. Otros errores 400 están en Errores de Claude Code.
Qué ejecutamos
claude --version
Salida:
2.1.312 (Claude Code)
Este CLI todavía no incluye la bajada automática. En una cuenta personal sin política de organización suele no aparecer Invalid effort level. Si lo ves igual, prioriza una versión antigua o un effort fijado demasiado alto.
Cómo resolverlo
1. Actualiza a Claude Code ≥ 2.1.314
El arreglo está documentado en 2.1.314. Actualiza como instalaste el CLI, por ejemplo:
claude update
Vuelve a ejecutar claude --version y confirma ≥ 2.1.314.
2. Si no puedes actualizar: baja el effort a mano
En la sesión usa /model y elige un nivel más bajo. Al arrancar también puedes pasar --effort (aparece en claude --help). No te quedes en un nivel que la organización no permite.
3. Sigue fallando: confirma la política de la org
Los admins de Team / Enterprise pueden limitar el effort por modelo. En cuenta personal normalmente no hay ese tope; aquí no pudimos reproducirlo. Si a tus compañeros les funciona y a ti no, compara el error crudo con la política del admin antes de reinstalar.
Causa y arreglo
| Situación | Cómo lo juzgué | Arreglo |
|---|---|---|
| CLI < 2.1.314 | Vi: claude --version → 2.1.312 | Actualizar a ≥ 2.1.314 |
| Tope de effort de la org | Infiero del CHANGELOG 2.1.314 | Actualizar; o /model / --effort |
| Cuenta personal sin política | Vi: no se reproduce el tope | Actualiza igual; revisa effort alto fijado |
| Otro API 400 | Hace falta el cuerpo completo | Usa la guía de errores |
Preguntas frecuentes
¿Seguirá saliendo Invalid effort level tras 2.1.314?
Según el CHANGELOG, el fallo turno a turno se sustituye por bajar y reintentar. Si aún ves un 400, pega el JSON completo: puede ser otro invalid_request_error.
¿Tiene que ver con ultrathink / xhigh?
Sí. Un effort más alto choca antes con el tope de la org. Niveles en effort xhigh.
¿En qué se diferencia de 401 OAuth o selected model?
401 es autenticación (401 OAuth). Un nombre de modelo incorrecto es selected model (selected model). Invalid effort level habla del campo effort, no del token ni del id del modelo.