Claude Code
Claude Code comunica con UberLLM tramite il suo indirizzo compatibile con Anthropic,
https://api.uberllm.dev. Con l'indirizzo e la tua chiave impostati, i comandi e gli strumenti di Claude Code
funzionano come prima, e le richieste vengono addebitate al tuo saldo UberLLM.
Configuralo a mano
Niente da eseguire tranne Claude Code stesso. Crea una chiave sulla tua pagina delle chiavi, poi:
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
Questo dura per il terminale attuale. Per mantenerlo senza una chiave nel tuo shell profile, salva la chiave in un file che solo tu puoi leggere:
mkdir -p ~/.uberllm && chmod 700 ~/.uberllm
printf '%s\n' 'ull_your_key' > ~/.uberllm/key && chmod 600 ~/.uberllm/key
e inserisci questo in ~/.claude/settings.json (ogni progetto) o in
<project>/.claude/settings.local.json (un progetto):
{
"apiKeyHelper": "cat ~/.uberllm/key",
"env": {
"ANTHROPIC_BASE_URL": "https://api.uberllm.dev"
}
}
Oppure usa l'installer
L'installer fa la stessa cosa per te e ottiene la chiave tramite il tuo browser. Leggilo prima se vuoi: è testo semplice su uberllm.dev/install/claude-code.sh.
- SHA-256 di
claude-code.sh:f5aa1c4610992d8f4ecc1b1cd777bc731c5fad9da6a38cac46989834b194d66c - SHA-256 di
claude-code.ps1:60d631b48e60a2e3f17e5eee19136d47a255f143627986e86b6ceb379858a3b9
Per controllarlo prima di eseguirlo:
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
Ogni progetto su questo computer:
curl -fsSL https://uberllm.dev/install/claude-code.sh | sh
Un solo progetto (eseguilo all'interno del progetto; gli altri progetti rimangono sul tuo piano Anthropic):
curl -fsSL https://uberllm.dev/install/claude-code.sh | sh -s -- --project
Aggiungi una cartella dopo --project per configurare un progetto diverso da quello attuale.
Windows PowerShell (ogni progetto):
irm https://uberllm.dev/install/claude-code.ps1 | iex
Non hai bisogno di una API key prima, e non devi essere loggato quando incolli il comando. L'installer apre un link nel tuo browser (https://uberllm.dev/cli/link?code=XXXX-XXXX) e stampa lo stesso codice di conferma nel terminale. Accedi, verifica che il codice corrisponda e premi Approve.
L'approvazione crea una API key sul tuo account e la consegna all'installer in attesa. Il codice nel tuo terminale non è il segreto: solo l'installer che ha avviato la richiesta può raccogliere la chiave, la chiave viene consegnata esattamente una volta, e la richiesta scade dopo 15 minuti.
Se Claude Code non è mai stato configurato su questo computer, usa prima l'installazione per ogni progetto. Claude Code legge le impostazioni di un progetto solo dopo che ti fidi di quella cartella, quindi una nuova installazione potrebbe comunque chiederti di accedere.
Per stampare il blocco delle impostazioni per il tuo computer senza scrivere nulla:
curl -fsSL https://uberllm.dev/install/claude-code.sh | sh -s -- --print
Cosa scrive l'installer
La chiave va in un file che solo tu puoi leggere (modalità cartella 700, modalità file 600):
| Installazione | File chiave | File di impostazioni |
|---|---|---|
| Ogni progetto | ~/.uberllm/key |
~/.claude/settings.json (o $CLAUDE_CONFIG_DIR/settings.json) |
| Un progetto | ~/.uberllm/key-<folder>-<number> |
<project>/.claude/settings.local.json |
Il file di impostazioni ottiene l'indirizzo e un apiKeyHelper che legge il file chiave.
La chiave stessa non viene mai scritta in un file di impostazioni, quindi non finisce in un
backup, un repository di dotfiles o una condivisione schermo.
{
"apiKeyHelper": "cat \"/Users/you/.uberllm/key\"",
"env": {
"ANTHROPIC_BASE_URL": "https://api.uberllm.dev",
"CLAUDE_CODE_ENABLE_GATEWAY_MODEL_DISCOVERY": "1"
}
}
Claude Code esegue apiKeyHelper per ottenere la chiave e la invia sia come
Authorization: Bearer che come x-api-key, in modo che funzioni con un gateway come
UberLLM. Mantiene la risposta per cinque minuti (CLAUDE_CODE_API_KEY_HELPER_TTL_MS
lo cambia).
L'installer si fonde con il tuo file esistente anziché sostituirlo, quindi hook,
permessi e server MCP vengono mantenuti, e copia prima il vecchio file in
<file>.bak-<timestamp>. Rimuove un ANTHROPIC_AUTH_TOKEN in testo semplice
lasciato da un'installazione precedente. Effettua quindi una richiesta reale tramite il gateway, quindi
un messaggio di successo significa che una richiesta è andata a buon fine.
L'installer di Windows scrive ancora la chiave in settings.json come
ANTHROPIC_AUTH_TOKEN.
Quale impostazione vince
Claude Code legge le impostazioni in quest'ordine, la prima vince:
- Impostazioni gestite (impostate dalla tua azienda, se presenti)
claude --settings <file><project>/.claude/settings.local.json<project>/.claude/settings.json~/.claude/settings.json
Una variabile nel blocco env di un file di impostazioni vince sulla stessa variabile nella tua shell nella maggior parte delle sessioni. Due eccezioni sono importanti qui:
- La chiave. Claude Code usa
ANTHROPIC_AUTH_TOKENper prima, poiANTHROPIC_API_KEY, poiapiKeyHelper. Un token esportato nella tua shell sostituisce la chiave salvata. - Il modello.
/modelnella sessione vince, poiclaude --model, poiANTHROPIC_MODEL, poi l'impostazionemodel. Una shellANTHROPIC_MODELbatte l'impostazionemodel.
Quindi rimuovi ogni variabile ANTHROPIC_* dalla tua shell e dal tuo profilo shell (~/.zshrc, ~/.bashrc) e conservale nel file delle impostazioni. L'installer ti avvisa quando ne trova una.
Usa altri modelli
Per impostazione predefinita non è bloccato nulla: Claude Code richiede i propri nomi di modello (opus,
sonnet, haiku, claude-opus-5-5…) e UberLLM serve gli stessi modelli Claude.
Per pilotare Claude Code con DeepSeek, GLM, Qwen, GPT o qualsiasi altro modello, mappa ogni
slot di modello di Claude Code a un ID modello UberLLM nel blocco env:
| Variabile | Cosa imposta |
|---|---|
ANTHROPIC_MODEL |
Il modello con cui inizia la sessione. |
ANTHROPIC_DEFAULT_OPUS_MODEL |
Cosa significa opus. |
ANTHROPIC_DEFAULT_SONNET_MODEL |
Cosa significa sonnet. |
ANTHROPIC_DEFAULT_HAIKU_MODEL |
Cosa significa haiku. Claude Code lo usa anche per lavori in background come titoli e riassunti. |
CLAUDE_CODE_SUBAGENT_MODEL |
Il modello su cui girano i subagenti. |
{
"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"
}
}
Mappa ogni slot. Uno slot lasciato non impostato continua a richiedere un modello Claude, e paghi i prezzi di Claude per esso.
L'installatore lo fa per te con un profilo:
curl -fsSL 'https://uberllm.dev/install/claude-code.sh?profile=glm' | sh
I profili sono claude-native (il predefinito, non blocca nulla), glm, deepseek e
gpt. Qualsiasi ID modello da la tabella dei modelli funziona se
imposti le variabili manualmente; GET https://api.uberllm.dev/v1/models li elenca.
Contesto e compattazione
Claude Code conosce la dimensione del contesto solo dei modelli Claude. Per qualsiasi altro modello, assume 200,000 token e compatta la conversazione prima di tale limite.
- Se il modello ha un contesto di 1 milioni di token (la sua pagina su uberllm.dev mostra il contesto), aggiungi
[1m]alla fine del suo ID, per esempio"ANTHROPIC_MODEL": "deepseek/deepseek-v4-pro[1m]"oclaude --model 'deepseek/deepseek-v4-pro[1m]'. Claude Code pianifica quindi per 1M. - Per qualsiasi altra dimensione, imposta
CLAUDE_CODE_MAX_CONTEXT_TOKENSal contesto del modello, per esempio"CLAUDE_CODE_MAX_CONTEXT_TOKENS": "400000". - Per scegliere quando compatta: l'impostazione
autoCompactWindow(o la variabileCLAUDE_CODE_AUTO_COMPACT_WINDOW) accetta un numero di token da 100,000 a 1,000,000.CLAUDE_AUTOCOMPACT_PCT_OVERRIDE(1–100) compatta prima, a quella percentuale della finestra.autoCompactEnabled: falselo disattiva.
Impostare un contesto più grande di quello che il modello ha a disposizione fa fallire le richieste non appena la conversazione supera la capacità del modello.
Cosa cambia
- Il tuo login di claude.ai non viene usato. Funzionalità che lo richiedono, come i connettori di claude.ai,
/schedulee il Controllo Remoto, non sono disponibili in una sessione che gira su UberLLM. - Il costo mostrato da Claude Code non è il tuo conto. Claude Code lo calcola sul tuo computer dai prezzi di listino di Anthropic e non mostra nulla di utile per altri modelli. Quello che paghi è in Dashboard → Attività. Aggiungi il tuo saldo alla riga di stato (sotto) per vederlo mentre lavori.
- Il tuo codice va a fornitori di modelli di terze parti. Tutto ciò che la sessione legge viene inviato al modello, che è gestito da fornitori di modelli di terze parti sul mercato UberLLM. Non usarlo in un repository che contiene segreti, credenziali o dati dei clienti.
Saldo nella riga di stato
curl -fsSL https://uberllm.dev/install/statusline.sh | sh -s -- --install
Questo salva un piccolo script in ~/.uberllm/statusline.sh e lo aggiunge come statusLine di Claude Code in ~/.claude/settings.json (aggiungi --project dopo --install per metterlo invece nel .claude/settings.local.json di questo progetto). Sotto il prompt vedrai quindi:
UberLLM $12.40 · $0.35 held · Opus
Questo è il tuo saldo disponibile, l'importo trattenuto per le richieste ancora in corso e il modello. Legge GET /v1/balance con la stessa key che usa Claude Code, al massimo una volta al minuto. Ha bisogno solo di sh, curl e sed. Leggilo prima su uberllm.dev/install/statusline.sh.
Verifica
Avvia Claude Code e esegui /status: l'indirizzo API è
https://api.uberllm.dev. Poi chiedigli qualsiasi cosa; la richiesta appare in
Cruscotto → Attività entro un minuto.
La stessa chiave risponde tramite l'API Messages:
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"}]}'
Se una richiesta fallisce con Your apiKeyHelper script is failing, il file della chiave è
mancante o illeggibile: esegui di nuovo l'installer.
Disinstallazione e revoca
curl -fsSL https://uberllm.dev/install/claude-code.sh | sh -s -- --uninstall
Per un'installazione per un singolo progetto, eseguilo all'interno del progetto con
sh -s -- --project --uninstall. Esegue prima il backup del file delle impostazioni, rimuove
solo ciò che ha aggiunto e cancella il file chiave salvato. Claude Code tornerà al tuo
login Anthropic al prossimo avvio.
La disinstallazione non revoca la chiave; si limita a smettere di usarla. Elimina la chiave sulla tua pagina delle chiavi per assicurarti che non possa mai più essere utilizzata. Fallo per qualsiasi computer di cui non ti fidi più, o se hai approvato una richiesta che non hai avviato.