# Claude Code

> Usa Claude Code sui modelli NotHoly con notholy run claude, o imposta tu le variabili.


`notholy run claude` richiede la CLI di NotHoly, installata e con l'accesso fatto ([Installa la CLI](/it/cli/install)), e Claude Code stesso: `npm i -g @anthropic-ai/claude-code`. La configurazione manuale qui sotto richiede solo una chiave API.

```bash
notholy run claude
```

Questo avvia Claude Code con queste variabili solo nel suo processo:

```bash
ANTHROPIC_BASE_URL=https://api.notholy.com
ANTHROPIC_AUTH_TOKEN=$NOTHOLY_API_KEY
ANTHROPIC_MODEL='notholy-specter[1m]'
ANTHROPIC_DEFAULT_OPUS_MODEL='notholy-specter[1m]'
ANTHROPIC_DEFAULT_SONNET_MODEL='notholy-specter[1m]'
ANTHROPIC_DEFAULT_HAIKU_MODEL=notholy-specter
CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS=1
CLAUDE_CODE_ATTRIBUTION_HEADER=0
```

Il suffisso `[1m]` dice a Claude Code che il contesto è di un milione di token. NotHoly lo rimuove prima dell'instradamento. Il limite reale di questo modello è di 1048576 token, indicato come `context_length` in `GET /v1/models`.

Per una configurazione manuale, imposta le stesse variabili e metti la tua chiave API in `ANTHROPIC_AUTH_TOKEN`.

## Scrivi la configurazione

`notholy connect claude` scrive questi valori in `.claude/settings.local.json` nel progetto. Nel file non finisce nessuna chiave: Claude Code la chiede a `notholy token` tramite `apiKeyHelper`. Con `--global` scrive `~/.claude/settings.json`. Annulla con `notholy connect claude --undo`.

`connect` aggiunge anche il server MCP `notholy` a `.mcp.json` nel progetto e lo elenca in `enabledMcpjsonServers`, così Claude Code non chiede approvazione quando la cartella è già attendibile. Con `--global` il server va in `~/.claude.json`. Il percorso in `.mcp.json` è assoluto e vale solo sulla tua macchina, quindi tieni il file fuori da un repository condiviso. `notholy run claude` passa lo stesso server con `--mcp-config` solo per quel processo.

```json
{
  "apiKeyHelper": "notholy token",
  "env": {
    "ANTHROPIC_BASE_URL": "https://api.notholy.com",
    "ANTHROPIC_MODEL": "notholy-specter[1m]",
    "ANTHROPIC_DEFAULT_OPUS_MODEL": "notholy-specter[1m]",
    "ANTHROPIC_DEFAULT_SONNET_MODEL": "notholy-specter[1m]",
    "ANTHROPIC_DEFAULT_HAIKU_MODEL": "notholy-specter",
    "CLAUDE_CODE_DISABLE_EXPERIMENTAL_BETAS": "1",
    "CLAUDE_CODE_ATTRIBUTION_HEADER": "0"
  }
}
```

## Prova

Chiedi a Claude Code di leggere un file del progetto. Se vedi una chiamata di strumento e una risposta, la connessione funziona. `/status` mostra l'URL base.

## Limiti noti

- Gli strumenti lato server, come la ricerca web di Anthropic, non vengono eseguiti, quindi il server MCP `notholy` include `web_search`. La lettura delle pagine di Claude Code gira in locale e continua a funzionare. Per `read_url` e `analyze_file`, aggiungi il server MCP completo con un altro nome: `claude mcp add notholy-full -- notholy mcp`.
- `cache_control` viene ignorato e la cache è automatica, quindi le scritture in cache in `/cost` restano a zero.

## Prossimi passi

- [Server MCP locale](/it/mcp/local)
