Cómo ahorrar tokens en Claude Code y gastar menos

Si quieres ahorrar tokens en Claude Code, o dicho de las otras formas en que se busca esto, optimizar tokens, reducir el consumo o hacer que Claude gaste menos, la primera cosa que hay que entender es de dónde sale el gasto: el costo escala con el tamaño del contexto. Cuanto más texto procesa Claude en cada mensaje, más tokens gastas, y el contexto se arrastra mensaje a mensaje. Así que casi todo se reduce a una idea: mantener el contexto pequeño. Aquí van las técnicas que de verdad hacen que Claude gaste menos, ordenadas de mayor a menor impacto.
¿Usas Claude en la web o en la app, no la CLI? Tres de las diez técnicas te sirven igual: elegir bien el modelo (punto 2), abrir conversación nueva al cambiar de tema en vez de arrastrar el hilo (punto 1) y escribir prompts específicos (punto 9). Las otras siete son comandos de Claude Code y no existen en la interfaz web. Lo aclaro en cada punto.
Antes de optimizar, mide: /usage te muestra el gasto de la sesión y /context qué está ocupando tu ventana de contexto. También puedes ponerlo en la status line para verlo siempre.
1. Gestiona el contexto a propósito
Es el punto que más ahorra, y también el que explica por qué Claude consume tantos tokens sin que hagas nada raro: cada mensaje reenvía la conversación entera.
/clearentre tareas distintas. El contexto viejo gasta tokens en cada mensaje siguiente. Cuando cambies a algo no relacionado, limpia. (Usa/renameantes y/resumedespués si quieres volver.) En la app web el equivalente es abrir un chat nuevo, y vale exactamente igual.
Comprimir el contexto con /compact
Cuando la conversación es larga pero no quieres perderla, /compact la resume en su sitio. Y acepta instrucciones sobre qué conservar:
/compact enfócate en los cambios de código y el output de tests
Puedes dejarlo fijo en tu CLAUDE.md con una sección de instrucciones de compactación, para no repetirlo cada vez. Compactar cuesta una llamada, así que no lo hagas cada tres mensajes: la ganancia está en conversaciones que ya arrastran mucho.
2. Qué modelo de Claude consume menos tokens
La pregunta se hace mucho y tiene truco: todos los modelos cuentan los tokens igual. Lo que cambia es el precio por token y cuánto texto genera cada uno para resolver lo mismo. Un modelo que razona más escribe más, así que gasta por partida doble.
Estos son los precios de la API por millón de tokens, que es la proporción que importa aunque pagues por suscripción:
| Modelo | Entrada | Salida | Contexto |
|---|---|---|---|
| Haiku 4.5 | $1 | $5 | 200K |
| Sonnet 5 | $2 | $10 | 1M |
| Opus 5 | $5 | $25 | 1M |
Así que Haiku es el que menos consume, y por bastante: cinco veces más barato que Opus en entrada y en salida. Si trabajas con una suscripción Pro o Max no pagas por token, pero esa misma proporción es la que decide cuánto de tu límite de uso se come cada mensaje.
En la práctica:
- Haiku para tareas mecánicas: renombrar, formatear, buscar, resumir logs. Especialmente en subagentes (
model: haiku). - Sonnet para la mayoría del código. Es el punto dulce.
- Opus solo para decisiones de arquitectura o razonamiento multi-paso.
Cambias con /model a mitad de sesión. Y hay dos ajustes que abaratan sin cambiar de modelo:
/effortbaja el esfuerzo de razonamiento. Los niveles van delowamax, y el razonamiento se factura como tokens de salida, así que bajarlo se nota. Para tareas que no necesitan pensar,lowes puro ahorro./fastcuesta el doble. El modo rápido de Claude Code no es un modelo más pequeño: es el mismo modelo con más velocidad de salida, a precio premium. Si tu objetivo es gastar menos, tenlo apagado.
3. No rompas la caché de contexto
Esta es la técnica con mejor relación ahorro/esfuerzo y casi nadie la menciona. Claude Code cachea el contexto que se repite entre mensajes, y leer de la caché cuesta alrededor de una décima parte de procesar ese mismo texto de nuevo. En una sesión larga es la diferencia entre pagar el CLAUDE.md una vez o pagarlo cuarenta.
El detalle que hay que saber: la caché funciona por coincidencia de prefijo. Se aprovecha desde el principio del contexto hasta el primer byte que cambia, y todo lo que viene después se recalcula. De ahí salen las reglas prácticas:
- No edites el CLAUDE.md a mitad de sesión si puedes evitarlo. Está al principio del contexto, así que tocarlo invalida la caché de todo lo demás.
- No añadas ni quites servidores MCP en caliente. Las definiciones de herramientas van antes que la conversación, y cambiarlas tiene el mismo efecto.
- Cuidado con lo que cambia en cada mensaje. Una status line o un hook que inyecte la hora, un identificador aleatorio o un contador en el contexto rompe la coincidencia de prefijo en cada turno. Si algo tiene que variar, que vaya lo más al final posible.
Dicho de otra forma: una sesión larga y estable es más barata que varias sesiones cortas que recargan el mismo contexto desde cero. Y eso convive bien con /clear, porque lo que quieres cortar son los cambios de tema, no los mensajes que reutilizan el mismo prefijo.
4. Delega lo verboso en subagentes
Correr tests, traer documentación o procesar logs puede inflar tu contexto. Si lo delegas a un subagente, el output ruidoso se queda en su ventana y a tu conversación principal vuelve solo el resumen. Es de las formas más limpias de ahorrar. Y si le pones model: haiku al subagente, el ahorro se multiplica por lo que viste en el punto 2.
5. Mantén tu CLAUDE.md liviano
Tu CLAUDE.md se carga entero en cada sesión, así que esos tokens están presentes aunque estés en otra cosa. Apunta a menos de 200 líneas.
6. Mueve las instrucciones a skills
Esta es la continuación natural del punto anterior y merece su propio apartado, porque es la respuesta a "¿hay alguna skill para ahorrar tokens?". La respuesta honesta es que no necesitas una skill que ahorre tokens: necesitas usar skills para que tu contexto base sea más pequeño.
Una skill se carga solo cuando se invoca. Todo lo que hoy vive en tu CLAUDE.md y solo aplica a un flujo concreto (revisar PRs, correr una migración, generar un release) son tokens que pagas en cada mensaje de cada sesión para algo que usas una vez a la semana. Movido a una skill, pasa a costar cero hasta que lo llamas.
El mismo razonamiento aplica a las herramientas: los plugins y las skills que traes con npx solo pesan cuando entran en juego. Un CLAUDE.md de 400 líneas y cuatro skills es más caro que 150 líneas y doce skills.
7. Recorta el overhead de MCP
Cada servidor MCP añade definiciones de herramientas al contexto:
- Desactiva los que no uses con
/mcp. - Prefiere un CLI cuando exista (
gh,aws,gcloud): suele ser más eficiente en tokens que el servidor MCP equivalente, porque no agrega listados de herramientas.
8. Preprocesa con hooks
Un hook puede filtrar datos antes de que Claude los vea. En vez de leer un log de 10.000 líneas para encontrar errores, un hook hace grep ERROR y devuelve solo eso: de decenas de miles de tokens a unos cientos.
9. Escribe prompts específicos
"Mejora este código" dispara un escaneo amplio y caro. "Añade validación de input a la función login en auth.ts" deja que Claude trabaje con lecturas mínimas. Y para tareas complejas, usa plan mode (Shift+Tab) antes de implementar: explorar y aprobar un plan evita rehacer trabajo caro por ir en la dirección equivocada.
10. Recorta los tokens de salida
No solo pagas por lo que Claude lee: la salida también cuesta, y sale más cara que la entrada (cinco veces más, según la tabla del punto 2). El razonamiento extendido se factura como tokens de salida. Dos formas de recortarla:
- Baja el esfuerzo cuando no lo necesitas. Las tareas mecánicas no requieren razonamiento extendido; lo ajustas con
/efforto desde/config(también con la variableMAX_THINKING_TOKENS). - Usa un output style conciso. Claude Code trae estilos (Default, Explanatory, Learning), pero Explanatory y Learning generan más texto a propósito. No hay un preset "conciso" nativo: si quieres respuestas breves, crea un estilo propio en
.claude/output-styles/con una instrucción tipo "responde en 2-3 frases". Se aplica tras/clearo al reiniciar.
Resumen
| Técnica | Cuándo |
|---|---|
/clear |
Al cambiar de tarea |
/compact con foco |
Sesión larga que se acerca al límite |
| Modelo según tarea (Haiku/Sonnet/Opus) | Siempre |
| No invalidar la caché de contexto | Sesiones largas |
/fast apagado |
Siempre, si el objetivo es gastar menos |
| Delegar en subagentes | Tests, docs, logs verbosos |
| CLAUDE.md < 200 líneas, el resto en skills | Siempre |
| Desactivar MCP sin usar / preferir CLI | Siempre |
| Prompts específicos + plan mode | Tareas complejas |
/effort bajo / output style conciso |
Tareas simples, sesiones largas |
Gastar menos es una pieza de un flujo más grande. El resto (contexto, hooks, skills, plugins, subagentes) está ordenado en la guía de Claude Code.
Preguntas frecuentes
¿Cómo veo cuántos tokens estoy gastando en Claude Code?
Con /usage (gasto y estadísticas de la sesión) y /context (qué ocupa tu ventana de contexto). Puedes mostrar el uso de contexto de forma continua en la status line.
¿Cuál es la forma más rápida de reducir tokens?
Usar /clear al cambiar de tarea y elegir un modelo más barato (Haiku o Sonnet) para lo que no necesita Opus. Después, delegar el trabajo verboso a subagentes.
¿Qué modelo de Claude consume menos tokens?
Haiku, y por bastante: cuesta cinco veces menos que Opus tanto en entrada como en salida. Pero la pregunta engaña, porque todos los modelos cuentan los tokens igual; lo que cambia es el precio por token y cuánto texto genera cada uno para resolver lo mismo. Opus razona más y por eso escribe más, así que gasta el doble por partida doble. En la práctica: Haiku para tareas mecánicas, Sonnet para la mayoría del código y Opus solo para decisiones de arquitectura. Y no olvides /effort: el razonamiento se factura como tokens de salida, así que bajarlo abarata incluso sin cambiar de modelo.
¿Hay alguna skill para ahorrar tokens en Claude?
No hace falta una skill que ahorre tokens; lo que ahorra es usar skills. Todo lo que muevas de tu CLAUDE.md a una skill deja de cargarse en cada sesión y solo pesa cuando lo invocas. Un CLAUDE.md corto con muchas skills es más barato que un CLAUDE.md largo con pocas.
¿Por qué Claude consume tantos tokens?
Porque la conversación entera viaja en cada mensaje. No pagas solo por lo que escribes ahora: pagas por todo lo anterior, otra vez. Un hilo largo cobra sus primeros mensajes decenas de veces, y a eso se suman el CLAUDE.md, los archivos que leyó y las definiciones de las herramientas MCP que tengas conectadas. De ahí que la técnica número uno sea limpiar el contexto y no una configuración escondida.
¿Cómo optimizar Claude si tengo el plan Pro o Max?
Con una suscripción no pagas por token, así que la pregunta cambia: lo que optimizas es cuánto de tu límite de uso se come cada mensaje. La proporción es la misma que en la tabla de precios, o sea que un mensaje con Opus consume mucho más de tu ventana que el mismo mensaje con Haiku, y un contexto de 100.000 tokens la consume más rápido que uno de 10.000. En la práctica valen las mismas diez técnicas; lo que cambia es que el ahorro se nota en cuántas horas aguantas antes de quedarte sin cuota, no en la factura.
¿Se puede tener más tokens en Claude?
Ampliar el límite es cambiar de plan o pasar a la API, no hay un ajuste que lo suba. Lo que sí puedes es que te rindan más, que es de lo que va todo este artículo: el mismo trabajo con la mitad de contexto consume la mitad de tu cuota.
¿Cómo se cuentan los tokens en Claude?
Un token es un fragmento de texto, más o menos tres cuartos de una palabra en español. Se cuentan tanto los de entrada (todo lo que Claude lee: tu mensaje, el CLAUDE.md, los archivos, las definiciones de herramientas MCP y la conversación anterior completa) como los de salida (lo que escribe, incluido el razonamiento). Lo que suele sorprender es que el contexto se reenvía en cada mensaje, así que una conversación larga paga sus tokens iniciales muchas veces. De ahí que la caché y /clear importen tanto.
¿Reducir tokens empeora los resultados?
No si lo haces bien: un contexto más limpio y prompts más específicos suelen dar mejores respuestas, no peores. El ruido innecesario distrae al modelo además de costar dinero.
¿El CLAUDE.md afecta el costo?
Sí: se carga completo en cada sesión. Mantenlo por debajo de 200 líneas y mueve lo específico a skills o reglas con scope por ruta. Y evita editarlo a mitad de sesión, porque invalida la caché de contexto de todo lo que viene después.
¿La salida de Claude también gasta tokens?
Sí, y más caro que la entrada: unas cinco veces más por token. El razonamiento extendido se factura como salida. Para tareas simples baja el esfuerzo con /effort o desde /config (o con MAX_THINKING_TOKENS); si quieres respuestas breves de forma consistente, crea un output style propio en .claude/output-styles/.
¿Tienes un proyecto en mente?
Trabajo con Laravel, WordPress, SEO técnico y servidores MCP. El primer paso es una llamada de descubrimiento, sin costo ni compromiso, donde me cuentas qué necesitas y te digo con honestidad si puedo ayudarte.