Claude Code
Claude Code se comunica con UberLLM a través de su dirección compatible con Anthropic,
https://api.uberllm.dev. Con la dirección y tu clave configuradas, los comandos y herramientas de Claude Code
funcionan como antes, y las solicitudes se facturan a tu saldo de UberLLM.
Configurarlo a mano
Nada que ejecutar excepto el propio Claude Code. Crea una clave en tu página de claves, luego:
export ANTHROPIC_BASE_URL=https://api.uberllm.dev
export ANTHROPIC_AUTH_TOKEN=ull_your_key
claude
Windows PowerShell:
$env:ANTHROPIC_BASE_URL = "https://api.uberllm.dev"
$env:ANTHROPIC_AUTH_TOKEN = "ull_your_key"
claude
Eso dura para la terminal actual. Para mantenerla sin una clave en tu perfil de shell, guarda la clave en un archivo que solo tú puedas leer:
mkdir -p ~/.uberllm && chmod 700 ~/.uberllm
printf '%s\n' 'ull_your_key' > ~/.uberllm/key && chmod 600 ~/.uberllm/key
y pon esto en ~/.claude/settings.json (todos los proyectos) o en
<project>/.claude/settings.local.json (un proyecto):
{
"apiKeyHelper": "cat ~/.uberllm/key",
"env": {
"ANTHROPIC_BASE_URL": "https://api.uberllm.dev"
}
}
O usa el instalador
El instalador hace lo mismo por ti y obtiene la clave a través de tu navegador. Léelo primero si quieres: es texto sin formato en uberllm.dev/install/claude-code.sh.
- SHA-256 de
claude-code.sh:f5aa1c4610992d8f4ecc1b1cd777bc731c5fad9da6a38cac46989834b194d66c - SHA-256 de
claude-code.ps1:60d631b48e60a2e3f17e5eee19136d47a255f143627986e86b6ceb379858a3b9
Para comprobarlo antes de ejecutarlo:
curl -fsSL https://uberllm.dev/install/claude-code.sh -o claude-code.sh
shasum -a 256 claude-code.sh # compare with the hash above
sh claude-code.sh
Cada proyecto en este ordenador:
curl -fsSL https://uberllm.dev/install/claude-code.sh | sh
Un solo proyecto (ejecútalo dentro del proyecto; otros proyectos permanecen en tu plan de Anthropic):
curl -fsSL https://uberllm.dev/install/claude-code.sh | sh -s -- --project
Añade una carpeta después de --project para configurar un proyecto diferente al actual.
Windows PowerShell (cada proyecto):
irm https://uberllm.dev/install/claude-code.ps1 | iex
No necesitas una API key primero, y no necesitas iniciar sesión cuando
pegues el comando. El instalador abre un enlace en tu navegador
(https://uberllm.dev/cli/link?code=XXXX-XXXX) e imprime el mismo código de confirmación
en la terminal. Inicia sesión, comprueba que el código coincida y pulsa Aprobar.
Al aprobar, se crea una API key en tu cuenta y se entrega al instalador que espera. El código en tu terminal no es el secreto: solo el instalador que inició la solicitud puede recoger la clave, la clave se entrega exactamente una vez, y la solicitud caduca después de 15 minutos.
Si Claude Code nunca se ha configurado en este ordenador, usa primero la instalación para todos los proyectos. Claude Code lee la configuración propia de un proyecto solo después de que confíes en esa carpeta, por lo que una instalación completamente nueva aún podría pedirte que inicies sesión.
Para imprimir el bloque de configuración de tu ordenador sin escribir nada:
curl -fsSL https://uberllm.dev/install/claude-code.sh | sh -s -- --print
Lo que escribe el instalador
La clave va en un archivo que solo tú puedes leer (modo de carpeta 700, modo de archivo 600):
| Instalación | Archivo de clave | Archivo de configuración |
|---|---|---|
| Cada proyecto | ~/.uberllm/key |
~/.claude/settings.json (o $CLAUDE_CONFIG_DIR/settings.json) |
| Un proyecto | ~/.uberllm/key-<folder>-<number> |
<project>/.claude/settings.local.json |
El archivo de configuración obtiene la dirección y un apiKeyHelper que lee el archivo de clave.
La clave en sí nunca se escribe en un archivo de configuración, para que no termine en una
copia de seguridad, un repositorio de dotfiles o una pantalla compartida.
{
"apiKeyHelper": "cat \"/Users/you/.uberllm/key\"",
"env": {
"ANTHROPIC_BASE_URL": "https://api.uberllm.dev",
"CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY": "1"
}
}
Claude Code ejecuta apiKeyHelper para obtener la clave y la envía como
Authorization: Bearer y x-api-key, para que funcione con una pasarela como
UberLLM. Mantiene la respuesta durante cinco minutos (CLAUDE_CODE_API_KEY_HELPER_TTL_MS
lo cambia).
El instalador se fusiona con tu archivo existente en lugar de reemplazarlo, así se mantienen los hooks,
los permisos y los servidores MCP, y copia el archivo antiguo a
<file>.bak-<timestamp> primero. Elimina un ANTHROPIC_AUTH_TOKEN de texto plano
dejado por una instalación anterior. Luego realiza una solicitud real a través de la pasarela, así
que un mensaje de éxito significa que una solicitud se realizó correctamente.
El instalador de Windows aún escribe la clave en settings.json como
ANTHROPIC_AUTH_TOKEN.
Qué configuración gana
Claude Code lee las configuraciones en este orden, la primera gana:
- Configuraciones gestionadas (establecidas por tu empresa, si aplica)
claude --settings <file><project>/.claude/settings.local.json<project>/.claude/settings.json~/.claude/settings.json
Una variable en el bloque env de un archivo de configuración gana a la misma variable en tu shell en la mayoría de las sesiones. Aquí importan dos excepciones:
- La clave. Claude Code usa
ANTHROPIC_AUTH_TOKENprimero, luegoANTHROPIC_API_KEY, luegoapiKeyHelper. Un token exportado en tu shell reemplaza a la clave guardada. - El modelo.
/modelen la sesión gana, luegoclaude --model, luegoANTHROPIC_MODEL, luego la configuraciónmodel. UnANTHROPIC_MODELde shell gana a la configuraciónmodel.
Así que elimina cada variable ANTHROPIC_* de tu shell y de tu perfil de shell
(~/.zshrc, ~/.bashrc) y guárdalas en el archivo de configuración. El instalador te avisa
cuando encuentra una.
Usar otros modelos
Por defecto, nada está fijado: Claude Code pide sus propios nombres de modelo (opus,
sonnet, haiku, claude-opus-5-5…) y UberLLM sirve los mismos modelos de Claude.
Para impulsar Claude Code con DeepSeek, GLM, Qwen, GPT o cualquier otro modelo,
mapea cada una de las ranuras de modelo de Claude Code a un ID de modelo de UberLLM
en el bloque env:
| Variable | Lo que configura |
|---|---|
ANTHROPIC_MODEL |
El modelo con el que se inicia la sesión. |
ANTHROPIC_DEFAULT_OPUS_MODEL |
Lo que significa opus. |
ANTHROPIC_DEFAULT_SONNET_MODEL |
Lo que significa sonnet. |
ANTHROPIC_DEFAULT_HAIKU_MODEL |
Lo que significa haiku. Claude Code también lo usa para tareas en segundo plano, como títulos y resúmenes. |
CLAUDE_CODE_SUBAGENT_MODEL |
El modelo en el que se ejecutan los subagentes. |
{
"apiKeyHelper": "cat \"/Users/you/.uberllm/key\"",
"env": {
"ANTHROPIC_BASE_URL": "https://api.uberllm.dev",
"ANTHROPIC_MODEL": "deepseek/deepseek-v4-pro",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "deepseek/deepseek-v4-pro",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "deepseek/deepseek-v4-pro",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "deepseek/deepseek-v4-flash",
"CLAUDE_CODE_SUBAGENT_MODEL": "deepseek/deepseek-v4-pro"
}
}
Mapea cada ranura. Una ranura sin configurar sigue pidiendo un modelo de Claude, y pagas precios de Claude por ello.
El instalador hace esto por ti con un perfil:
curl -fsSL 'https://uberllm.dev/install/claude-code.sh?profile=glm' | sh
Los perfiles son claude-native (el predeterminado, no fija nada), glm, deepseek y
gpt. Cualquier ID de modelo de la tabla de modelos funciona si
configuras las variables manualmente; GET https://api.uberllm.dev/v1/models los enumera.
Contexto y compactación
Claude Code solo conoce el tamaño del contexto de los modelos Claude. Para cualquier otro modelo, asume 200,000 tokens y compacta la conversación antes de eso.
- Si el modelo tiene un contexto de 1 millones de tokens (su página en uberllm.dev muestra el contexto), añade
[1m]al final de su ID, por ejemplo"ANTHROPIC_MODEL": "deepseek/deepseek-v4-pro[1m]"oclaude --model 'deepseek/deepseek-v4-pro[1m]'. Claude Code entonces planifica para 1M. - Para cualquier otro tamaño, establece
CLAUDE_CODE_MAX_CONTEXT_TOKENSal contexto del modelo, por ejemplo"CLAUDE_CODE_MAX_CONTEXT_TOKENS": "400000". - Para elegir cuándo compacta: la configuración
autoCompactWindow(o la variableCLAUDE_CODE_AUTO_COMPACT_WINDOW) toma un número de tokens de 100,000 a 1,000,000.CLAUDE_AUTOCOMPACT_PCT_OVERRIDE(1–100) compacta antes, en esa proporción de la ventana.autoCompactEnabled: falselo desactiva.
Establecer un contexto mayor del que tiene el modelo hace que las solicitudes fallen una vez que la conversación supera el modelo.
Qué cambia
- Tu inicio de sesión de claude.ai no se utiliza. Las funciones que lo necesitan, como los conectores de claude.ai,
/scheduley el Control Remoto, no están disponibles en una sesión que se ejecuta en UberLLM. - El coste que muestra Claude Code no es tu factura. Claude Code lo calcula en tu ordenador a partir de los precios de lista de Anthropic, y no muestra nada útil para otros modelos. Lo que pagas está en Panel de control → Actividad. Añade tu saldo a la línea de estado (abajo) para verlo mientras trabajas.
- Tu código va a proveedores de modelos de terceros. Todo lo que la sesión lee se envía al modelo, que es ejecutado por proveedores de modelos de terceros en el mercado de UberLLM. No lo uses en un repositorio que contenga secretos, credenciales o datos de clientes.
Saldo en la línea de estado
curl -fsSL https://uberllm.dev/install/statusline.sh | sh -s -- --install
Esto guarda un pequeño script en ~/.uberllm/statusline.sh y lo añade como el statusLine de Claude Code en ~/.claude/settings.json (añade --project después de --install para ponerlo en el .claude/settings.local.json de este proyecto en su lugar). Debajo del prompt verás:
UberLLM $12.40 · $0.35 held · Opus
Ese es tu saldo disponible, la cantidad retenida para solicitudes aún en curso y el modelo. Lee GET /v1/balance con la misma key que usa Claude Code, como máximo una vez por minuto. Solo necesita sh, curl y sed. Léelo primero en uberllm.dev/install/statusline.sh.
Verificar
Inicia Claude Code y ejecuta /status: la dirección de la API es
https://api.uberllm.dev. Luego pregúntale cualquier cosa; la solicitud aparecerá en
Panel de control → Actividad en menos de un minuto.
La misma clave responde a través de la API de Mensajes:
curl https://api.uberllm.dev/v1/messages \
-H "Authorization: Bearer $(cat ~/.uberllm/key)" \
-H "anthropic-version: 2023-06-01" \
-H "content-type: application/json" \
-d '{"model":"claude-haiku-4-5","max_tokens":16,"messages":[{"role":"user","content":"ping"}]}'
Si una solicitud falla con Your apiKeyHelper script is failing, el archivo de la clave está
ausente o ilegible: ejecuta el instalador de nuevo.
Desinstalar y revocar
curl -fsSL https://uberllm.dev/install/claude-code.sh | sh -s -- --uninstall
Para una instalación de un solo proyecto, ejecútalo dentro del proyecto con
sh -s -- --project --uninstall. Primero, hace una copia de seguridad del archivo de configuración, elimina
solo lo que añadió y borra el archivo de clave guardado. Claude Code volverá a tu
inicio de sesión de Anthropic en el siguiente inicio.
Desinstalar no revoca la clave; solo deja de usarla. Elimina la clave en tu página de claves para asegurarte de que nunca pueda volver a gastar. Haz esto para cualquier ordenador en el que ya no confíes, o si aprobaste una solicitud que no iniciaste.