#078

Claude Code Router: el truco que abarata Claude Code (con el trade-off que nadie cuenta)

"Claude Code gratis" lleva meses siendo la búsqueda más repetida. La respuesta de la comunidad no es magia — es un proxy local que decouples la CLI del modelo. Y tiene un trade-off que los blogs no cuentan.

De cero a profesional: tips, tutoriales y guías en profundidad de Claude Code.

Explorar el hub

Diagrama del flujo de Claude Code Router: la CLI de Claude Code a la izquierda con sus slash commands hooks skills y plugins, el Router en el centro como proxy con sus cinco escenarios default think background longContext webSearch, y a la derecha cuatro providers DeepSeek Qwen DashScope Ollama local y OpenRouter; aviso en amarillo abajo del trade-off honesto: te llevas el UX de Claude Code, no a Claude

TL;DR npm install -g @musistudio/claude-code-router mete un proxy local entre Claude Code y el modelo, y te deja enrutar las peticiones a DeepSeek, Qwen, Ollama, OpenRouter o lo que quieras. Configuras ~/.claude-code-router/config.json con tus providers y reglas (por escenario: default, background, think, longContext, webSearch), arrancas con ccr code, y switcheas modelo al vuelo con /model. El trade-off honesto que nadie te cuenta: te llevas el UX de Claude Code, pero no a Claude. DeepSeek dentro de Claude Code sigue siendo DeepSeek — mejor que ChatGPT en muchas tareas, pero peor que Sonnet 4.6 en agentic y razonamiento.

Cada vez más gente busca "claude code gratis", "claude code ollama", "claude code unlimited". Detrás de todas esas búsquedas está la misma pregunta: ¿puedo seguir programando con esta CLI cuando agoto el plan o cuando el código no debería salir de mi máquina? La respuesta de la comunidad — no de Anthropic — es Claude Code Router, un proyecto open source con 34k+ estrellas que intercepta las llamadas de Claude Code y las traduce a casi cualquier proveedor.

No es magia. Es un proxy que cambia ANTHROPIC_BASE_URL para apuntar a tu máquina (por defecto http://127.0.0.1:3456), y reescribe las requests al formato del proveedor que elijas. Lo que te llevas: la CLI, los slash commands, los hooks, las skills, los plugins. Lo que NO te llevas: a Claude.

Resultado:

> ccr code

Claude Code Router running on localhost:3456
Default model: deepseek,deepseek-chat

> /model openrouter,anthropic/claude-sonnet-4-6

Switched to claude-sonnet-4-6 via OpenRouter for this turn

> /model ollama,qwen2.5-coder:14b

Switched to qwen2.5-coder:14b (local) for this turn

Instalación

# 1. Claude Code (si no lo tienes ya)
npm install -g @anthropic-ai/claude-code

# 2. El router
npm install -g @musistudio/claude-code-router

# 3. Verifica
ccr --version

Configuración mínima (DeepSeek + Ollama)

Crea ~/.claude-code-router/config.json:

{
  "Providers": [
    {
      "name": "deepseek",
      "api_base_url": "https://api.deepseek.com/chat/completions",
      "api_key": "sk-...",
      "models": ["deepseek-chat", "deepseek-reasoner"]
    },
    {
      "name": "ollama",
      "api_base_url": "http://localhost:11434/v1/chat/completions",
      "api_key": "ollama",
      "models": ["qwen2.5-coder:14b", "llama3.1:8b"]
    }
  ],
  "Router": {
    "default": "deepseek,deepseek-chat",
    "background": "ollama,qwen2.5-coder:14b",
    "think": "deepseek,deepseek-reasoner",
    "longContext": "deepseek,deepseek-chat",
    "webSearch": "deepseek,deepseek-chat"
  }
}

⚠️ Heads-up sobre los modelos DeepSeek (válido a fecha de publicación): deepseek-chat y deepseek-reasoner están programados para retirarse el 24 de julio de 2026 según la docs oficial de DeepSeek API. El reemplazo oficial es deepseek-v4-flash y deepseek-v4-pro. Si llegas a este tip después de esa fecha, sustituye los nombres en models y Router — la sintaxis del router no cambia, solo el modelo.

Las cinco claves de Router no son decoración — son escenarios distintos que Claude Code dispara según el tipo de operación:

Escenario Cuándo se usa Modelo recomendado
default Conversación normal El más barato útil (DeepSeek Chat / v4-flash)
background Subagents, tareas paralelas Local (Ollama) — son baratas y muchas
think /think, planning, razonamiento El mejor que tengas (reasoner / v4-pro / Sonnet vía OpenRouter)
longContext Ventanas largas (>32k tokens) Modelo con context window grande
webSearch Tool web search El más capaz para parsear resultados

Arranca con ccr code (en vez de claude). Para recargar config sin reiniciar: ccr restart. Hay UI: ccr ui. Para cambiar de modelo en mitad de conversación: /model <provider>,<modelo> (sin espacio tras la coma).

El trade-off honesto

Esto es lo que no encuentras en los blogs de "Claude Code unlimited":

  • Te llevas el UX, no a Claude. DeepSeek-Chat dentro de Claude Code sigue siendo DeepSeek — bueno para refactors y boilerplate, peor en agentic, tool use complejo y razonamiento de varios pasos.
  • Algunas features requieren Claude. Auto mode necesita el classifier de Anthropic. /advisor llama a Opus específicamente. El combo Figma + Chrome MCP con /goal funciona porque Claude maneja el bucle agentic — con un modelo más débil se rompe a los 3-4 turnos.
  • Es proyecto comunitario. Cuando Claude Code cambia su API o cuando un provider deprecate modelos (como DeepSeek con v4), el router puede romperse hasta que musistudio parchee. No es production-critical infrastructure.
  • Privacy: depende del provider. Ollama → tu máquina, 100% local. DeepSeek/Qwen → servidores del proveedor (China en estos dos casos). Decide en función del repo.

Cuándo SÍ vale la pena

  • Te agotaste el plan Pro/Max y necesitas seguir el día → switch a DeepSeek por unas horas
  • Código sensible que no puede salir de tu máquina → ruta a Ollama local
  • Tareas masivas y baratas (renombrar 200 archivos, generar boilerplate) → background a un modelo cheap
  • Vives en una región sin facturación directa de Anthropic → OpenRouter via router
  • Quieres comparar modelos dentro del mismo flow → switch al vuelo con /model

Cuándo NO usarlo

  • Cuando trabajas con agentic complejoauto mode, agent teams, subagents. Esos flujos asumen capacidades específicas de Claude.
  • Cuando tu cuello de botella es razonamiento, no coste. Pagar Sonnet 4.6 y planificar bien sale más barato que ahorrar en tokens y reescribir mal.
  • Cuando ahorras tokens, no presupuesto. Si el problema es que se te llena el contexto, son 10 hábitos para ahorrar tokens, no cambiar de modelo.

Referencia

Comando Qué hace
ccr code Lanza Claude Code apuntando al router
ccr restart Recarga config sin matar la sesión
ccr ui Abre la interfaz web del router
ccr model Lista modelos / cambia el default desde CLI
/model <provider>,<modelo> Cambia modelo dentro de Claude Code, al vuelo
Provider soportado Mejor para
DeepSeek Chat barato (deepseek-v4-flash desde julio 2026, hoy deepseek-chat) y reasoning (deepseek-v4-pro / deepseek-reasoner)
Qwen 3 / Qwen Coder Coder fuerte vía Alibaba (DashScope) o Ollama local
Ollama / LM Studio / vLLM Local, privacidad total, sin coste por token
OpenRouter Gateway a cientos de modelos (incluido el propio Claude)
GLM (Zhipu) Bilingüe EN/ZH, barato

Documentación oficial: musistudio/claude-code-router (GitHub) · Routing scenarios docs · DeepSeek API Docs

Requisitos

  • Node.js 18+
  • Claude Code v2.0+
  • API key del provider que elijas (DeepSeek, OpenRouter…) o Ollama corriendo en local

Recibe solo lo esencial

Si no hay nada que decir, no escribo. Si hay algo importante, te aviso. 7.000+ profesionales ya confían en esto.

¿Eres desarrollador/a Web profesional?
No

Cancela la suscripción en cualquier momento.