# Claude Code 2.0: data di uscita, novità e come aggiornare

> Claude Code 2.0 è uscito il 29 settembre 2025 e non è più attuale: 2.1.316 è la release del 31 ottobre 2026. I passi per aggiornare native, Homebrew, WinGet e npm.

- Canonical HTML: https://omniakey.com/it/blog/claude-code-2-0
- Markdown: https://omniakey.com/it/blog/claude-code-2-0.md
- Published: 2026-10-31 (updated 2026-10-31)
- Author: Kiki, COO at OmniaKey
- Language: it
- Category: Guide
- Reading time: 10 min
- All posts: https://omniakey.com/blog/llms.txt

---

Claude Code 2.0 è uscito il 29 settembre 2025 con un'estensione per VS Code, un'interfaccia del terminale rinnovata e checkpoint a cui tornare con `/rewind`. Non è più la versione attuale: la linea 2.0 si è chiusa con 2.0.77 il 6 gennaio 2026, e la release più recente al 31 ottobre 2026 è 2.1.316.

|Versione|Uscita|Stato|
|-|-|-|
|2.0.0|29 set 2025|Prima release 2.0|
|2.0.77|6 gen 2026|Ultima 2.0.x|
|2.1.0|7 gen 2026|Prima release 2.1|
|2.1.316|31 ott 2026|Più recente|

Per aggiornare un'installazione nativa:

```bash
claude update
claude --version
```

## Quando è uscito Claude Code 2.0?

Anthropic ha pubblicato 2.0.0 su npm il 29 settembre 2025 alle 14:41 UTC, lo stesso giorno dell'annuncio «Enabling Claude Code to work more autonomously» (registry npm, verificato il 31 ottobre 2026). La linea 2.0 è arrivata a 2.0.77 il 6 gennaio 2026, 70 versioni pubblicate in tutto. La versione 2.0.74 è uscita il 19 dicembre 2025 e la 2.0.76 il 22 dicembre 2025.

La versione 2.1.0 è arrivata il giorno dopo, 7 gennaio 2026, e al 31 ottobre 2026 il registry conteneva 555 versioni in tutto. Quel giorno il tag `latest` puntava a 2.1.316 e il tag `stable` a 2.1.309. La pagina di setup di Anthropic dice che il canale stable è in genere indietro di circa una settimana e salta le release con regressioni importanti (verificato il 31 ottobre 2026).

## Cosa c'era di nuovo in Claude Code 2.0?

Le modifiche principali, dall'annuncio Anthropic del 29 settembre 2025 e dal changelog 2.0.0:

- Un'estensione nativa per VS Code in beta, con pannello laterale e diff inline.
- Un'interfaccia del terminale rinnovata, con stato più visibile e cronologia dei prompt cercabile con Ctrl+r.
- Checkpoint che salvano lo stato del codice prima di ogni modifica.
- Il Claude Code SDK rinominato Claude Agent SDK.
- Claude Sonnet 4.5 come modello predefinito.

Il changelog 2.0.0 ha dieci voci, tra cui «New native VS Code extension», «Fresh coat of paint throughout the whole app», «/rewind a conversation to undo code changes» e «/usage command to see plan limits».

I checkpoint funzionano ancora così oggi: ogni prompt che avvia un turno ne crea uno, una sessione conserva i 100 più recenti e gli snapshot vengono eliminati circa 30 giorni dopo l'ultimo salvataggio della sessione. `/rewind`, o Esc due volte su un prompt vuoto, apre un menu con quattro scelte: ripristina codice e conversazione, ripristina la conversazione, ripristina il codice oppure riassumi. I file modificati solo da comandi Bash non vengono tracciati e le modifiche dei subagent di solito non vengono catturate, quindi fai commit su git prima di una modifica rischiosa.

## Cosa è cambiato dopo la 2.0?

La versione 2.0.74, il 19 dicembre 2025, ha aggiunto uno strumento LSP (Language Server Protocol) per go-to-definition, find references e documentazione al passaggio del mouse. La versione 2.1.0, il 7 gennaio 2026, ha portato 15 voci, tra cui:

- Le skill si ricaricano appena le crei o le modifichi, senza riavvio.
- Le skill possono girare in un sub-agent biforcato con `context: fork`.
- Un'impostazione `language` sceglie la lingua in cui risponde Claude.
- Shift+Enter funziona subito in iTerm2, WezTerm, Ghostty e Kitty.
- Una correzione di sicurezza impedisce che token OAuth, chiavi API e password compaiano nei log di debug.

Dalla versione 2.1.89 (31 marzo 2026) i manifest delle release sono firmati, e le versioni precedenti includono solo i checksum. Il pacchetto npm ora richiede Node.js 22 o successivo, rispetto a Node.js 18 per la 2.0.0. Il modello predefinito per Pro, Max, Ultra, Team, Enterprise e l'API Anthropic ora è Opus 5.5.

||2.0 (2025)|Ora|
|-|-|-|
|Versione|2.0.0|2.1.316|
|Modello predefinito|Sonnet 4.5|Opus 5.5|
|Node per npm|18+|22+|
|Opzioni CLI|40|66|
|Comandi|6|18|

Le righe Opzioni CLI e Comandi contano l'output di `claude --help` della 2.0.76 e della 2.1.316.

Rispetto alla 2.0.76, l'output di help della 2.1.316 mostra:

- Nuovi comandi, tra cui `agents` per gli agent in background, `attach`, `logs`, `stop` e `rm` per le sessioni in background, `auth`, `import` per importare la configurazione da un altro agent di coding AI, `purge` per eliminare dal computer i dati Claude Code di un progetto, e `ultrareview`, una revisione del codice multi-agent eseguita nel cloud.
- Nuove opzioni, tra cui `--worktree` per un nuovo git worktree, `--effort` da `low` a `max`, `--bg` per partire in background, `--remote-control`, `--safe-mode` per partire con tutte le personalizzazioni disattivate e `--name`.
- `--permission-mode` ha tolto `default` e `delegate` e ha aggiunto `auto` e `manual`, quindi gli script che passano `default` o `delegate` hanno bisogno di un nuovo valore.
- È sparita una sola opzione: `--mcp-debug`, che la 2.0.76 segnalava già come deprecated.

## Come controllo la versione e aggiorno Claude Code?

Esegui `claude --version` per vedere che versione hai: stampa il numero seguito da «(Claude Code)», per esempio `2.1.316 (Claude Code)`. Poi aggiorna nello stesso modo in cui hai installato.

```bash
# Native installer
claude update
```

```bash
# Homebrew, stable channel
brew upgrade claude-code
# Homebrew, latest channel
brew upgrade claude-code@latest
```

```bash
# WinGet
winget upgrade Anthropic.ClaudeCode
```

```bash
# npm
npm install -g @anthropic-ai/claude-code@latest
```

Le installazioni native si aggiornano da sole in background, controllando all'avvio e durante l'esecuzione, e la nuova versione entra in vigore al successivo avvio di Claude Code. Le installazioni Homebrew, WinGet e dai pacchetti Linux (apt, dnf, apk) richiedono un aggiornamento manuale. Su un'installazione nativa, `claude update` stampa una delle prime due righe qui sotto, mentre su un'installazione Homebrew, WinGet o apk stampa la terza.

```text
Successfully updated from <old version> to version <new version>
Claude Code is up to date (<version>)
Claude is up to date!
```

`claude doctor` mostra l'esito dell'ultimo tentativo di aggiornamento e se gli aggiornamenti automatici sono attivi. Il numero di versione dell'estensione VS Code è la versione di Claude Code che include.

Su npm, evita `npm update -g`: mantiene l'intervallo di versione dell'installazione originale e può non arrivare alla release più recente. Non usare nemmeno `sudo npm install -g`.

## Cosa succede quando aggiorni un'installazione 2.0 vecchia?

Il 31 ottobre 2026 abbiamo eseguito cinque installazioni pulite su un Mac con Node.js 26.12.1, ciascuna in una cartella home vuota, e le abbiamo collegate ai modelli Claude tramite l'API OmniaKey.

|Installazione|Avviata?|Dopo l'aggiornamento|
|-|-|-|
|Native 2.0.0|Sì|2.1.308|
|Native 2.0.76|Sì|2.1.314|
|npm 2.0.76|Sì|Non riuscito|
|npm 2.0.0|Crash|Non eseguito|

Entrambe le installazioni native si sono avviate e `claude update` ha portato ciascuna alla 2.1.x. L'installazione della 2.0.0 ha richiesto 36.6 secondi e il suo aggiornamento 35.6 secondi, mentre quella della 2.0.76 ha richiesto 51.6 secondi e il suo aggiornamento 29.6 secondi.

```text
Successfully updated from 2.0.0 to version 2.1.308
Successfully updated from 2.0.76 to version 2.1.314
```

Nessuna delle due è arrivata alla 2.1.316, la versione più recente su npm in quel momento, quindi controlla `claude --version` dopo un aggiornamento.

L'installazione npm della 2.0.76 si è avviata e poi non è riuscita ad aggiornarsi:

```text
New version available: 2.1.316 (current: 2.0.76)
Error: Failed to install update
Or consider using native installation with: claude install
```

La versione è rimasta 2.0.76. La build npm della 2.0.0 non è arrivata a quel punto: è andata in crash all'avvio su Node.js 26.12.1 con codice di uscita 1.

```text
TypeError: Cannot read properties of undefined (reading 'prototype')
```

Il binario nativo della 2.0.0 si è avviato senza problemi sulla stessa macchina, quindi quel crash appartiene alla build npm della 2.0.0 su questa versione di Node. L'installazione npm della 2.1.316 si è avviata e ha stampato `2.1.316 (Claude Code)`. Con un'installazione npm, aggiorna con il comando npm qui sopra oppure, come suggerisce il messaggio, passa all'installer nativo con `claude install`.

Dopo un aggiornamento nativo, entrambe le versioni restano sotto `~/.local/share/claude/versions/` e il launcher punta a quella nuova. I binari che abbiamo misurato erano 74 MB per la 2.0.0, 182 MB per la 2.0.76, 275 MB per la 2.1.308 e 279 MB per la 2.1.314, quindi ogni aggiornamento ha lasciato il binario vecchio sul disco.

## Posso bloccare una versione, tornare indietro o rallentare gli aggiornamenti?

Installa una versione specifica con lo stesso script e un numero di versione:

```bash
curl -fsSL https://claude.ai/install.sh | bash -s 2.1.89
```

```powershell
& ([scriptblock]::Create((irm https://claude.ai/install.ps1))) 2.1.89
```

Usa `stable` al posto del numero per partire sul canale stable. Il canale che scegli all'installazione diventa quello predefinito per gli aggiornamenti automatici, e puoi cambiarlo più tardi in settings.json:

```json
{"autoUpdatesChannel": "stable"}
```

`latest`, il valore predefinito, installa le nuove release appena escono. `stable` ha in genere circa una settimana di ritardo e salta le release con regressioni importanti, e lo stesso interruttore si trova in `/config`. Un modello appena lanciato può richiedere una versione più recente di quella servita dal canale stable, quindi passa a latest per usarlo subito.

`minimumVersion` fissa un minimo, e gli aggiornamenti automatici insieme a `claude update` rifiutano di installare qualsiasi cosa più vecchia:

```json
{"minimumVersion": "2.1.143"}
```

`DISABLE_AUTOUPDATER` impostato a 1 nella chiave env di settings.json ferma solo il controllo in background, e `claude update` continua a funzionare. `DISABLE_UPDATES` blocca ogni percorso, compresi quelli manuali.

Due segnalazioni di bug di utenti su GitHub mostrano gli spigoli. Il 12 febbraio 2026 un utente ha segnalato: «When running `curl -fsSL https://claude.ai/install.sh | bash -s <version>` to install a specific version, the script downloads the new binary but fails to update the symlink, leaving the user on the old version» ([issue #25165](https://github.com/anthropics/claude-code/issues/25165), chiusa).

Il 17 maggio 2026 un utente Windows ha segnalato che, dopo aver installato la 2.1.143 sul canale stable, l'aggiornamento automatico ha rimesso la 2.1.133, la build stable di allora. Impostare `autoUpdatesChannel: "latest"` insieme a `minimumVersion: "2.1.143"` «stopped the revert» ([issue #60065](https://github.com/anthropics/claude-code/issues/60065), chiusa).

Dopo aver bloccato la versione, esegui `claude --version` e conferma il numero che ti aspettavi.

## Una versione vecchia di Claude Code funziona ancora?

Anthropic non pubblica una data limite per le build vecchie, e nessuna delle sue pagine che abbiamo controllato dice che la 2.0.x viene rifiutata. L'API può comunque rifiutare una richiesta con 400 `claude_code_version_too_old` quando il modello scelto richiede una build più recente, o quando la policy della tua organizzazione la richiede (pagina degli errori Anthropic, verificata il 31 ottobre 2026).

Dietro un gateway, il modello predefinito integrato di un'installazione vecchia può rompere tutto. Avviata senza modello, la 2.0.76 ha chiesto `claude-sonnet-4-5-20250929`, il suo predefinito integrato, e la richiesta è fallita perché il nostro gateway non serve quel modello. La 2.1.316 ha chiesto `claude-opus-5-5` e ha risposto.

Imposta il modello da solo con `--model` o con la variabile d'ambiente `ANTHROPIC_MODEL`. Con `--model claude-sonnet-5-5`, la 2.0.76 ha eseguito la correzione di bug qui sotto senza problemi.

Anche le prime build 2.0 avevano i loro problemi: il 1° ottobre 2025 un utente ha segnalato che Claude Code 2.0.0 e 2.0.1 si bloccavano di continuo in Emacs e in una shell su Linux ([issue #8657](https://github.com/anthropics/claude-code/issues/8657), chiusa).

Quindi aggiorna, a meno che tu non abbia un motivo per restare. Se resti sulla 2.0, indica il modello in ogni sessione.

## La nuova versione è migliore sullo stesso task?

Abbiamo eseguito un task di correzione di un bug sulla 2.0.76 e sulla 2.1.316, in modo non interattivo, entrambe con `--model claude-sonnet-5-5`.

Attività:

> The tests in test\_wordcount.py fail. Find the bug in wordcount.py, fix it, and run python3 test\_wordcount.py to confirm. Do not change the test file.

Il bug era un conteggio delle parole sensibile alle maiuscole.

||2.0.76|2.1.316|
|-|-|-|
|Correzione|Stessa riga|Stessa riga|
|Test dopo|Superati|Superati|
|Tempo|25.8 s|15.9 s|
|Turni|5|5|
|Stima costi CLI|$0.129|$0.055|
|Cache read|50,547|34,306|

Entrambe le versioni hanno fatto la stessa correzione di una riga, mettendo il testo in minuscolo con `text.lower()` prima di contare, e non hanno toccato il file di test. I test sono passati in entrambi i casi e i due diff sono identici byte per byte, quindi la build più recente ha cambiato il tempo, non la risposta.

La versione 2.1.316 ha finito in 15.9 secondi contro 25.8 secondi, il 38% in meno, e la sua stima di costo di Claude Code è stata $0.055 contro $0.129, soprattutto perché ha letto e scritto meno token in cache. Quelle due cifre in dollari sono la stima di costo di Claude Code stesso, non quello che abbiamo pagato. Un solo task, una sola esecuzione per versione, è un campione piccolo.

## Come uso Claude Code con una chiave API invece di un abbonamento?

Claude Code richiede un account Pro, Max, Ultra, Team, Enterprise o Console, e il piano gratuito di claude.ai non lo include. Un gateway usa due variabili: `ANTHROPIC_BASE_URL` per dove vanno le richieste, e una credenziale, dove `ANTHROPIC_AUTH_TOKEN` viene inviato come `Authorization: Bearer` e `ANTHROPIC_API_KEY` come `x-api-key`. L'URL di base cambia dove vanno le richieste, non quale modello risponde, quindi indica anche il modello.

```bash
export ANTHROPIC_BASE_URL="https://api.omniakey.com"
export ANTHROPIC_AUTH_TOKEN="your-omniakey-api-key"
claude --model claude-sonnet-5-5
```

I nostri test qui sopra hanno funzionato così, con una chiave OmniaKey in `ANTHROPIC_AUTH_TOKEN`.

La [guida alla chiave API di Claude Code](https://docs.omniakey.com/en/guides/claude-code-api-key) copre le variabili e la configurazione su Windows. Per il percorso più lungo, leggi [la nostra guida all'installazione](https://omniakey.com/it/blog/claude-code-setup) e [Claude Code senza abbonamento](https://omniakey.com/it/blog/claude-code-api-without-subscription). Le pagine modello [Claude Opus 5.5](https://omniakey.com/it/claude-opus-5-5) e [Claude Sonnet 5.5](https://omniakey.com/it/claude-sonnet-5-5) mostrano a cosa serve ciascuno, e i prezzi dei piani sono nella [nostra guida ai prezzi di Claude Code](https://omniakey.com/it/blog/claude-code-pricing).

## Domande frequenti

### Claude Code 2.0 è la versione più recente?

No. La linea 2.0 si è chiusa con 2.0.77 il 6 gennaio 2026, e la release più recente al 31 ottobre 2026 è la 2.1.316. Esegui `claude --version` per vedere la tua.

### Quando è uscito Claude Code 2.0?

Claude Code 2.0 è uscito il 29 settembre 2025, quando la versione 2.0.0 è arrivata su npm lo stesso giorno dell'annuncio di Anthropic. La linea 2.1 è iniziata il 7 gennaio 2026.

### Come aggiorno Claude Code?

Su un'installazione nativa, esegui `claude update` oppure lascia che si aggiorni da sola in background. Homebrew usa `brew upgrade claude-code` o `brew upgrade claude-code@latest`, WinGet usa `winget upgrade Anthropic.ClaudeCode` e npm usa `npm install -g @anthropic-ai/claude-code@latest`. Poi controlla il risultato con `claude --version`.

### Come installo una versione vecchia di Claude Code?

Passa la versione allo script di installazione: `curl -fsSL https://claude.ai/install.sh | bash -s 2.1.89` su macOS, Linux o WSL, oppure `& ([scriptblock]::Create((irm https://claude.ai/install.ps1))) 2.1.89` in PowerShell.

### Claude Code funziona con il piano gratuito?

No. Il piano gratuito di claude.ai non include Claude Code, che richiede un account Pro, Max, Ultra, Team, Enterprise o Console. L'altra via è una chiave API, dalla Anthropic Console o da un gateway, fatturata a consumo.

## Fonti verificate

- [npm: @anthropic-ai/claude-code](https://www.npmjs.com/package/@anthropic-ai/claude-code) — verificato il 31 ottobre 2026
- [Anthropic: Enabling Claude Code to work more autonomously](https://www.anthropic.com/news/enabling-claude-code-to-work-more-autonomously) — verificato il 31 ottobre 2026
- [Claude Code changelog](https://github.com/anthropics/claude-code/blob/main/CHANGELOG.md) — verificato il 31 ottobre 2026
- [Claude Code setup](https://code.claude.com/docs/en/setup) — verificato il 31 ottobre 2026
- [Claude Code checkpointing](https://code.claude.com/docs/en/checkpointing) — verificato il 31 ottobre 2026
- [Claude Code with an LLM gateway](https://code.claude.com/docs/en/llm-gateway-connect) — verificato il 31 ottobre 2026
- [Claude Code model configuration](https://code.claude.com/docs/en/model-config) — verificato il 31 ottobre 2026
- [Claude Code errors](https://code.claude.com/docs/en/errors) — verificato il 31 ottobre 2026
- [Claude Code in VS Code](https://code.claude.com/docs/en/vs-code) — verificato il 31 ottobre 2026
- [Use Claude Code with Pro, Max or Ultra](https://support.claude.com/en/articles/11145838-use-claude-code-with-your-pro-max-or-ultra) — verificato il 31 ottobre 2026
- [GitHub issue #8657](https://github.com/anthropics/claude-code/issues/8657) — verificato il 31 ottobre 2026
- [GitHub issue #25165](https://github.com/anthropics/claude-code/issues/25165) — verificato il 31 ottobre 2026
- [GitHub issue #60065](https://github.com/anthropics/claude-code/issues/60065) — verificato il 31 ottobre 2026
