TokenGate
Documentación
docs / cli / claude-code
Claude Code

Configurar Claude Code

Claude Code habla el dialecto nativo de Anthropic. Apuntá ANTHROPIC_BASE_URL al proxy /cli de TokenGate y usá tu API key como ANTHROPIC_API_KEY — no hace falta nada más.

Variables de entorno

export ANTHROPIC_BASE_URL="https://tokengate.work/cli"
export ANTHROPIC_API_KEY="tg_live_..."
export ANTHROPIC_MODEL="<slug-del-modelo>"           # el modelo que va a usar Claude Code
export CLIPROXY_FAST_MODEL="<slug-del-modelo-rapido>"  # opcional, ver abajo
export CLIPROXY_DEFAULT_MODEL="<slug-del-modelo>"      # opcional, ver abajo
claude

Por detrás, Claude Code manda requests a POST /cli/v1/messages en formato nativo de Anthropic (streaming SSE o JSON), que TokenGate traduce al proveedor real según el model que le pases.

Fallback de modelo "fast" (opcional)

Claude Code elige por su cuenta un modelo "fast" (clase Haiku) para tareas auxiliares internas, sin que se lo pidas vos. Si ese nombre que Claude Code inventa no coincide con ningún slug real de TokenGate, esa llamada puntual falla con 404. Para evitarlo, definí estas dos variables:

CLIPROXY_FAST_MODEL="glm-4-flash"     # slug al que mapear cualquier modelo entrante "clase haiku/mini/fast/flash"
CLIPROXY_DEFAULT_MODEL="glm-4-flash"  # slug de respaldo para cualquier otro slug desconocido
⚠️

Si dejás estas dos variables vacías, el proxy queda en passthrough puro: cualquier slug que Claude Code mande y que no exista en tu catálogo devuelve 404 directamente, sin redirigir a nada.

  • ¿El slug que pide Claude Code existe en tu catálogo?
    • pasa directo
    • No — ¿parece un modelo "clase haiku/mini/fast/flash"?
      • Sí, y hay CLIPROXY_FAST_MODEL redirige ahí
      • No, o no hay fast configurado — ¿hay CLIPROXY_DEFAULT_MODEL?
        • redirige ahí
        • No 404

Verificar

Probá el endpoint estilo Claude Code / Anthropic directamente con curl, sin pasar por el CLI:

curl -s https://tokengate.work/cli/v1/messages \
  -H "x-api-key: tg_live_..." \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{"model":"<slug>","max_tokens":64,"messages":[{"role":"user","content":"Di hola"}]}'
🔑

Notá el header de auth: acá es x-api-key + anthropic-version (estilo Anthropic nativo), distinto del Authorization: Bearer que usa el gateway público /v1 — ver autenticación en /docs/api.

Qué modelo elegir

Necesitás un modelo que soporte tool use — Claude Code depende de herramientas (editar archivos, correr comandos) para funcionar. Ver catálogo de modelos y filtrar por agentic_tools.