SpyBara
Go Premium

Documentation 2026-09-30 23:00 UTC to 2026-10-01 04:01 UTC

17 files changed +260 −110. View all changes and history on the product overview
2026
Thu 1 04:01
Details

2885 2885 

2886**Nome dello strumento:** `Bash`2886**Nome dello strumento:** `Bash`

2887 2887 

2888Per ciò che imposta il limite massimo in primo piano, vedi [Timeout e limiti di output](/docs/it/tools-reference#timeout-and-output-limits). Per il limite di tempo in background, vedi [Comandi in background](/docs/it/tools-reference#background-commands).2888Per ciò che imposta il limite massimo in primo piano, vedi [Timeout e limiti di output](/docs/it/tools-reference#timeout-and-output-limits). Per il limite di tempo in background, vedi [Limite di tempo per i comandi in background](/docs/it/tools-reference#time-limit-for-background-commands).

2889 2889 

2890**Input:**2890**Input:**

2891 2891 

Details

3206};3206};

3207```3207```

3208 3208 

3209Esegue comandi Bash con timeout opzionale ed esecuzione in background. La directory di lavoro persiste tra i comandi, inclusi i comandi eseguiti in turni successivi di una sessione multi-turno; lo stato della shell come le variabili di ambiente esportate non persiste. Per i limiti su quali cambiamenti di directory si mantengono, vedi [Cosa persiste tra i comandi](/docs/it/tools-reference#what-persists-between-commands). Per ciò che imposta il limite di foreground, vedi [Timeout e limiti di output](/docs/it/tools-reference#timeout-and-output-limits). Per il limite di tempo in background, vedi [Comandi in background](/docs/it/tools-reference#background-commands).3209Esegue comandi Bash con timeout opzionale ed esecuzione in background. La directory di lavoro persiste tra i comandi, inclusi i comandi eseguiti in turni successivi di una sessione multi-turno; lo stato della shell come le variabili di ambiente esportate non persiste. Per i limiti su quali cambiamenti di directory si mantengono, vedi [Cosa persiste tra i comandi](/docs/it/tools-reference#what-persists-between-commands). Per ciò che imposta il limite di foreground, vedi [Timeout e limiti di output](/docs/it/tools-reference#timeout-and-output-limits). Per il limite di tempo in background, vedi [Limite di tempo per i comandi in background](/docs/it/tools-reference#time-limit-for-background-commands).

3210 3210 

3211<h3 id="monitor">3211<h3 id="monitor">

3212 Monitor3212 Monitor


4110 4110 

4111`timedOutAfterMs` è il timeout in millisecondi, impostato quando il comando ha raggiunto il suo timeout e si è spostato allo sfondo piuttosto che iniziare lì esplicitamente. `backgroundCwdHint` viene impostato quando il comando in background conteneva un builtin di cambio directory come `cd`, `pushd`, `popd` o `chdir`, e nota che la directory di lavoro della sessione non è cambiata. Entrambi i campi richiedono Claude Code v2.1.210 o successivo.4111`timedOutAfterMs` è il timeout in millisecondi, impostato quando il comando ha raggiunto il suo timeout e si è spostato allo sfondo piuttosto che iniziare lì esplicitamente. `backgroundCwdHint` viene impostato quando il comando in background conteneva un builtin di cambio directory come `cd`, `pushd`, `popd` o `chdir`, e nota che la directory di lavoro della sessione non è cambiata. Entrambi i campi richiedono Claude Code v2.1.210 o successivo.

4112 4112 

4113Quando un subagente in esecuzione in primo piano possiede un comando in background, il comando [termina quando quel subagente completa la sua esecuzione](/docs/it/tools-reference#background-commands). Claude Code imposta `backgroundEndsWithFinalResponse` su `true` su tali comandi, e omette il campo quando il comando sopravvive al turno, come i comandi avviati dalla conversazione principale o dai subagenti di background. Il campo richiede Claude Code v2.1.227 o successivo.4113Quando un subagente in esecuzione in primo piano possiede un comando in background, il comando [termina quando quel subagente completa la sua esecuzione](/docs/it/tools-reference#when-a-background-command-stops). Claude Code imposta `backgroundEndsWithFinalResponse` su `true` su tali comandi, e omette il campo quando il comando sopravvive al turno, come i comandi avviati dalla conversazione principale o dai subagenti di background. Il campo richiede Claude Code v2.1.227 o successivo.

4114 4114 

4115Claude Code imposta `gitOperation.commit.branch` al ramo denominato nella riga di riepilogo del commit di git, e lo omette per un commit effettuato su un HEAD staccato. Il campo richiede Agent SDK v0.3.227 o successivo. Claude Code segnala un comando `gh pr reopen` come l'azione PR `reopened`, che richiede Agent SDK v0.3.234 o successivo.4115Claude Code imposta `gitOperation.commit.branch` al ramo denominato nella riga di riepilogo del commit di git, e lo omette per un commit effettuato su un HEAD staccato. Il campo richiede Agent SDK v0.3.227 o successivo. Claude Code segnala un comando `gh pr reopen` come l'azione PR `reopened`, che richiede Agent SDK v0.3.234 o successivo.

4116 4116 

agent-view.md +2 −2

Details

8 8 

9Agent view, aperto con `claude agents`, è una sola schermata per tutte le tue sessioni in background: cosa sta girando, cosa ha bisogno del tuo input e cosa è fatto. Invia nuove sessioni, osserva il loro stato a colpo d'occhio invece di scorrere i transcript, e intervieni solo quando uno ne ha bisogno. Ogni sessione in background è una conversazione completa di Claude Code che continua a girare senza un terminale collegato, quindi puoi aprirla, rispondere e andare via quando vuoi.9Agent view, aperto con `claude agents`, è una sola schermata per tutte le tue sessioni in background: cosa sta girando, cosa ha bisogno del tuo input e cosa è fatto. Invia nuove sessioni, osserva il loro stato a colpo d'occhio invece di scorrere i transcript, e intervieni solo quando uno ne ha bisogno. Ogni sessione in background è una conversazione completa di Claude Code che continua a girare senza un terminale collegato, quindi puoi aprirla, rispondere e andare via quando vuoi.

10 10 

11<img src="https://mintcdn.com/claude-code/1B48Qz2Z9hac4SLG/images/agent-view-light.png?fit=max&auto=format&n=1B48Qz2Z9hac4SLG&q=85&s=7a186c96ed47d6700d084d77e786be65" className="dark:hidden" alt="Agent view in a terminal: the header shows Claude Code v2.1.140, the model, the working directory, and a summary count. Sessions are grouped under Needs input, Working, and Completed, with a dispatch input at the bottom and a footer of keyboard hints." width="1772" height="780" data-path="images/agent-view-light.png" />11<img src="https://mintcdn.com/claude-code/HDAmBwgbrZVk0pOt/images/agent-view-light.png?fit=max&auto=format&n=HDAmBwgbrZVk0pOt&q=85&s=d6905012bee31f3e6b3920b09c05dd02" className="dark:hidden" alt="Agent view in a terminal: the header shows Claude Code v2.1.140, the model, the working directory, and a summary count. Sessions are grouped under Needs input, Working, and Completed, with a dispatch input at the bottom and a footer of keyboard hints." width="1872" height="680" data-path="images/agent-view-light.png" />

12 12 

13<img src="https://mintcdn.com/claude-code/1B48Qz2Z9hac4SLG/images/agent-view-dark.png?fit=max&auto=format&n=1B48Qz2Z9hac4SLG&q=85&s=a5bed7434bae368faea3a8f023b52aa2" className="hidden dark:block" alt="Agent view in a terminal: the header shows Claude Code v2.1.140, the model, the working directory, and a summary count. Sessions are grouped under Needs input, Working, and Completed, with a dispatch input at the bottom and a footer of keyboard hints." width="1772" height="780" data-path="images/agent-view-dark.png" />13<img src="https://mintcdn.com/claude-code/HDAmBwgbrZVk0pOt/images/agent-view-dark.png?fit=max&auto=format&n=HDAmBwgbrZVk0pOt&q=85&s=fc3c195bfc57e313ced1f1beb36cee93" className="hidden dark:block" alt="Agent view in a terminal: the header shows Claude Code v2.1.140, the model, the working directory, and a summary count. Sessions are grouped under Needs input, Working, and Completed, with a dispatch input at the bottom and a footer of keyboard hints." width="1872" height="680" data-path="images/agent-view-dark.png" />

14 14 

15Usa agent view quando hai diversi compiti indipendenti su cui Claude può lavorare senza che tu guardi ogni passo. Invia una correzione di bug, una revisione di pull request e un'investigazione di test instabile come tre righe, continua a lavorare in un'altra finestra e controlla quando una riga mostra che ha bisogno di te o ha un risultato.15Usa agent view quando hai diversi compiti indipendenti su cui Claude può lavorare senza che tu guardi ogni passo. Invia una correzione di bug, una revisione di pull request e un'investigazione di test instabile come tre righe, continua a lavorare in un'altra finestra e controlla quando una riga mostra che ha bisogno di te o ha un risultato.

16 16 

Details

84| `--dangerously-skip-permissions` | Salta i prompt di permesso. Equivalente a `--permission-mode bypassPermissions`. Vedi [modalità di permesso](/docs/it/permission-modes#skip-all-checks-with-bypasspermissions-mode) per quello che questo fa e non salta. Per le sessioni avviate con `--bg`, la modalità [persiste quando il supervisore riavvia la sessione](/docs/it/agent-view#permission-mode-model-and-effort) | `claude --dangerously-skip-permissions` |84| `--dangerously-skip-permissions` | Salta i prompt di permesso. Equivalente a `--permission-mode bypassPermissions`. Vedi [modalità di permesso](/docs/it/permission-modes#skip-all-checks-with-bypasspermissions-mode) per quello che questo fa e non salta. Per le sessioni avviate con `--bg`, la modalità [persiste quando il supervisore riavvia la sessione](/docs/it/agent-view#permission-mode-model-and-effort) | `claude --dangerously-skip-permissions` |

85| `--debug` | Abilita la modalità debug con filtro di categoria opzionale, come `--debug='mcp,startup'` o `--debug='!1p'`. Il filtro si lega solo nella forma `=`; un filtro separato da spazi abilita la modalità debug senza filtrare | `claude --debug='mcp,startup'` |85| `--debug` | Abilita la modalità debug con filtro di categoria opzionale, come `--debug='mcp,startup'` o `--debug='!1p'`. Il filtro si lega solo nella forma `=`; un filtro separato da spazi abilita la modalità debug senza filtrare | `claude --debug='mcp,startup'` |

86| `--debug-file <path>` | Scrivi i log di debug in un percorso di file specifico. Abilita implicitamente la modalità debug. Ha la precedenza su `CLAUDE_CODE_DEBUG_LOGS_DIR` | `claude --debug-file /tmp/claude-debug.log` |86| `--debug-file <path>` | Scrivi i log di debug in un percorso di file specifico. Abilita implicitamente la modalità debug. Ha la precedenza su `CLAUDE_CODE_DEBUG_LOGS_DIR` | `claude --debug-file /tmp/claude-debug.log` |

87| `--desktop` | Apri l'[app Claude Desktop](/docs/it/desktop) nella directory corrente e esci senza avviare una sessione nel terminale. Aggiungi `--continue`, o `--resume` con un ID di sessione, per [aprire quella sessione in Desktop](/docs/it/desktop#coming-from-the-cli) invece. `--resume` qui accetta solo un ID di sessione, non un nome o un percorso di trascrizione. Non accetta prompt e nessun altro flag tranne `--verbose` e i flag `--debug`, poiché l'app avvia la sessione stessa. Disponibile su macOS e Windows x64 quando sei connesso con un abbonamento Claude. Richiede Claude Code v2.1.285 o successivo | `claude --desktop` |

87| `--disable-slash-commands` | Disabilita tutte le skills e i comandi per questa sessione | `claude --disable-slash-commands` |88| `--disable-slash-commands` | Disabilita tutte le skills e i comandi per questa sessione | `claude --disable-slash-commands` |

88| `--disallowedTools`, `--disallowed-tools` | Regole di negazione. Un nome di strumento nudo rimuove gli strumenti corrispondenti dal contesto di Claude: `"Edit"` rimuove Edit, `"*"` rimuove ogni strumento, e `"mcp__*"` rimuove ogni strumento MCP. Una regola con ambito come `Bash(rm *)` lascia lo strumento disponibile e nega solo le chiamate che corrispondono [come scritto](/docs/it/permissions#bash-rule-limits). Una regola che nomina [`EndConversation`](/docs/it/tools-reference#endconversation-tool-behavior) non può rimuoverla mentre rimane qualsiasi altro strumento | `"Bash(git log *)" "Bash(git diff *)" "Edit"` |89| `--disallowedTools`, `--disallowed-tools` | Regole di negazione. Un nome di strumento nudo rimuove gli strumenti corrispondenti dal contesto di Claude: `"Edit"` rimuove Edit, `"*"` rimuove ogni strumento, e `"mcp__*"` rimuove ogni strumento MCP. Una regola con ambito come `Bash(rm *)` lascia lo strumento disponibile e nega solo le chiamate che corrispondono [come scritto](/docs/it/permissions#bash-rule-limits). Una regola che nomina [`EndConversation`](/docs/it/tools-reference#endconversation-tool-behavior) non può rimuoverla mentre rimane qualsiasi altro strumento | `"Bash(git log *)" "Bash(git diff *)" "Edit"` |

89| `--effort` | Imposta il [livello di sforzo](/docs/it/model-config#adjust-effort-level) per la sessione corrente. Opzioni: `low`, `medium`, `high`, `xhigh`, `max`, o `ultracode`. I livelli disponibili dipendono dal modello. `ultracode` richiede uno sforzo `xhigh` con [ultracode](/docs/it/workflows#let-claude-decide-with-ultracode) attivato, e richiede Claude Code v2.1.203 o successivo. Sostituisce le impostazioni [`modelSettings`](/docs/it/settings-reference#modelsettings) e [`effortLevel`](/docs/it/settings-reference#effortlevel) per questa sessione e non persiste | `claude --effort high` |90| `--effort` | Imposta il [livello di sforzo](/docs/it/model-config#adjust-effort-level) per la sessione corrente. Opzioni: `low`, `medium`, `high`, `xhigh`, `max`, o `ultracode`. I livelli disponibili dipendono dal modello. `ultracode` richiede uno sforzo `xhigh` con [ultracode](/docs/it/workflows#let-claude-decide-with-ultracode) attivato, e richiede Claude Code v2.1.203 o successivo. Sostituisce le impostazioni [`modelSettings`](/docs/it/settings-reference#modelsettings) e [`effortLevel`](/docs/it/settings-reference#effortlevel) per questa sessione e non persiste | `claude --effort high` |


116| `--permission-prompts` | Imposta chi risponde ai prompt di permesso in modalità print. Con l'impostazione predefinita `host`, Claude Code li invia all'host dell'Agent SDK o allo strumento `--permission-prompt-tool`. Passa `none` quando nessuno può rispondere, e Claude Code li nega invece. Vedi [Disattiva i prompt di permesso nelle esecuzioni incustodite](/docs/it/headless#turn-off-permission-prompts-in-unattended-runs). Richiede Claude Code v2.1.259 o successivo | `claude -p --permission-prompts none "query"` |117| `--permission-prompts` | Imposta chi risponde ai prompt di permesso in modalità print. Con l'impostazione predefinita `host`, Claude Code li invia all'host dell'Agent SDK o allo strumento `--permission-prompt-tool`. Passa `none` quando nessuno può rispondere, e Claude Code li nega invece. Vedi [Disattiva i prompt di permesso nelle esecuzioni incustodite](/docs/it/headless#turn-off-permission-prompts-in-unattended-runs). Richiede Claude Code v2.1.259 o successivo | `claude -p --permission-prompts none "query"` |

117| `--plugin-dir` | Carica un plugin da una directory o un archivio `.zip`, o diversi da una [cartella di plugin](/docs/it/plugins/create#load-a-directory-or-archive-for-one-session), solo per questa sessione. Ogni flag accetta un percorso. Ripeti il flag per più percorsi: `--plugin-dir A --plugin-dir B.zip`. Passare una cartella di plugin richiede Claude Code v2.1.265 o successivo | `claude --plugin-dir ./my-plugin` |118| `--plugin-dir` | Carica un plugin da una directory o un archivio `.zip`, o diversi da una [cartella di plugin](/docs/it/plugins/create#load-a-directory-or-archive-for-one-session), solo per questa sessione. Ogni flag accetta un percorso. Ripeti il flag per più percorsi: `--plugin-dir A --plugin-dir B.zip`. Passare una cartella di plugin richiede Claude Code v2.1.265 o successivo | `claude --plugin-dir ./my-plugin` |

118| `--plugin-url` | Recupera un archivio plugin `.zip` da un URL solo per questa sessione. Ripeti il flag per più plugin, o passa URL separati da spazi in un singolo valore tra virgolette | `claude --plugin-url https://example.com/plugin.zip` |119| `--plugin-url` | Recupera un archivio plugin `.zip` da un URL solo per questa sessione. Ripeti il flag per più plugin, o passa URL separati da spazi in un singolo valore tra virgolette | `claude --plugin-url https://example.com/plugin.zip` |

119| `--print`, `-p` | Stampa la risposta senza modalità interattiva (vedi la [documentazione dell'Agent SDK](/docs/it/agent-sdk/overview) per i dettagli di utilizzo programmatico) | `claude -p "query"` |120| `--print`, `-p` | Stampa la risposta senza modalità interattiva (vedi la [documentazione dell'Agent SDK](/docs/it/agent-sdk/overview) per i dettagli di utilizzo programmatico). Per `--resume` su una sessione in background ancora in esecuzione, vedi [Riprendi una sessione](/docs/it/sessions#resume-a-running-background-session) | `claude -p "query"` |

120| `--prompt-suggestions` | Emetti un messaggio `prompt_suggestion` con un prompt utente successivo previsto dopo ogni turno che ne genera uno; le conversazioni molto brevi possono non produrne. Richiede `--print`, `--output-format stream-json`, e `--verbose`. Vedi [Suggerimenti di prompt](/docs/it/interactive-mode#prompt-suggestions) | `claude -p --prompt-suggestions --output-format stream-json --verbose "query"` |121| `--prompt-suggestions` | Emetti un messaggio `prompt_suggestion` con un prompt utente successivo previsto dopo ogni turno che ne genera uno; le conversazioni molto brevi possono non produrne. Richiede `--print`, `--output-format stream-json`, e `--verbose`. Vedi [Suggerimenti di prompt](/docs/it/interactive-mode#prompt-suggestions) | `claude -p --prompt-suggestions --output-format stream-json --verbose "query"` |

121| `--ref <branch>` | Con `--environment`, basa il checkout della nuova sessione su un ref denominato invece di `HEAD` locale | `claude -p "Run the smoke test" --environment ccpool_abc123 --ref main` |122| `--ref <branch>` | Con `--environment`, basa il checkout della nuova sessione su un ref denominato invece di `HEAD` locale | `claude -p "Run the smoke test" --environment ccpool_abc123 --ref main` |

122| `--remote` | Alias deprecato per `--cloud`, inclusa la forma di sessione esistente | `claude --remote "Fix the login bug"` |123| `--remote` | Alias deprecato per `--cloud`, inclusa la forma di sessione esistente | `claude --remote "Fix the login bug"` |


124| `--remote-control-session-name-prefix <prefix>` | Prefisso per i nomi di sessione [Remote Control](/docs/it/remote-control) generati automaticamente quando nessun nome esplicito è impostato. Per impostazione predefinita il nome host della tua macchina, producendo nomi come `myhost-graceful-unicorn`. Imposta `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` per lo stesso effetto | `claude remote-control --remote-control-session-name-prefix dev-box` |125| `--remote-control-session-name-prefix <prefix>` | Prefisso per i nomi di sessione [Remote Control](/docs/it/remote-control) generati automaticamente quando nessun nome esplicito è impostato. Per impostazione predefinita il nome host della tua macchina, producendo nomi come `myhost-graceful-unicorn`. Imposta `CLAUDE_REMOTE_CONTROL_SESSION_NAME_PREFIX` per lo stesso effetto | `claude remote-control --remote-control-session-name-prefix dev-box` |

125| `--replay-user-messages` | Ri-emetti i messaggi dell'utente da stdin su stdout per il riconoscimento. Richiede `--input-format stream-json` e `--output-format stream-json` | `claude -p --input-format stream-json --output-format stream-json --verbose --replay-user-messages` |126| `--replay-user-messages` | Ri-emetti i messaggi dell'utente da stdin su stdout per il riconoscimento. Richiede `--input-format stream-json` e `--output-format stream-json` | `claude -p --input-format stream-json --output-format stream-json --verbose --replay-user-messages` |

126| `--restricted` | Inizia in modalità ristretta. Usalo quando un harness di valutazione guida `claude` su una macchina condivisa e Claude Code non deve eseguire comandi o leggere le impostazioni utente e progetto di quella macchina. Claude Code rimuove gli strumenti integrati che eseguono comandi o codice, e WebFetch, a meno che non li nomini individualmente in `--tools`, non attraverso il preset `default`. Confina anche gli strumenti file integrati alle [directory di lavoro](/docs/it/permissions#working-directories), carica solo [impostazioni gestite](/docs/it/managed-settings) e `--settings`, rifiuta [`bypassPermissions`](/docs/it/permission-modes#skip-all-checks-with-bypasspermissions-mode), e [rifiuta di creare sessioni cloud](/docs/it/errors#cloud-sessions-cannot-be-created-from-a-restricted-session). Richiede Claude Code v2.1.248 o successivo | `claude --restricted -p "query"` |127| `--restricted` | Inizia in modalità ristretta. Usalo quando un harness di valutazione guida `claude` su una macchina condivisa e Claude Code non deve eseguire comandi o leggere le impostazioni utente e progetto di quella macchina. Claude Code rimuove gli strumenti integrati che eseguono comandi o codice, e WebFetch, a meno che non li nomini individualmente in `--tools`, non attraverso il preset `default`. Confina anche gli strumenti file integrati alle [directory di lavoro](/docs/it/permissions#working-directories), carica solo [impostazioni gestite](/docs/it/managed-settings) e `--settings`, rifiuta [`bypassPermissions`](/docs/it/permission-modes#skip-all-checks-with-bypasspermissions-mode), e [rifiuta di creare sessioni cloud](/docs/it/errors#cloud-sessions-cannot-be-created-from-a-restricted-session). Richiede Claude Code v2.1.248 o successivo | `claude --restricted -p "query"` |

127| `--resume`, `-r` | Riprendi una sessione specifica per ID o nome, o mostra un selettore interattivo per scegliere una sessione. Al posto di un ID, puoi passare il percorso assoluto al file di [trascrizione](/docs/it/sessions#where-transcripts-are-stored) `.jsonl` di una sessione. Il selettore e la ricerca per nome includono le sessioni che hanno aggiunto questa directory con `/add-dir`. Quando passi un ID di sessione, Claude Code cerca nella directory del progetto corrente e nei suoi git worktrees, quindi in ogni altro progetto su questa macchina. Prima di v2.1.223, la ricerca per ID copriva solo la directory del progetto corrente e i suoi git worktrees. Le [sessioni in background](/docs/it/agent-view) appaiono nel selettore contrassegnate con `bg` | `claude --resume auth-refactor` |128| `--resume`, `-r` | Riprendi una sessione specifica per ID o nome, o mostra un selettore interattivo per scegliere una sessione. Al posto di un ID, puoi passare il percorso assoluto al file di [trascrizione](/docs/it/sessions#where-transcripts-are-stored) `.jsonl` di una sessione. Il selettore e la ricerca per nome includono le sessioni che hanno aggiunto questa directory con `/add-dir`. Quando passi un ID di sessione, Claude Code cerca nella directory del progetto corrente e nei suoi git worktrees, quindi in ogni altro progetto su questa macchina. Prima di v2.1.223, la ricerca per ID copriva solo la directory del progetto corrente e i suoi git worktrees. Le [sessioni in background](/docs/it/agent-view) appaiono nel selettore contrassegnate con `bg`. Riprendere una che è ancora in esecuzione [apre quella sessione](/docs/it/sessions#resume-a-running-background-session) in questo terminale tramite `claude attach`, e un prompt che passi sulla riga di comando va a essa come suo turno successivo. Prima di v2.1.285, Claude Code rifiutava e stampava il comando `claude attach` da eseguire invece | `claude --resume auth-refactor` |

128| `--safe-mode` | Inizia con tutte le personalizzazioni disabilitate per risolvere i problemi di una configurazione interrotta: CLAUDE.md, skills, plugins, hooks, server MCP, comandi e agenti personalizzati, stili di output, flussi di lavoro, temi personalizzati, scorciatoie da tastiera personalizzate, comandi della barra di stato e suggerimento di file, server LSP, e memoria automatica non si caricano. L'autenticazione, la selezione del modello, gli strumenti integrati e i permessi funzionano normalmente, il che differisce da [`--bare`](/docs/it/headless#start-faster-with-bare-mode). La politica delle impostazioni gestite si applica comunque, inclusi gli hook configurati dalla politica, la barra di stato e i comandi di suggerimento di file; i plugin gestiti, le skills gestite, CLAUDE.md gestito, e i server MCP configurati dalla politica non lo fanno. Utile per verificare se una personalizzazione è quello che attiva il [fallback automatico del modello](/docs/it/model-config#automatic-model-fallback). Imposta [`CLAUDE_CODE_SAFE_MODE`](/docs/it/env-vars) | `claude --safe-mode` |129| `--safe-mode` | Inizia con tutte le personalizzazioni disabilitate per risolvere i problemi di una configurazione interrotta: CLAUDE.md, skills, plugins, hooks, server MCP, comandi e agenti personalizzati, stili di output, flussi di lavoro, temi personalizzati, scorciatoie da tastiera personalizzate, comandi della barra di stato e suggerimento di file, server LSP, e memoria automatica non si caricano. L'autenticazione, la selezione del modello, gli strumenti integrati e i permessi funzionano normalmente, il che differisce da [`--bare`](/docs/it/headless#start-faster-with-bare-mode). La politica delle impostazioni gestite si applica comunque, inclusi gli hook configurati dalla politica, la barra di stato e i comandi di suggerimento di file; i plugin gestiti, le skills gestite, CLAUDE.md gestito, e i server MCP configurati dalla politica non lo fanno. Utile per verificare se una personalizzazione è quello che attiva il [fallback automatico del modello](/docs/it/model-config#automatic-model-fallback). Imposta [`CLAUDE_CODE_SAFE_MODE`](/docs/it/env-vars) | `claude --safe-mode` |

129| `--session-id` | Usa un ID di sessione specifico per la conversazione (deve essere un UUID valido) | `claude --session-id "550e8400-e29b-41d4-a716-446655440000"` |130| `--session-id` | Usa un ID di sessione specifico per la conversazione (deve essere un UUID valido) | `claude --session-id "550e8400-e29b-41d4-a716-446655440000"` |

130| `--setting-sources` | Elenco separato da virgole delle fonti di impostazione da caricare (`user`, `project`, `local`). Vedi [agent view](/docs/it/agent-view#what-carries-over-when-you-background) e [agent teams](/docs/it/agent-teams#context-and-communication) per le sessioni che avvii da questa che ereditano l'elenco | `claude --setting-sources user,project` |131| `--setting-sources` | Elenco separato da virgole delle fonti di impostazione da caricare (`user`, `project`, `local`). Vedi [agent view](/docs/it/agent-view#what-carries-over-when-you-background) e [agent teams](/docs/it/agent-teams#context-and-communication) per le sessioni che avvii da questa che ereditano l'elenco | `claude --setting-sources user,project` |

Details

439 439 

440* **Comandi che Claude esegue**: un ambiente cloud non imposta il suo proprio timeout di comando, quindi si applicano i default dello strumento Bash. Claude attende 2 minuti per un comando per impostazione predefinita e può chiedere fino a 10 minuti.440* **Comandi che Claude esegue**: un ambiente cloud non imposta il suo proprio timeout di comando, quindi si applicano i default dello strumento Bash. Claude attende 2 minuti per un comando per impostazione predefinita e può chiedere fino a 10 minuti.

441 441 

442 Quando un comando raggiunge il suo [timeout](/docs/it/tools-reference#timeout-and-output-limits), Claude Code [lo sposta in background](/docs/it/tools-reference#background-commands) invece di fermarlo, a meno che il comando non inizi con `sleep`. Un comando spostato in questo modo può continuare a essere eseguito per altri 30 minuti prima che Claude Code lo interrompa al suo [limite di tempo in background](/docs/it/tools-reference#background-commands). Impostare `BASH_DEFAULT_TIMEOUT_MS` sopra `1800000` millisecondi allunga sia quel limite che il default per il foreground.442 Quando un comando raggiunge il suo [timeout](/docs/it/tools-reference#timeout-and-output-limits), Claude Code [lo sposta in background](/docs/it/tools-reference#foreground-commands-that-move-to-the-background) invece di fermarlo, a meno che il comando non inizi con `sleep`. Un comando spostato in questo modo può continuare a essere eseguito per altri 30 minuti prima che Claude Code lo interrompa al suo [limite di tempo in background](/docs/it/tools-reference#time-limit-for-background-commands). Impostare `BASH_DEFAULT_TIMEOUT_MS` sopra `1800000` millisecondi allunga sia quel limite che il default per il foreground.

443* **Hook SessionStart**: Claude Code annulla un hook `command` dopo 600 secondi a meno che non impostiate [`timeout`](/docs/it/hooks#common-fields), in secondi, sulla voce dell'hook. Claude Code non applica il timeout su un hook che eseguite con [`async: true`](/docs/it/hooks#run-hooks-in-the-background).443* **Hook SessionStart**: Claude Code annulla un hook `command` dopo 600 secondi a meno che non impostiate [`timeout`](/docs/it/hooks#common-fields), in secondi, sulla voce dell'hook. Claude Code non applica il timeout su un hook che eseguite con [`async: true`](/docs/it/hooks#run-hooks-in-the-background).

444* **Script di configurazione**: uno script che richiede più di circa cinque minuti non viene memorizzato nella cache. [Requisiti dello script](#script-requirements) copre come rimanere sotto questo limite.444* **Script di configurazione**: uno script che richiede più di circa cinque minuti non viene memorizzato nella cache. [Requisiti dello script](#script-requirements) copre come rimanere sotto questo limite.

445* **Sessioni inattive**: dopo alcuni minuti senza attività, la VM di una sessione si mette in pausa con i suoi file salvati, e una VM in pausa può essere successivamente recuperata. [Impostare variabili di ambiente](#set-environment-variables) descrive cosa una sessione raccoglie in ogni caso, e [Environment expired](/docs/it/claude-code-on-the-web#environment-expired) copre come riaprire una sessione la cui VM è stata recuperata.445* **Sessioni inattive**: dopo alcuni minuti senza attività, la VM di una sessione si mette in pausa con i suoi file salvati, e una VM in pausa può essere successivamente recuperata. [Impostare variabili di ambiente](#set-environment-variables) descrive cosa una sessione raccoglie in ogni caso, e [Environment expired](/docs/it/claude-code-on-the-web#environment-expired) copre come riaprire una sessione la cui VM è stata recuperata.

commands.md +1 −1

Details

132| `/remote-control` | Rendere questa sessione disponibile per [Remote Control](/docs/it/remote-control) da claude.ai. L'esecuzione mentre siete disconnessi stampa che Remote Control richiede un abbonamento claude.ai e vi dice come accedere; prima della v2.1.206 segnalava `Unknown command: /remote-control`. Alias: `/rc` |132| `/remote-control` | Rendere questa sessione disponibile per [Remote Control](/docs/it/remote-control) da claude.ai. L'esecuzione mentre siete disconnessi stampa che Remote Control richiede un abbonamento claude.ai e vi dice come accedere; prima della v2.1.206 segnalava `Unknown command: /remote-control`. Alias: `/rc` |

133| `/remote-env` | Scegliere l'[ambiente cloud](/docs/it/cloud-environments#select-an-environment-from-the-cli) predefinito per le sessioni cloud che avviate dalla CLI |133| `/remote-env` | Scegliere l'[ambiente cloud](/docs/it/cloud-environments#select-an-environment-from-the-cli) predefinito per le sessioni cloud che avviate dalla CLI |

134| `/rename [name]` | Rinominare la sessione corrente e mostrare il nome sulla barra dei prompt. Senza un nome, genera automaticamente uno dalla cronologia della conversazione. Disponibile anche in modalità non interattiva (`-p`); richiede Claude Code v2.1.205 o successivo. Da ogni superficie di rinomina, inclusi claude.ai e l'app desktop, Claude Code sostituisce i caratteri di controllo e invisibili nel nuovo nome con spazi e limita il nome a 200 caratteri. Se il nome è vuoto una volta rimossi i caratteri invisibili, Claude Code lo rifiuta e mostra `That name is empty once invisible characters are removed. Usage: /rename <name>`. La sostituzione dei caratteri e il limite di lunghezza richiedono Claude Code v2.1.221 o successivo. Se un'altra sessione live su questa macchina utilizza già un nome che passate, Claude Code applica [una variante di esso](/docs/it/sessions#name-your-sessions) invece |134| `/rename [name]` | Rinominare la sessione corrente e mostrare il nome sulla barra dei prompt. Senza un nome, genera automaticamente uno dalla cronologia della conversazione. Disponibile anche in modalità non interattiva (`-p`); richiede Claude Code v2.1.205 o successivo. Da ogni superficie di rinomina, inclusi claude.ai e l'app desktop, Claude Code sostituisce i caratteri di controllo e invisibili nel nuovo nome con spazi e limita il nome a 200 caratteri. Se il nome è vuoto una volta rimossi i caratteri invisibili, Claude Code lo rifiuta e mostra `That name is empty once invisible characters are removed. Usage: /rename <name>`. La sostituzione dei caratteri e il limite di lunghezza richiedono Claude Code v2.1.221 o successivo. Se un'altra sessione live su questa macchina utilizza già un nome che passate, Claude Code applica [una variante di esso](/docs/it/sessions#name-your-sessions) invece |

135| `/resume [session]` | Riprendere una conversazione per ID o nome, o aprire il selettore di sessione. Le [sessioni background](/docs/it/agent-view) appaiono nel selettore contrassegnate con `bg`; una che è ancora in esecuzione non può essere ripresa qui, quindi collegatevi da `claude agents` o fermatela lì per primo. Alias: `/continue` |135| `/resume [session]` | Riprendere una conversazione per ID o nome, o aprire il selettore di sessione. Le [sessioni background](/docs/it/agent-view) appaiono nel selettore contrassegnate con `bg`. Riprendere una che è ancora in esecuzione, dal selettore o per ID o nome, [apre quella sessione](/docs/it/sessions#resume-a-running-background-session): la vostra conversazione corrente si sposta in background e questo terminale si collega a quella in esecuzione. Premete `←` su un prompt vuoto per tornare ad agent view, che elenca anche la conversazione che avete lasciato. Prima della v2.1.285, Claude Code rifiutava e vi diceva di aprire la sessione con `claude attach` o fermarla prima. Alias: `/continue` |

136| `/review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [pr#\|branch\|path]` | Alias di [`/code-review`](/docs/it/code-review#review-a-diff-locally): rivede il diff corrente, o un numero PR, ramo o percorso che passate, come `/review 1234`, e accetta gli stessi livelli di sforzo e flag. Senza un livello dato, la revisione riusa l'ultimo livello `low` attraverso `max` che avete digitato; consultate [Rivedere un diff localmente](/docs/it/code-review#review-a-diff-locally) per le regole esatte. Per una revisione cloud profonda, usate [`/code-review ultra`](/docs/it/ultrareview). Prima della v2.1.223, `/review` era un comando separato che eseguiva una revisione di una singola passata, di sola lettura di una richiesta di pull GitHub per numero, elencando le PR aperte da cui scegliere quando eseguito senza argomento; da v2.1.186 attraverso v2.1.201, eseguiva lo stesso motore multi-agente di `/code-review medium` |136| `/review [low\|medium\|high\|xhigh\|max\|ultra] [--fix] [--comment] [pr#\|branch\|path]` | Alias di [`/code-review`](/docs/it/code-review#review-a-diff-locally): rivede il diff corrente, o un numero PR, ramo o percorso che passate, come `/review 1234`, e accetta gli stessi livelli di sforzo e flag. Senza un livello dato, la revisione riusa l'ultimo livello `low` attraverso `max` che avete digitato; consultate [Rivedere un diff localmente](/docs/it/code-review#review-a-diff-locally) per le regole esatte. Per una revisione cloud profonda, usate [`/code-review ultra`](/docs/it/ultrareview). Prima della v2.1.223, `/review` era un comando separato che eseguiva una revisione di una singola passata, di sola lettura di una richiesta di pull GitHub per numero, elencando le PR aperte da cui scegliere quando eseguito senza argomento; da v2.1.186 attraverso v2.1.201, eseguiva lo stesso motore multi-agente di `/code-review medium` |

137| `/rewind` | Riavvolgere la conversazione e/o il codice a un punto precedente, o riassumere da un messaggio selezionato. Consultate [checkpointing](/docs/it/checkpointing). Alias: `/checkpoint`, `/undo` |137| `/rewind` | Riavvolgere la conversazione e/o il codice a un punto precedente, o riassumere da un messaggio selezionato. Consultate [checkpointing](/docs/it/checkpointing). Alias: `/checkpoint`, `/undo` |

138| `/run` | **[Skill](/docs/it/skills#bundled-skills).** Lanciare e guidare l'app del vostro progetto per vedere un cambiamento funzionante, non solo passare i test. Consultate [Eseguire e verificare la vostra app](/docs/it/skills#run-and-verify-your-app) |138| `/run` | **[Skill](/docs/it/skills#bundled-skills).** Lanciare e guidare l'app del vostro progetto per vedere un cambiamento funzionante, non solo passare i test. Consultate [Eseguire e verificare la vostra app](/docs/it/skills#run-and-verify-your-app) |

desktop.md +8 −0

Details

967 967 

968Per spostare una sessione CLI in Desktop, esegui `/desktop` nel terminale. Claude salva la tua sessione e l'apre nell'app desktop, quindi esce dalla CLI. Questo comando è disponibile su macOS e Windows x64 quando sei connesso con un abbonamento Claude. Non è disponibile con autenticazione tramite chiave API o su Amazon Bedrock, Google Cloud's Agent Platform o Microsoft Foundry.968Per spostare una sessione CLI in Desktop, esegui `/desktop` nel terminale. Claude salva la tua sessione e l'apre nell'app desktop, quindi esce dalla CLI. Questo comando è disponibile su macOS e Windows x64 quando sei connesso con un abbonamento Claude. Non è disponibile con autenticazione tramite chiave API o su Amazon Bedrock, Google Cloud's Agent Platform o Microsoft Foundry.

969 969 

970Dalla tua shell, [`claude --desktop`](/docs/it/cli-reference#cli-flags) apre Desktop direttamente senza avviare una sessione di terminale. Richiede Claude Code v2.1.285 o successivo e ha gli stessi requisiti di piattaforma e accesso di `/desktop`. Senza altri argomenti, apre Desktop nella directory corrente. Per aprire una sessione CLI esistente in Desktop, aggiungi `--continue` per la conversazione più recente in questa directory, o `--resume` con l'ID della sessione che `/status` mostra:

971 

972```bash theme={null}

973claude --desktop --resume <session-id>

974```

975 

976Claude Code stampa `Opening session <session-id> in Claude Desktop`, la sessione si apre nell'app e il comando esce. Un nome di sessione non funziona al posto dell'ID. Claude Code non sposta una sessione che è aperta in un altro terminale o ancora in esecuzione in background. Se Claude Desktop non è installato, il comando stampa un link di download e esce.

977 

970Puoi anche riprendere una sessione CLI da Desktop con `/resume`. Il comando è disponibile nelle sessioni locali, non in SSH, WSL o sessioni cloud.978Puoi anche riprendere una sessione CLI da Desktop con `/resume`. Il comando è disponibile nelle sessioni locali, non in SSH, WSL o sessioni cloud.

971 979 

972Per continuare una sessione di terminale in Desktop:980Per continuare una sessione di terminale in Desktop:

Details

346* Chiedere a Claude Code di eseguire un comando in background346* Chiedere a Claude Code di eseguire un comando in background

347* Premere `Ctrl+B` per spostare una normale invocazione dello strumento Bash in background. Gli utenti di Tmux devono premere `Ctrl+B` due volte a causa della chiave di prefisso di tmux.347* Premere `Ctrl+B` per spostare una normale invocazione dello strumento Bash in background. Gli utenti di Tmux devono premere `Ctrl+B` due volte a causa della chiave di prefisso di tmux.

348 348 

349Quando un comando raggiunge il timeout prima di terminare, Claude Code lo sposta automaticamente [in background](/docs/it/tools-reference#background-commands) invece di fermarlo, a meno che il comando non inizi con `sleep`. Per modificare il tempo di esecuzione dei comandi prima che ciò accada, impostare le [variabili di ambiente del timeout di Bash](/docs/it/tools-reference#timeout-and-output-limits).349Quando un comando raggiunge il timeout prima di terminare, Claude Code lo sposta automaticamente [in background](/docs/it/tools-reference#foreground-commands-that-move-to-the-background) invece di fermarlo, a meno che il comando non inizi con `sleep`. Per modificare il tempo di esecuzione dei comandi prima che ciò accada, impostare le [variabili di ambiente del timeout di Bash](/docs/it/tools-reference#timeout-and-output-limits).

350 350 

351**Caratteristiche principali:**351**Caratteristiche principali:**

352 352 


358* Su macOS e Linux, Claude Code termina le attività in background in esecuzione quando il sistema operativo segnala pressione della memoria critica, a condizione che la sessione sia stata inattiva per almeno 30 minuti e nessun turno o subagent sia in esecuzione. Richiede Claude Code v2.1.193 o successivo358* Su macOS e Linux, Claude Code termina le attività in background in esecuzione quando il sistema operativo segnala pressione della memoria critica, a condizione che la sessione sia stata inattiva per almeno 30 minuti e nessun turno o subagent sia in esecuzione. Richiede Claude Code v2.1.193 o successivo

359 * Il [log di debug](/docs/it/debug-your-config) spiega perché le attività sono state interrotte, o perché un evento di pressione le ha lasciate in esecuzione359 * Il [log di debug](/docs/it/debug-your-config) spiega perché le attività sono state interrotte, o perché un evento di pressione le ha lasciate in esecuzione

360 * Impostare [`CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP`](/docs/it/env-vars) a `1` per disattivare gli arresti dovuti alla pressione della memoria360 * Impostare [`CLAUDE_CODE_DISABLE_BG_SHELL_PRESSURE_REAP`](/docs/it/env-vars) a `1` per disattivare gli arresti dovuti alla pressione della memoria

361* I comandi Bash e PowerShell in background hanno un limite di tempo, contato dal momento in cui il comando entra in background: 30 minuti, o il `timeout` che Claude richiede quando avvia un comando in background, fino a un massimo di 2 ore. Un comando che si sposta in background mentre viene eseguito, ad esempio con `Ctrl+B`, ottiene 30 minuti dal trasferimento. Quando un comando raggiunge il suo limite, Claude Code lo interrompe e dice a Claude il motivo, e Claude può riavviarlo con un `timeout` più lungo se il lavoro ne ha ancora bisogno. Due variabili di ambiente aumentano i limiti, in millisecondi, e nessuna di esse può accorciarli:361* I comandi Bash e PowerShell in background hanno un limite di tempo, contato dal momento in cui il comando entra in background: 30 minuti, o il `timeout` che Claude richiede quando avvia un comando in background, fino a un massimo di 2 ore. Un comando che si sposta in background mentre viene eseguito, ad esempio con `Ctrl+B`, ottiene 30 minuti dal trasferimento. Quando un comando raggiunge il suo limite, Claude Code lo interrompe e dice a Claude il motivo, e Claude può riavviarlo con un `timeout` più lungo se il lavoro ne ha ancora bisogno. Per allungare i limiti, vedere [Aumentare il limite di tempo per i comandi in background](/docs/it/tools-reference#raise-the-time-limit-for-background-commands) nel riferimento degli strumenti

362 * Impostare [`BASH_DEFAULT_TIMEOUT_MS`](/docs/it/env-vars) sopra `1800000` per sostituire il default di 30 minuti con quel valore, anche per i comandi spostati362* Un comando in background che un [subagent](/docs/it/sub-agents#run-subagents-in-foreground-or-background) in foreground ha avviato termina quando la corsa di quel subagent termina, sia che sia finita, fallita o sia stata interrotta; vedere [Quando un comando in background si ferma](/docs/it/tools-reference#when-a-background-command-stops) nel riferimento degli strumenti

363 * Impostare [`BASH_MAX_TIMEOUT_MS`](/docs/it/env-vars) sopra `7200000` per aumentare il massimo di 2 ore. Impostare `BASH_DEFAULT_TIMEOUT_MS` sopra `7200000` lo aumenta allo stesso modo

364* Un comando in background che un [subagent](/docs/it/sub-agents#run-subagents-in-foreground-or-background) in foreground ha avviato termina quando la corsa di quel subagent termina, sia che sia finita, fallita o sia stata interrotta; vedere [Comandi in background](/docs/it/tools-reference#background-commands) nel riferimento degli strumenti

365 363 

366Per disabilitare tutta la funzionalità di attività in background, impostare la variabile di ambiente `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` a `1`. Vedere [Variabili di ambiente](/docs/it/env-vars) per i dettagli.364Per disabilitare tutta la funzionalità di attività in background, impostare la variabile di ambiente `CLAUDE_CODE_DISABLE_BACKGROUND_TASKS` a `1`. Vedere [Variabili di ambiente](/docs/it/env-vars) per i dettagli.

367 365 

Details

29Ogni sottocomando condivide questi codici di uscita, argomenti plugin e valori di ambito:29Ogni sottocomando condivide questi codici di uscita, argomenti plugin e valori di ambito:

30 30 

31* **Codici di uscita**: `0` in caso di successo e `1` in caso di errore. `validate` aggiunge l'uscita `2` per un errore inaspettato, e `eval` aggiunge i codici elencati nella [sua sezione](#plugin-eval).31* **Codici di uscita**: `0` in caso di successo e `1` in caso di errore. `validate` aggiunge l'uscita `2` per un errore inaspettato, e `eval` aggiunge i codici elencati nella [sua sezione](#plugin-eval).

32* **Argomenti plugin**: un argomento `<plugin>` è un plugin `name` o `name@marketplace`. Quando due marketplace offrono lo stesso nome, usa la forma qualificata.32* **Argomenti plugin**: un argomento `<plugin>` è un plugin `name` o `name@marketplace`. Quando due marketplace offrono lo stesso nome, usa la forma qualificata. `configure` accetta solo la forma qualificata.

33* **Ambiti**: `--scope` accetta `user`, `project` o `local`, e nomina il file di impostazioni in cui il comando scrive. `update` accetta anche `managed`.33* **Ambiti**: `--scope` accetta `user`, `project` o `local`, e nomina il file di impostazioni in cui il comando scrive. `update` accetta anche `managed`.

34 34 

35<h3 id="plugin-init">35<h3 id="plugin-init">


87| Flag | Descrizione |87| Flag | Descrizione |

88| :- | :- |88| :- | :- |

89| `-s, --scope <scope>` | Ambito di installazione: `user`, `project` o `local`. Predefinito a `user` |89| `-s, --scope <scope>` | Ambito di installazione: `user`, `project` o `local`. Predefinito a `user` |

90| `--config <key=value>` | Imposta un'opzione [`userConfig`](/docs/it/plugins/manifest-reference) che il manifest del plugin dichiara. Ripeti il flag per ogni opzione. Richiede Claude Code v2.1.147 o successivo |90| `--config <key=value>` | Imposta un'opzione [`userConfig`](/docs/it/plugins/manifest-reference) che il manifest del plugin dichiara. Ripeti il flag per ogni opzione. Richiede Claude Code v2.1.147 o successivo. Una chiave scritta `<server>.<key>` imposta un'impostazione che un [server MCP in bundle](/docs/it/plugins/components#include-a-packaged-mcpb-server) dichiara nel suo stesso `user_config`, per un file bundle spedito all'interno del plugin. La forma `<server>.<key>` richiede Claude Code v2.1.285 o successivo |

91| `-y, --yes` | Accetta il comando di installazione visualizzato senza il prompt `Run this command now?`. Ignorato quando il comando viene eseguito all'interno di una sessione Claude Code, ad esempio dallo strumento Bash o da un hook. Richiede Claude Code v2.1.229 o successivo |91| `-y, --yes` | Accetta il comando di installazione visualizzato senza il prompt `Run this command now?`. Ignorato quando il comando viene eseguito all'interno di una sessione Claude Code, ad esempio dallo strumento Bash o da un hook. Richiede Claude Code v2.1.229 o successivo |

92| `--accept-command <sha256>` | Accetta il comando di installazione visualizzato il cui `sha256` un'esecuzione precedente [`--json`](#plugin-json-result) ha riportato in `shownCommand`, al posto di `-y`. Non può essere combinato con `-y`. Vedi [Accetta un comando di installazione visualizzato](#accept-a-displayed-install-command). Richiede Claude Code v2.1.271 o successivo |92| `--accept-command <sha256>` | Accetta il comando di installazione visualizzato il cui `sha256` un'esecuzione precedente [`--json`](#plugin-json-result) ha riportato in `shownCommand`, al posto di `-y`. Non può essere combinato con `-y`. Vedi [Accetta un comando di installazione visualizzato](#accept-a-displayed-install-command). Richiede Claude Code v2.1.271 o successivo |

93| `--json` | Stampa il risultato come un oggetto JSON sull'ultima riga di stdout invece del messaggio leggibile, per l'uso negli script. Vedi [Formato risultato JSON](#plugin-json-result). Richiede Claude Code v2.1.268 o successivo |93| `--json` | Stampa il risultato come un oggetto JSON sull'ultima riga di stdout invece del messaggio leggibile, per l'uso negli script. Vedi [Formato risultato JSON](#plugin-json-result). Richiede Claude Code v2.1.268 o successivo |


297| :- | :- |297| :- | :- |

298| `--json` | Stampa l'elenco come JSON |298| `--json` | Stampa l'elenco come JSON |

299| `--available` | Elenca anche i plugin che i tuoi marketplace offrono che non hai installato. Non ha effetto senza `--json` |299| `--available` | Elenca anche i plugin che i tuoi marketplace offrono che non hai installato. Non ha effetto senza `--json` |

300| `--data-size [plugin]` | Misura la [directory di dati salvati](#what-an-uninstall-deletes-and-keeps) di ogni plugin installato, o solo quella del plugin denominato, dato come `name@marketplace`. Non ha effetto senza `--json`. Se il nome non ha un record di installazione, il comando stampa `--data-size names a plugin that is not installed` ed esce con `1` invece di stampare l'elenco. Richiede Claude Code v2.1.285 o successivo |

300 301 

301Claude Code raggruppa l'output leggibile per come ogni plugin si carica:302Claude Code raggruppa l'output leggibile per come ogni plugin si carica:

302 303 


328| `notes` | array of strings | Avvertimenti di authoring per un plugin che si è caricato e funziona |329| `notes` | array of strings | Avvertimenti di authoring per un plugin che si è caricato e funziona |

329| `errorDetails` | array of objects | Un oggetto per voce `errors`, fornendo il suo `type` diagnostico e i nomi a cui si riferisce, come il plugin, marketplace, server o file. Richiede Claude Code v2.1.268 o successivo |330| `errorDetails` | array of objects | Un oggetto per voce `errors`, fornendo il suo `type` diagnostico e i nomi a cui si riferisce, come il plugin, marketplace, server o file. Richiede Claude Code v2.1.268 o successivo |

330| `noteDetails` | array of objects | Gli stessi oggetti di dettaglio per ogni voce `notes`. Richiede Claude Code v2.1.268 o successivo |331| `noteDetails` | array of objects | Gli stessi oggetti di dettaglio per ogni voce `notes`. Richiede Claude Code v2.1.268 o successivo |

332| `hasUserConfig` | boolean | Presente e `true` quando il plugin si è caricato e il suo manifest dichiara opzioni [`userConfig`](/docs/it/plugins/manifest-reference#user-configuration). Assente per un plugin che non è riuscito a caricarsi, qualunque cosa il suo manifest dichiari. I valori salvati non sono mai inclusi. Richiede Claude Code v2.1.285 o successivo |

333| `projectEnabled` | boolean | Se il `.claude/settings.json` condiviso del progetto attiva il plugin. Solo installazioni marketplace. Richiede Claude Code v2.1.285 o successivo |

334| `dataDirSize` | object | Con `--data-size`, la dimensione della [directory di dati salvati](#what-an-uninstall-deletes-and-keeps) del plugin come `bytes` e `human`; assente quando la directory è mancante o vuota. Solo installazioni marketplace. Richiede Claude Code v2.1.285 o successivo |

335| `dataDirUnreadable` | boolean | Con `--data-size`, `true` quando la directory di dati salvati esiste ma non ha potuto essere misurata. Solo installazioni marketplace. Richiede Claude Code v2.1.285 o successivo |

331 336 

332Con `--json --available`, Claude Code stampa un oggetto invece di un array. Il suo campo `installed` contiene l'array di oggetti plugin installati, e il suo campo `available` contiene un oggetto per plugin marketplace non installato con i campi sottostanti.337Con `--json --available`, Claude Code stampa un oggetto invece di un array. Il suo campo `installed` contiene l'array di oggetti plugin installati, e il suo campo `available` contiene un oggetto per plugin marketplace non installato con i campi sottostanti.

333 338 


371 376 

372Per un plugin che non è caricato, Claude Code stampa ``Plugin "formatter" not found. Run `claude plugin list` to see installed plugins, or pass --plugin-dir <path> to load one from disk.`` ed esce con `1`.377Per un plugin che non è caricato, Claude Code stampa ``Plugin "formatter" not found. Run `claude plugin list` to see installed plugins, or pass --plugin-dir <path> to load one from disk.`` ed esce con `1`.

373 378 

379<h3 id="plugin-configure">

380 plugin configure

381</h3>

382 

383Mostra le opzioni [`userConfig`](/docs/it/plugins/manifest-reference#user-configuration) di un plugin installato e quali sono impostate, o salva i valori inviati su stdin. Richiede Claude Code v2.1.285 o successivo.

384 

385```bash theme={null}

386claude plugin configure <plugin>

387```

388 

389| Flag | Descrizione |

390| :- | :- |

391| `--values-stdin` | Leggi i valori delle opzioni da stdin come un oggetto JSON di stringhe a riga singola e salvali. Le opzioni che ometti mantengono i loro valori salvati |

392| `--json` | Stampa il risultato come un oggetto JSON su stdout. Senza `--values-stdin`, l'oggetto porta lo `schema` e le `choices` delle opzioni, i loro `inputs` iniziali, e i nomi delle opzioni `configured` e `unconfigured`. Con `--values-stdin`, porta i nomi delle opzioni `saved` e, quando possono essere letti di nuovo, quelli `unconfigured` |

393 

394Senza flag, il comando elenca ogni opzione con fino a tre etichette: `required` o `optional`, poi `sensitive` per un'opzione che il manifest dichiara sensibile, poi `set` o `not set`. Non stampa valori salvati. Con `--json`, l'output include i valori salvati delle opzioni che non sono sensibili, e mai il testo di una sensibile.

395 

396Per salvare i valori, scrivili in un file come un oggetto JSON che mappa le chiavi delle opzioni ai valori stringa, poi passa il file su stdin. Sostituisci `formatter@my-marketplace` con l'id del tuo plugin come `claude plugin list` lo mostra. Questo esempio imposta un'opzione denominata `api_url` da un file `values.json` che contiene `{"api_url": "https://example.com"}`:

397 

398```bash theme={null}

399claude plugin configure formatter@my-marketplace --values-stdin < values.json

400```

401 

402Claude Code convalida ogni valore rispetto al tipo dichiarato dell'opzione e stampa `Configuration saved. Restart Claude Code to apply it.` Se passi una chiave che il manifest non dichiara, o un valore che fallisce la convalida, il comando non salva nulla, stampa `Failed to save configuration:` con il motivo, ed esce con `1`. Con `--json`, un valore rifiutato stampa anche un oggetto su stdout il cui campo `refused` porta il `message` e, quando un'opzione è responsabile, la sua chiave `option`.

403 

404Passa l'id completo `name@marketplace` del plugin, come `claude plugin list` lo mostra. `configure` non accetta un `name` semplice. Quando nessun plugin caricato ha quell'id, il comando stampa `No installed plugin has the id "<plugin>".` ed esce con `1`.

405 

406Per le impostazioni di un server MCP in bundle, vedi [`plugin install --config`](#plugin-install) o l'elemento **Configure** in `/plugin`.

407 

374<h3 id="plugin-prune">408<h3 id="plugin-prune">

375 plugin prune409 plugin prune

376</h3>410</h3>

Details

868 868 

869Il server prende il suo nome da `name` nel manifest del bundle.869Il server prende il suo nome da `name` nel manifest del bundle.

870 870 

871Un manifest proprio del bundle può dichiarare impostazioni che il server ha bisogno dall'utente in un blocco `user_config`. Un server in bundle con un'impostazione richiesta che non ha un valore salvato non si avvia. La scheda **Errors** di `/plugin` mostra `Bundled MCP server "<name>" was not started: it needs configuration`.

872 

873Gli utenti forniscono i valori in uno di due modi:

874 

875* **In `/plugin`**: seleziona il plugin nella scheda **Installed** e scegli **Configure**

876* **All'installazione, dalla shell**: passa [`--config <server>.<key>=<value>`](/docs/it/plugins/cli-reference#plugin-install) a `claude plugin install`. Richiede Claude Code v2.1.285 o successivo, e funziona solo per un bundle confezionato all'interno del plugin.

877 

871Per trasporti e autenticazione, vedere [MCP](/docs/it/mcp#plugin-provided-mcp-servers).878Per trasporti e autenticazione, vedere [MCP](/docs/it/mcp#plugin-provided-mcp-servers).

872 879 

873<h3 id="lsp-servers">880<h3 id="lsp-servers">


1071 Quando appare la finestra di dialogo di configurazione1078 Quando appare la finestra di dialogo di configurazione

1072</h3>1079</h3>

1073 1080 

1074La finestra di dialogo appare solo nell'interfaccia interattiva `/plugin`. Si apre per qualsiasi opzione che non è ancora impostata quando l'utente fa uno dei seguenti:1081La finestra di dialogo è parte dell'interfaccia interattiva `/plugin`. Si apre per qualsiasi opzione che non è ancora impostata quando l'utente fa uno dei seguenti:

1075 1082 

1076* Installa il plugin in `/plugin`1083* Installa il plugin in `/plugin`

1077* Esegui `/plugin install <plugin>@<marketplace>` all'interno di una sessione1084* Esegui `/plugin install <plugin>@<marketplace>` all'interno di una sessione


1079 1086 

1080Per aprire la stessa finestra di dialogo in qualsiasi momento, l'utente esegue `/plugin configure <plugin>@<marketplace>`.1087Per aprire la stessa finestra di dialogo in qualsiasi momento, l'utente esegue `/plugin configure <plugin>@<marketplace>`.

1081 1088 

1082Il comando shell `claude plugin install` non richiede mai i valori `userConfig`. Per impostare i valori dalla shell, passa ognuno come `--config KEY=VALUE`. Quando le opzioni rimangono non impostate, il comando stampa una riga `userConfig options not yet set` che nomina entrambi i modi per impostarli. [La finestra di dialogo `userConfig` non appare mai](/docs/it/plugins/troubleshooting#the-userconfig-dialog-never-appears) cita la riga.1089Il dialogo Manage plugins dell'estensione VS Code [Manage plugins dialog](/docs/it/vs-code#install-plugins) chiede le opzioni non impostate come un modulo dopo un'installazione, e un'icona a forma di ingranaggio sulla riga del plugin apre il modulo di nuovo con ogni opzione.

1090 

1091Il comando shell `claude plugin install` non richiede mai i valori `userConfig`. Per impostare i valori dalla shell, passa ognuno come `--config KEY=VALUE` quando installi, oppure invia un oggetto JSON a [`claude plugin configure --values-stdin`](/docs/it/plugins/cli-reference#plugin-configure) successivamente.

1092 

1093Quando le opzioni rimangono non impostate, `claude plugin install` stampa una riga `userConfig options not yet set`. Per il testo esatto della riga, vedi [La finestra di dialogo `userConfig` non appare mai](/docs/it/plugins/troubleshooting#the-userconfig-dialog-never-appears).

1083 1094 

1084Per i campi dell'opzione, dove ogni valore viene archiviato, come un componente fa riferimento a un valore salvato, e quali campi rifiutano `${user_config.*}`, vedere [Configurazione utente](/docs/it/plugins/manifest-reference#user-configuration).1095Per i campi dell'opzione, dove ogni valore viene archiviato, come un componente fa riferimento a un valore salvato, e quali campi rifiutano `${user_config.*}`, vedere [Configurazione utente](/docs/it/plugins/manifest-reference#user-configuration).

1085 1096 

Details

72 L'ultima frase del riepilogo ti dice se il plugin è utilizzabile in questa sessione:72 L'ultima frase del riepilogo ti dice se il plugin è utilizzabile in questa sessione:

73 73 

74 * **Active now**: `Plugin is now active.` Non è necessario ricaricare.74 * **Active now**: `Plugin is now active.` Non è necessario ricaricare.

75 * **Active, but a server needs setup**: `Plugin is now active.` è seguito da `Its bundled MCP server needs configuration before it can start`. Il [server MCP in bundle](/docs/it/plugins/components#include-a-packaged-mcpb-server) del plugin non può avviarsi finché non imposti le sue opzioni. Seleziona il plugin sulla scheda **Installed** in `/plugin` e scegli **Configure** per impostare le opzioni del server.

75 * **Reload needed**: `Run /reload-plugins to activate.` Il pannello si chiude e Claude Code esegue quel ricaricamento per te. Se il ricaricamento [invaliderebbe la prompt cache](/docs/it/prompt-caching#enabling-or-disabling-a-plugin), avverte e lascia il plugin in sospeso invece. Esegui `/reload-plugins --force` per attivarlo comunque, il che costa una richiesta non memorizzata nella cache.76 * **Reload needed**: `Run /reload-plugins to activate.` Il pannello si chiude e Claude Code esegue quel ricaricamento per te. Se il ricaricamento [invaliderebbe la prompt cache](/docs/it/prompt-caching#enabling-or-disabling-a-plugin), avverte e lascia il plugin in sospeso invece. Esegui `/reload-plugins --force` per attivarlo comunque, il che costa una richiesta non memorizzata nella cache.

76 * **Load failed**: `The plugin couldn't be loaded`. Apri la scheda **Errors** in `/plugin` per il motivo, quindi vedi [After install: plugin not working](/docs/it/plugins/troubleshooting#plugin-installed-but-not-working).77 * **Load failed**: `The plugin couldn't be loaded`. Apri la scheda **Errors** in `/plugin` per il motivo, quindi vedi [After install: plugin not working](/docs/it/plugins/troubleshooting#plugin-installed-but-not-working).

77 </Step>78 </Step>


248Un marketplace privato è uno in un repository a cui hai bisogno di credenziali per clonare, su GitHub o su qualsiasi altro host git. Lo aggiungi con lo stesso comando `/plugin marketplace add` o `claude plugin marketplace add` di uno pubblico. Claude Code lo clona con le credenziali git già sulla tua macchina e non chiede mai, quindi ogni modo di connettersi ha un requisito:249Un marketplace privato è uno in un repository a cui hai bisogno di credenziali per clonare, su GitHub o su qualsiasi altro host git. Lo aggiungi con lo stesso comando `/plugin marketplace add` o `claude plugin marketplace add` di uno pubblico. Claude Code lo clona con le credenziali git già sulla tua macchina e non chiede mai, quindi ogni modo di connettersi ha un requisito:

249 250 

250* **HTTPS**: i tuoi helper di credenziali git si applicano, quindi l'accesso che hai configurato con `gh auth login`, il Portachiavi macOS o `git-credential-store` funziona. I prompt interattivi sono soppressi, quindi un host a cui non ti sei mai autenticato fallisce invece di chiedere una password.251* **HTTPS**: i tuoi helper di credenziali git si applicano, quindi l'accesso che hai configurato con `gh auth login`, il Portachiavi macOS o `git-credential-store` funziona. I prompt interattivi sono soppressi, quindi un host a cui non ti sei mai autenticato fallisce invece di chiedere una password.

251* **SSH**: l'host deve già essere nel tuo file `known_hosts` e la chiave deve funzionare senza un prompt di passphrase, perché i prompt di impronta digitale dell'host e di passphrase sono soppressi anche loro.252* **SSH**: l'host deve già essere nel tuo file `known_hosts` e la chiave deve funzionare senza un prompt di passphrase. Se la tua configurazione git nomina un programma SSH in `GIT_SSH_COMMAND`, `GIT_SSH`, o il `core.sshCommand` della tua configurazione git, Claude Code esegue quel programma.

252* **Scorciatoia GitHub `owner/repo`**: Claude Code controlla se la tua chiave SSH si autentica a `github.com`, quindi clona su SSH se lo fa e su HTTPS se non lo fa. Imposta [`CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1`](/docs/it/env-vars#variables) per saltare quel controllo e clonare sempre su HTTPS.253* **Scorciatoia GitHub `owner/repo`**: Claude Code controlla se la tua chiave SSH si autentica a `github.com`, quindi clona su SSH se lo fa e su HTTPS se non lo fa. Imposta [`CLAUDE_CODE_PLUGIN_PREFER_HTTPS=1`](/docs/it/env-vars#variables) per saltare quel controllo e clonare sempre su HTTPS.

253 254 

254Le stesse credenziali si applicano quando esegui `/plugin install`, `/plugin marketplace update` e `claude plugin update`.255Le stesse credenziali si applicano quando esegui `/plugin install`, `/plugin marketplace update` e `claude plugin update`.


288 289 

289* Digita per filtrare per nome o descrizione.290* Digita per filtrare per nome o descrizione.

290* Premi **Space** per abilitare o disabilitare il plugin selezionato, e **f** per contrassegnarlo come preferito.291* Premi **Space** per abilitare o disabilitare il plugin selezionato, e **f** per contrassegnarlo come preferito.

291* Premi **Enter** per aprire i dettagli di un plugin. Il menu lì offre **Disable plugin** o **Enable plugin**, **Update now** e **Uninstall**. I plugin che accettano impostazioni offrono anche **Configure options**.292* Premi **Enter** per aprire i dettagli di un plugin.

293 

294Un menu dei dettagli di un plugin offre **Disable plugin** o **Enable plugin**, **Update now** e **Uninstall**. Appaiono altri due elementi per i plugin che accettano impostazioni, e un plugin può mostrare entrambi:

295 

296* **Configure options**: mostrato quando il manifest del plugin dichiara opzioni [`userConfig`](/docs/it/plugins/manifest-reference#user-configuration). Apre la finestra di dialogo per quelle opzioni

297* **Configure**: mostrato quando il plugin include un [server MCP in bundle](/docs/it/plugins/components#include-a-packaged-mcpb-server). Imposta le impostazioni `user_config` di quel server

292 298 

293La scheda può anche mostrare plugin a livello **Managed**. La tua organizzazione li ha installati attraverso [impostazioni gestite](/docs/it/settings#settings-files), e non puoi abilitarli, disabilitarli o disinstallarli qui.299La scheda può anche mostrare plugin a livello **Managed**. La tua organizzazione li ha installati attraverso [impostazioni gestite](/docs/it/settings#settings-files), e non puoi abilitarli, disabilitarli o disinstallarli qui.

294 300 

Details

201 201 

202Un'aggiunta riuscita stampa `Successfully added marketplace: <name>`.202Un'aggiunta riuscita stampa `Successfully added marketplace: <name>`.

203 203 

204<h3 id="invalid-git-url">

205 `Invalid git URL`

206</h3>

207 

208È stato aggiunto un marketplace, installato un plugin o eseguito un aggiornamento da un indirizzo git e il comando è fallito con `Invalid git URL` nel suo messaggio.

209 

210Claude Code controlla ogni indirizzo git prima di eseguire git. Rifiuta un indirizzo il cui protocollo non supporta. Rifiuta anche un indirizzo che git potrebbe leggere come denominazione di un server o cartella diversa da quella che l'indirizzo mostra.

211 

212Il testo dopo l'indirizzo nomina cosa cambiare. Riscrivere l'indirizzo come il messaggio dice ed eseguire di nuovo il comando.

213 

214Un rifiuto che invece dice `is blocked by enterprise policy` proviene dalle impostazioni dell'organizzazione. Vedere [Marketplace source is blocked by enterprise policy](#marketplace-source-is-blocked-by-enterprise-policy).

215 

204<h3 id="path-does-not-exist">216<h3 id="path-does-not-exist">

205 `Path does not exist: <path>`217 `Path does not exist: <path>`

206</h3>218</h3>


410 422 

411`claude plugin install` nella shell stampa un messaggio diverso. Per un plugin già installato nello scope di destinazione, stampa `Plugin "<name>@<marketplace>" is already installed (scope: user)` ed esce con 0. Se la sua directory di cache è mancante, lo stesso comando la scarica di nuovo.423`claude plugin install` nella shell stampa un messaggio diverso. Per un plugin già installato nello scope di destinazione, stampa `Plugin "<name>@<marketplace>" is already installed (scope: user)` ed esce con 0. Se la sua directory di cache è mancante, lo stesso comando la scarica di nuovo.

412 424 

425<h3 id="plugin-would-share-its-folder">

426 `"<plugin>" was not installed: it would share its folder with "<other>"`

427</h3>

428 

429È stato installato un plugin tramite `claude plugin install`, `/plugin` o un suggerimento di installazione in una sessione e Claude Code l'ha rifiutato con questa riga o con `would share its saved data with`.

430 

431L'id del plugin rifiutato e l'id di un plugin installato si mappano sulla stessa cartella su disco: sono uguali una volta che `.` e `@` sono scritti come `-`. Su macOS e Windows, gli id che differiscono solo in maiuscole si mappano sulla stessa cartella anche. Installare entrambi metterebbe i file di un plugin nella cartella dell'altro, quindi Claude Code rifiuta e il plugin installato mantiene i suoi file.

432 

433Il messaggio nomina la via d'uscita:

434 

435* **L'altro plugin è installato**: il messaggio dice `Only one of the two can be installed.` e nomina il comando `claude plugin uninstall` o il passaggio di disinstallazione in `/plugin` che rimuove l'altro plugin. Eseguirlo, quindi installare di nuovo. Per ciò che la disinstallazione rimuove, vedere [What an uninstall deletes and keeps](/docs/it/plugins/cli-reference#what-an-uninstall-deletes-and-keeps).

436* **Entrambi gli id arrivano in un'installazione**, come un plugin e una dipendenza di cui ha bisogno: nessun ordine di installazione aiuta. Solo un manutentore del marketplace che elenca i due plugin può risolverlo, rinominandone uno. Quando i due provengono da marketplace diversi, un manutentore di uno qualsiasi di essi può.

437 

413<h3 id="this-plugin-uses-a-source-type-your-claude-code-version-does-not-suppo">438<h3 id="this-plugin-uses-a-source-type-your-claude-code-version-does-not-suppo">

414 `This plugin uses a source type your Claude Code version does not support`439 `This plugin uses a source type your Claude Code version does not support`

415</h3>440</h3>


790* **`URL is unset or invalid`**: un'opzione `${user_config.*}` che l'URL utilizza non è impostata. Eseguire `/plugin configure <plugin>` per impostarla815* **`URL is unset or invalid`**: un'opzione `${user_config.*}` che l'URL utilizza non è impostata. Eseguire `/plugin configure <plugin>` per impostarla

791* **`has an invalid MCP url`** o **`headersHelper for MCP server '<server>' references ${user_config.*}`**: la configurazione del plugin stesso è in difetto. Correggere l'`url` o `headersHelper` nella configurazione MCP del plugin o segnalarlo all'autore del plugin se il plugin non è vostro. Il caso `headersHelper` ha la sua voce sotto [plugin command references user\_config](/docs/it/errors#plugin-command-references-user-config)816* **`has an invalid MCP url`** o **`headersHelper for MCP server '<server>' references ${user_config.*}`**: la configurazione del plugin stesso è in difetto. Correggere l'`url` o `headersHelper` nella configurazione MCP del plugin o segnalarlo all'autore del plugin se il plugin non è vostro. Il caso `headersHelper` ha la sua voce sotto [plugin command references user\_config](/docs/it/errors#plugin-command-references-user-config)

792 817 

818<h4 id="bundled-mcp-server-name-was-not-started-it-needs-configuration">

819 `Bundled MCP server "<name>" was not started: it needs configuration`

820</h4>

821 

822Il plugin include il server come un [MCPB bundle](/docs/it/plugins/components#include-a-packaged-mcpb-server) che dichiara `user_config`, e un'impostazione richiesta non ha un valore salvato ancora o un valore salvato fallisce la convalida propria del bundle, quindi Claude Code salta l'avvio del server. Il resto del plugin funziona.

823 

824Selezionare il plugin sulla scheda **Installed** di `/plugin` e scegliere **Configure** per fornire i valori. Dopo aver salvato, `/plugin` mostra `Configuration saved.` e si chiude, e Claude Code ricarica i plugin come descritto sotto [Manage installed plugins](/docs/it/plugins/install#manage-installed-plugins). Il server si avvia una volta che quel ricaricamento si applica. Prima della v2.1.285, Claude Code saltava il server senza mostrare questa riga.

825 

793<h4 id="server-is-configured-but-never-connects">826<h4 id="server-is-configured-but-never-connects">

794 Server is configured but never connects827 Server is configured but never connects

795</h4>828</h4>


841Un language server che non è configurato per lo spazio di lavoro può segnalare importazioni non risolte per i pacchetti interni. Non c'è nulla da correggere dal lato di Claude Code e le diagnostiche non impediscono a Claude di modificare il codice.874Un language server che non è configurato per lo spazio di lavoro può segnalare importazioni non risolte per i pacchetti interni. Non c'è nulla da correggere dal lato di Claude Code e le diagnostiche non impediscono a Claude di modificare il codice.

842 875 

843<h2 id="build-a-plugin">876<h2 id="build-a-plugin">

844 Build a plugin877 Creare un plugin

845</h2>878</h2>

846 879 

847Si sta sviluppando un plugin e lo si carica con `--plugin-dir` o lo si installa da un marketplace locale. Queste voci coprono i fallimenti che si incontrano durante lo sviluppo di un plugin. Per i controlli da eseguire dopo ogni modifica, vedere [Test and debug](/docs/it/plugins/create#test-and-debug).880Stai sviluppando un plugin e lo stai caricando con `--plugin-dir` o lo stai installando da un marketplace locale. Queste voci coprono i guasti che incontri durante lo sviluppo di un plugin. Per eseguire i controlli dopo ogni modifica, vedi [Test and debug](/docs/it/plugins/create#test-and-debug).

848 881 

849Due fallimenti che raggiungono anche gli utenti di un plugin hanno le loro voci sotto [Plugin installed but not working](#plugin-installed-but-not-working):882Due guasti che raggiungono anche gli utenti di un plugin hanno le loro voci sotto [Plugin installed but not working](#plugin-installed-but-not-working):

850 883 

851* **Un hook che non si attiva**: vedere [hooks that don't fire](#failed-to-load-hooks-from-and-hooks-that-dont-fire)884* **Un hook che non si attiva**: vedi [hooks that don't fire](#failed-to-load-hooks-from-and-hooks-that-dont-fire)

852* **Un server MCP che non si avvia**: vedere [MCP servers that don't start](#invalid-mcp-server-config-for-and-mcp-servers-that-dont-start)885* **Un server MCP che non si avvia**: vedi [MCP servers that don't start](#invalid-mcp-server-config-for-and-mcp-servers-that-dont-start)

853 886 

854<h3 id="commands-path-not-found">887<h3 id="commands-path-not-found">

855 `commands path not found: <path>`888 `commands path not found: <path>`


857 890 

858La scheda **Errors** mostra `commands path not found: <absolute path>` con la guida `Check that the path in your manifest or marketplace config is correct`. Lo stesso messaggio appare per `skills`, `agents` e `hooks`.891La scheda **Errors** mostra `commands path not found: <absolute path>` con la guida `Check that the path in your manifest or marketplace config is correct`. Lo stesso messaggio appare per `skills`, `agents` e `hooks`.

859 892 

860Claude Code ha risolto un percorso dal vostro `plugin.json` o dalla voce del marketplace rispetto alla radice del plugin e non ha trovato nulla lì. Il percorso nel messaggio è il percorso assoluto che ha controllato, quindi confrontarlo con ciò che è su disco. Correggere il percorso o creare la directory, quindi eseguire `/reload-plugins`.893Claude Code ha risolto un percorso dal tuo `plugin.json` o dalla voce del marketplace rispetto alla radice del plugin e non ha trovato nulla lì. Il percorso nel messaggio è il percorso assoluto che ha controllato, quindi confrontalo con quello su disco. Correggi il percorso o crea la directory, quindi esegui `/reload-plugins`.

861 894 

862I percorsi nel manifest sono relativi alla radice del plugin e iniziano con `./`. Un percorso che si risolve al di fuori della radice del plugin è segnalato come `<component> path escapes plugin directory` al suo posto e viene scartato.895I percorsi nel manifest sono relativi alla radice del plugin e iniziano con `./`. Un percorso che si risolve al di fuori della radice del plugin viene segnalato come `<component> path escapes plugin directory` e viene eliminato.

863 896 

864<h3 id="plugin-dir-loads-a-plugin-with-no-components">897<h3 id="plugin-dir-loads-a-plugin-with-no-components">

865 `--plugin-dir` at a marketplace root doesn't load the plugins under `plugins/`898 `--plugin-dir` in una radice del marketplace non carica i plugin sotto `plugins/`

866</h3>899</h3>

867 900 

868È stato avviato `claude --plugin-dir <path>` e non si vede alcun errore, ma le skills, gli agent e gli hooks del plugin non sono lì.901Hai avviato `claude --plugin-dir <path>` e non vedi errori, ma le skills, gli agents e gli hooks del plugin non sono lì.

869 902 

870`--plugin-dir` prende la directory radice del plugin, quella che contiene `.claude-plugin/plugin.json` e le directory dei componenti come `skills/`. Se lo si punta alla radice di un marketplace al suo posto, Claude Code non legge `marketplace.json`, quindi un plugin sotto `plugins/` non si carica e non si vede alcun errore. Prima della v2.1.281, Claude Code caricava una radice di marketplace come un plugin vuoto denominato dopo quella directory. Puntare il flag alla directory del plugin stesso:903`--plugin-dir` accetta la directory radice del plugin, quella che contiene `.claude-plugin/plugin.json` e le directory dei componenti come `skills/`. Se la punti a una radice del marketplace, Claude Code non legge `marketplace.json`, quindi un plugin sotto `plugins/` non si carica e non vedi errori. Prima della v2.1.281, Claude Code caricava una radice del marketplace come un plugin vuoto denominato dopo quella directory. Punta il flag alla directory del plugin stesso:

871 904 

872```shell theme={null}905```shell theme={null}

873claude --plugin-dir ./my-marketplace/plugins/my-plugin906claude --plugin-dir ./my-marketplace/plugins/my-plugin

874```907```

875 908 

876Quindi aprire **Installed** in `/plugin`, dove il riquadro dei dettagli del plugin elenca i suoi componenti.909Quindi apri **Installed** in `/plugin`, dove il riquadro dei dettagli del plugin elenca i suoi componenti.

877 910 

878<h3 id="files-the-plugin-references-outside-its-directory-arent-found">911<h3 id="files-the-plugin-references-outside-its-directory-arent-found">

879 Files the plugin references outside its directory aren't found912 I file a cui il plugin fa riferimento al di fuori della sua directory non vengono trovati

880</h3>913</h3>

881 914 

882Un plugin funziona dalla sua directory di origine con `--plugin-dir` ma fallisce dopo l'installazione, con errori su un percorso come `../shared-utils`.915Un plugin funziona dalla sua directory di origine con `--plugin-dir` ma fallisce dopo l'installazione, con errori su un percorso come `../shared-utils`.

883 916 

884Claude Code copia un plugin installato nella sua cache e lo carica da lì, quindi un percorso che raggiunge al di fuori della propria directory del plugin non punta a nulla nella cache. Spostare i file condivisi all'interno della directory del plugin o farvi riferimento attraverso un symlink al suo interno. Per dove è la cache e come i percorsi si risolvono, vedere [Find plugins on disk](/docs/it/plugins/loading#find-plugins-on-disk).917Claude Code copia un plugin installato nella sua cache e lo carica da lì, quindi un percorso che raggiunge al di fuori della directory del plugin stesso non punta a nulla nella cache. Sposta i file condivisi all'interno della directory del plugin o fai riferimento ad essi tramite un symlink al suo interno. Per sapere dove si trova la cache e come si risolvono i percorsi, vedi [Find plugins on disk](/docs/it/plugins/loading#find-plugins-on-disk).

885 918 

886<h3 id="claude-plugin-root-shows-forward-slashes-on-windows">919<h3 id="claude-plugin-root-shows-forward-slashes-on-windows">

887 `${CLAUDE_PLUGIN_ROOT}` shows forward slashes on Windows920 `${CLAUDE_PLUGIN_ROOT}` mostra barre oblique in avanti su Windows

888</h3>921</h3>

889 922 

890Su Windows, un hook del plugin riceve `${CLAUDE_PLUGIN_ROOT}` come `C:/Users/you/...` piuttosto che `C:\Users\you\...` e uno script che si aspettava backslash si interrompe.923Su Windows, un hook del plugin riceve `${CLAUDE_PLUGIN_ROOT}` come `C:/Users/you/...` anziché `C:\Users\you\...` e uno script che si aspettava barre oblique inverse si interrompe.

891 924 

892Claude Code esegue gli hook in forma di shell attraverso Git Bash su Windows e sostituisce la radice del plugin nella forma Win32 con barra in avanti di proposito. I builtin di Bash, gli strumenti MSYS e i binari Windows nativi accettano tutti quella forma.925Claude Code esegue gli hook in forma shell attraverso Git Bash su Windows e sostituisce la radice del plugin nella forma Win32 con barre oblique in avanti di proposito. I builtin di Bash, gli strumenti MSYS e i binari Windows nativi accettano tutti quella forma.

893 926 

894Se lo script ha bisogno di backslash, passare l'hook a una delle forme che mantengono i percorsi nativi, descritte sotto [exec form and shell form](/docs/it/hooks#exec-form-and-shell-form):927Se il tuo script ha bisogno di barre oblique inverse, passa l'hook a una delle forme che mantengono i percorsi nativi, descritte sotto [exec form and shell form](/docs/it/hooks#exec-form-and-shell-form):

895 928 

896* Un hook in forma exec, che genera il processo direttamente con un array `args`929* Un hook in forma exec, che genera il processo direttamente con un array `args`

897* Un hook con `"shell": "powershell"`930* Un hook con `"shell": "powershell"`

898 931 

899<h3 id="plugin-loads-but-its-skills-are-missing">932<h3 id="plugin-loads-but-its-skills-are-missing">

900 Plugin loads but its skills are missing933 Il plugin si carica ma le sue skills sono mancanti

901</h3>934</h3>

902 935 

903Il plugin è elencato sotto **Installed** senza errori, ma le sue skills non vengono offerte quando si digita `/`.936Il tuo plugin è elencato sotto **Installed** senza errori, ma le sue skills non vengono offerte quando digiti `/`.

904 937 

905Le skills si caricano da `skills/` alla radice del plugin e i comandi da `commands/` alla radice del plugin. Solo `plugin.json` appartiene all'interno di `.claude-plugin/` e una directory `skills/` all'interno di `.claude-plugin/` non viene scansionata. Spostare le directory alla radice del plugin ed eseguire `/reload-plugins`. Successivamente, il riquadro dei dettagli del plugin in `/plugin` elenca le skills e digitare `/` le offre.938Le skills si caricano da `skills/` alla radice del plugin e i comandi da `commands/` alla radice del plugin. Solo `plugin.json` appartiene a `.claude-plugin/` e una directory `skills/` all'interno di `.claude-plugin/` non viene scansionata. Sposta le directory alla radice del plugin ed esegui `/reload-plugins`. Successivamente, il riquadro dei dettagli del plugin in `/plugin` elenca le skills e digitando `/` le offre.

906 939 

907Ogni skill è una directory contenente `SKILL.md`. Una voce `skills` nel manifest che punta a un file `SKILL.md` piuttosto che alla sua directory è segnalata come `path is a file; skills entries must be directories containing SKILL.md`.940Ogni skill è una directory contenente `SKILL.md`. Una voce `skills` nel manifest che punta a un file `SKILL.md` anziché alla sua directory viene segnalata come `path is a file; skills entries must be directories containing SKILL.md`.

908 941 

909<h3 id="skill-loads-but-claude-never-invokes-the-skill">942<h3 id="skill-loads-but-claude-never-invokes-the-skill">

910 Skill loads but Claude never invokes the skill943 La skill si carica ma Claude non invoca mai la skill

911</h3>944</h3>

912 945 

913La skill del plugin viene eseguita quando si digita il comando `/<plugin>:<skill>` ma Claude non la invoca mai in risposta a una richiesta semplice.946La skill del tuo plugin viene eseguita quando digiti il suo comando `/<plugin>:<skill>`, ma Claude non la invoca mai in risposta a una richiesta semplice.

914 947 

915Controllare queste cause in ordine:948Controlla queste cause in ordine:

916 949 

917* **La skill imposta `disable-model-invocation: true`**: con quel campo impostato, solo voi potete invocare la skill. La skill del modello in [Create your first plugin](/docs/it/plugins/create#create-your-first-plugin) lo imposta. Rimuovere la riga da una skill che volete che Claude invochi da solo. [Control who invokes a skill](/docs/it/skills#control-who-invokes-a-skill) copre il campo950* **La skill imposta `disable-model-invocation: true`**: con quel campo impostato, solo tu puoi invocare la skill. La skill del template in [Create your first plugin](/docs/it/plugins/create#create-your-first-plugin) lo imposta. Rimuovi la riga da una skill che vuoi che Claude invochi da solo. [Control who invokes a skill](/docs/it/skills#control-who-invokes-a-skill) copre il campo

918* **La descrizione non corrisponde a come le persone chiedono**: lavorare attraverso i controlli in [Skill not triggering](/docs/it/skills#skill-not-triggering)951* **La descrizione non corrisponde a come le persone chiedono**: lavora attraverso i controlli in [Skill not triggering](/docs/it/skills#skill-not-triggering)

919* **La descrizione è troncata**: quando molte skills sono installate, Claude Code accorcia le descrizioni per adattarsi al budget dei caratteri dell'elenco, che può spogliare le parole chiave di cui Claude ha bisogno per abbinare una richiesta. Vedere [Skill descriptions are cut short](/docs/it/skills#skill-descriptions-are-cut-short)952* **La descrizione è troncata**: quando molte skills sono installate, Claude Code accorcia le descrizioni per adattarsi al budget dei caratteri dell'elenco, che può eliminare le parole chiave di cui Claude ha bisogno per abbinare una richiesta. Vedi [Skill descriptions are cut short](/docs/it/skills#skill-descriptions-are-cut-short)

920 953 

921Per misurare quanto spesso la skill si attiva su prompt realistici piuttosto che controllare uno alla volta, scrivere un caso di eval con un [grader `tool_used: Skill`](/docs/it/plugin-evals#create-your-first-eval-suite) ed eseguirlo con `claude plugin eval` dopo ogni modifica della descrizione.954Per misurare quanto spesso la skill si attiva su prompt realistici anziché controllare uno alla volta, scrivi un caso eval con un [grader `tool_used: Skill`](/docs/it/plugin-evals#create-your-first-eval-suite) ed eseguilo con `claude plugin eval` dopo ogni modifica della descrizione.

922 955 

923<h3 id="is-not-a-plugin-or-skill-folder">956<h3 id="is-not-a-plugin-or-skill-folder">

924 `<directory> is not a plugin or skill folder` from `claude plugin eval init`957 `<directory> is not a plugin or skill folder` da `claude plugin eval init`

925</h3>958</h3>

926 959 

927È stato eseguito `claude plugin eval init` da una directory che non è la radice di un plugin, come la directory home o la radice di un repository che mantiene il plugin in una sottodirectory. `init` scrive la suite sotto la directory di lavoro, quindi si ferma invece di creare una directory `evals/` che il plugin non vedrebbe mai.960Hai eseguito `claude plugin eval init` da una directory che non è la radice di un plugin, come la tua home directory o la radice di un repository che mantiene il plugin in una sottodirectory. `init` scrive la suite nella directory di lavoro, quindi si ferma invece di creare una directory `evals/` che il plugin non vedrebbe mai.

928 961 

929Cambiare alla radice del plugin, la directory che contiene `.claude-plugin/plugin.json` o il `SKILL.md` della skill ed eseguire di nuovo il comando. Per impalcare la suite da qualche parte d'altro di proposito, passare `--eval-dir`. Vedere [Test plugins with evals](/docs/it/plugin-evals).962Cambia alla radice del plugin, la directory che contiene `.claude-plugin/plugin.json` o il `SKILL.md` della skill, ed esegui di nuovo il comando. Per impalcare la suite da qualche altra parte di proposito, passa `--eval-dir`. Vedi [Test plugins with evals](/docs/it/plugin-evals).

930 963 

931<h3 id="the-userconfig-dialog-never-appears">964<h3 id="the-userconfig-dialog-never-appears">

932 The `userConfig` dialog never appears965 La finestra di dialogo `userConfig` non appare mai

933</h3>966</h3>

934 967 

935Il plugin dichiara opzioni `userConfig` ma nessuna finestra di dialogo di configurazione appare quando lo si installa.968Il tuo plugin dichiara opzioni `userConfig`, ma nessuna finestra di dialogo di configurazione appare quando lo installi.

936 969 

937L'installazione interattiva mostra la finestra di dialogo e il comando della shell prende i valori come flag al suo posto:970Se l'installazione chiede i valori dipende da dove lo esegui:

938 971 

939* **`/plugin install` in una sessione, o la scheda Discover in `/plugin`**: la finestra di dialogo fa parte di questa installazione interattiva972* **`/plugin install` in una sessione, o la scheda Discover in `/plugin`**: la finestra di dialogo fa parte di questa installazione interattiva

940* **`claude plugin install` nella shell**: non chiede mai i valori di `userConfig`. Salva tutti i valori `--config KEY=VALUE` che si passano e quando le opzioni rimangono non impostate stampa `N userConfig options not yet set — run /plugin configure <plugin>@<marketplace> in Claude Code, or pass --config KEY=VALUE.` Quando una qualsiasi delle opzioni non impostate è obbligatoria, `(M required)` segue `not yet set`.973* **La finestra di dialogo Manage plugins dell'estensione VS Code**: chiede le opzioni non impostate come un modulo dopo l'installazione. Prima della v2.1.285, l'installazione lì non mostrava alcun modulo di opzioni, quindi imposta i valori da una sessione di terminale con `/plugin configure <plugin>@<marketplace>`

974* **`claude plugin install` nella tua shell**: non chiede mai i valori `userConfig`. Salva tutti i valori `--config KEY=VALUE` che passi e quando le opzioni rimangono non impostate stampa `N userConfig options not yet set — run /plugin configure <plugin>@<marketplace> in Claude Code, or pass --config KEY=VALUE.` Quando una qualsiasi delle opzioni non impostate è obbligatoria, `(M required)` segue `not yet set`.

941 975 

942Se è stato installato dalla shell, passare i valori con `--config`, un flag per opzione:976Se hai installato dalla shell, passa i valori con `--config`, un flag per opzione:

943 977 

944```shell theme={null}978```shell theme={null}

945claude plugin install my-plugin@my-marketplace --config api_url=https://example.com979claude plugin install my-plugin@my-marketplace --config api_url=https://example.com

946```980```

947 981 

948Quando ogni opzione è impostata, l'output di installazione non porta alcuna riga `not yet set`. Per aprire la finestra di dialogo in seguito al suo posto, eseguire `/plugin configure my-plugin@my-marketplace` in una sessione.982Quando ogni opzione è impostata, l'output dell'installazione non contiene alcuna riga `not yet set`.

983 

984Per aprire la finestra di dialogo successivamente, esegui `/plugin configure my-plugin@my-marketplace` in una sessione. Dalla shell, [`claude plugin configure`](/docs/it/plugins/cli-reference#plugin-configure) mostra quali opzioni sono ancora non impostate e salva i valori inviati su stdin. Richiede Claude Code v2.1.285 o successivo.

985 

986Se passi una chiave `--config` che il manifest non dichiara, il plugin si installa comunque e il comando stampa `⚠ Installed, but --config not applied: --config key "<key>" isn't declared in this plugin's userConfig.` seguito dalle chiavi che il plugin dichiara.

949 987 

950Se si passa una chiave `--config` che il manifest non dichiara, il plugin si installa comunque e il comando stampa `⚠ Installed, but --config not applied: --config key "<key>" isn't declared in this plugin's userConfig.` seguito dalle chiavi che il plugin dichiara.988Per un plugin che spedisce un [file bundle MCPB](/docs/it/plugins/components#include-a-packaged-mcpb-server) che dichiara il suo `user_config`, il messaggio legge `isn't declared in this plugin's userConfig or by its bundled MCP servers.` invece, e le chiavi note includono le chiavi di quel server, scritte `<server>.<key>`. Un bundle che il manifest riferisce tramite URL non viene letto al momento dell'installazione, quindi le sue chiavi non sono elencate e il messaggio dice di configurarlo in `/plugin`. L'impostazione delle chiavi `<server>.<key>` richiede Claude Code v2.1.285 o successivo.

951 989 

952<h3 id="claude-plugin-validate-reports-errors">990<h3 id="claude-plugin-validate-reports-errors">

953 `claude plugin validate` reports errors991 `claude plugin validate` segnala errori

954</h3>992</h3>

955 993 

956È stato eseguito `claude plugin validate <path>` o `/plugin validate <path>` in una sessione e ha stampato `Found N errors` e `Validation failed`, quindi è uscito con codice 1.994Hai eseguito `claude plugin validate <path>`, o `/plugin validate <path>` in una sessione, e ha stampato `Found N errors` e `Validation failed`, quindi è uscito con codice 1.

957 995 

958Il validatore legge il manifest nel percorso che si fornisce: `.claude-plugin/plugin.json` per una directory di plugin o `.claude-plugin/marketplace.json` per una directory di marketplace. Per un marketplace, prefissa i problemi nel manifest della voce stessa con l'indice della voce, come `plugins[1] plugin.json → json: ...`.996Il validatore legge il manifest nel percorso che fornisci: `.claude-plugin/plugin.json` per una directory di plugin, o `.claude-plugin/marketplace.json` per una directory di marketplace. Per un marketplace, antepone i problemi nel manifest proprio di una voce con l'indice della voce, come `plugins[1] plugin.json → json: ...`.

959 997 

960La tabella copre i messaggi che fermano la convalida e due avvisi, `No frontmatter block found` e `Unknown field '<key>'`, che la fermano solo quando si passa `--strict`. Altri avvisi, come una descrizione mancante, non sono elencati.998La tabella copre i messaggi che fermano la convalida e due avvisi, `No frontmatter block found` e `Unknown field '<key>'`, che la fermano solo quando passi `--strict`. Altri avvisi, come una descrizione mancante, non sono elencati.

961 999 

962| Message | Cause | Fix |1000| Messaggio | Causa | Correzione |

963| :- | :- | :- |1001| :- | :- | :- |

964| `File not found: <path>` | Il percorso non ha un manifest o non esiste. | Eseguire il comando rispetto alla radice del plugin o del marketplace, la directory che contiene `.claude-plugin/`. |1002| `File not found: <path>` | Il percorso non ha manifest o non esiste. | Esegui il comando rispetto alla radice del plugin o del marketplace, la directory che contiene `.claude-plugin/`. |

965| `No manifest found in directory. Expected .claude-plugin/marketplace.json or .claude-plugin/plugin.json` | La directory non ha alcun manifest `.claude-plugin/`. | Creare il manifest o puntare alla directory giusta. |1003| `No manifest found in directory. Expected .claude-plugin/marketplace.json or .claude-plugin/plugin.json` | La directory non ha manifest `.claude-plugin/`. | Crea il manifest o punta alla directory giusta. |

966| `Invalid JSON syntax: <parse error>` | Il manifest o `hooks/hooks.json` non è JSON valido. | Correggere il JSON. Fino a quando non si corregge `hooks/hooks.json`, una sessione carica il plugin senza gli hook in quel file. |1004| `Invalid JSON syntax: <parse error>` | Il manifest o `hooks/hooks.json` non è JSON valido. | Correggi il JSON. Finché non correggi `hooks/hooks.json`, una sessione carica il plugin senza gli hook in quel file. |

967| `Path not found: <path>. The runtime loader will report this as a load failure.` | Un percorso di componente nel manifest non esiste. | Correggere il percorso o creare la directory. |1005| `Path not found: <path>. The runtime loader will report this as a load failure.` | Un percorso di componente nel manifest non esiste. | Correggi il percorso o crea la directory. |

968| `Path contains ".." which could be a path traversal attempt: <path>` | Un percorso di componente esce dalla directory del plugin. | Utilizzare percorsi all'interno della radice del plugin. |1006| `Path contains ".." which could be a path traversal attempt: <path>` | Un percorso di componente esce dalla directory del plugin. | Usa percorsi all'interno della radice del plugin. |

969| `Path is a file; skills entries must be directories containing SKILL.md` | Una voce `skills` punta a `SKILL.md` invece che alla sua directory. | Puntare alla directory padre o `.` per un `SKILL.md` a livello di radice. |1007| `Path is a file; skills entries must be directories containing SKILL.md` | Una voce `skills` punta a `SKILL.md` anziché alla sua directory. | Punta alla directory padre, o `.` per un `SKILL.md` a livello di radice. |

970| `No frontmatter block found` o `YAML frontmatter failed to parse: <error>` | Un file di skill, agent o comando ha frontmatter YAML mancante o non valido. | Aggiungere o correggere il frontmatter tra i delimitatori `---`. Segnalato durante la convalida di una directory di plugin. |1008| `No frontmatter block found` o `YAML frontmatter failed to parse: <error>` | Un file skill, agent o command ha frontmatter YAML mancante o non valido. | Aggiungi o correggi il frontmatter tra i delimitatori `---`. Segnalato durante la convalida di una directory di plugin. |

971| `Unknown field '<key>'` | Il manifest ha un campo che lo schema non definisce. | Rimuoverlo o utilizzare il nome che il messaggio suggerisce. Claude Code ignora i campi sconosciuti al momento del caricamento. |1009| `Unknown field '<key>'` | Il manifest ha un campo che lo schema non definisce. | Rimuovilo o usa il nome che il messaggio suggerisce. Claude Code ignora i campi sconosciuti al momento del caricamento. |

972 1010 

973Eseguire il comando di nuovo dopo ogni correzione fino a quando non stampa alcun errore.1011Esegui il comando di nuovo dopo ogni correzione finché non stampa errori.

974 1012 

975I campi `plugin.json` sono sul [manifest reference](/docs/it/plugins/manifest-reference) e i messaggi a livello di marketplace sono sotto [Marketplace validation errors](#marketplace-validation-errors).1013I campi `plugin.json` sono nel [manifest reference](/docs/it/plugins/manifest-reference) e i messaggi a livello di marketplace sono sotto [Marketplace validation errors](#marketplace-validation-errors).

976 1014 

977<h3 id="plugin-has-conflicting-manifests">1015<h3 id="plugin-has-conflicting-manifests">

978 `Plugin <name> has conflicting manifests`1016 `Plugin <name> has conflicting manifests`


980 1018 

981Il plugin non si carica con `Plugin <name> has conflicting manifests: both plugin.json and marketplace entry specify components.`1019Il plugin non si carica con `Plugin <name> has conflicting manifests: both plugin.json and marketplace entry specify components.`

982 1020 

983Il plugin ha il suo `plugin.json` e la sua voce del marketplace imposta `strict: false` mentre dichiara anche uno qualsiasi di `commands`, `agents`, `skills`, `hooks`, `outputStyles` o `themes`. Rimuovere quei campi dalla voce o impostare `strict: true` nella voce in modo che Claude Code li aggiunga a `plugin.json`. Vedere [Strict mode](/docs/it/plugins/marketplace-reference#strict-mode).1021Il plugin ha il suo `plugin.json` e la sua voce del marketplace imposta `strict: false` mentre dichiara anche uno qualsiasi di `commands`, `agents`, `skills`, `hooks`, `outputStyles` o `themes`. Rimuovi quei campi dalla voce o imposta `strict: true` nella voce in modo che Claude Code li aggiunga a `plugin.json`. Vedi [Strict mode](/docs/it/plugins/marketplace-reference#strict-mode).

984 1022 

985<h3 id="warning-no-commands-found-in-plugin-custom-directory">1023<h3 id="warning-no-commands-found-in-plugin-custom-directory">

986 `Warning: No commands found in plugin <name> custom directory`1024 `Warning: No commands found in plugin <name> custom directory`

987</h3>1025</h3>

988 1026 

989Quando il plugin si carica, il log `claude --debug` su `~/.claude/debug/<session-id>.txt` registra `Warning: No commands found in plugin <name> custom directory: <path>. Expected .md files or SKILL.md in subdirectories.` Nulla appare nella sessione o nella scheda **Errors**.1027Quando il plugin si carica, il log `claude --debug` in `~/.claude/debug/<session-id>.txt` registra `Warning: No commands found in plugin <name> custom directory: <path>. Expected .md files or SKILL.md in subdirectories.` Nulla appare nella sessione o nella scheda **Errors**.

990 1028 

991Il percorso `commands` nel manifest esiste ma non contiene file `.md` e nessun `SKILL.md` in una sottodirectory. Aggiungere i file di comando o rimuovere il percorso dal manifest.1029Il percorso `commands` nel manifest esiste ma non contiene file `.md` e nessun `SKILL.md` in una sottodirectory. Aggiungi i file di comando o rimuovi il percorso dal manifest.

992 1030 

993<h2 id="host-a-marketplace">1031<h2 id="host-a-marketplace">

994 Host a marketplace1032 Host a marketplace

sessions.md +20 −2

Details

29 29 

30`claude --continue` apre una [sessione in background](/docs/it/agent-view) che è terminata, ma non una ancora in esecuzione; l'apertura di sessioni in background terminate richiede Claude Code v2.1.257 o successiva. Se la tua conversazione più recente è una che hai [spostato in background](/docs/it/agent-view#send-the-session-to-the-background) ed è ancora in esecuzione lì, Claude Code esce con `Your most recent conversation is running in the background` e l'ID di quella sessione. Collegati alla sessione da [`claude agents`](/docs/it/agent-view#attach-to-a-session), oppure esegui `claude --resume` per sceglierne un'altra.30`claude --continue` apre una [sessione in background](/docs/it/agent-view) che è terminata, ma non una ancora in esecuzione; l'apertura di sessioni in background terminate richiede Claude Code v2.1.257 o successiva. Se la tua conversazione più recente è una che hai [spostato in background](/docs/it/agent-view#send-the-session-to-the-background) ed è ancora in esecuzione lì, Claude Code esce con `Your most recent conversation is running in the background` e l'ID di quella sessione. Collegati alla sessione da [`claude agents`](/docs/it/agent-view#attach-to-a-session), oppure esegui `claude --resume` per sceglierne un'altra.

31 31 

32<span id="resume-a-running-background-session" />

33 

34Quando la conversazione che riprendi con `claude --resume` o `/resume` appartiene a una [sessione in background](/docs/it/agent-view) ancora in esecuzione, Claude Code apre la sessione in esecuzione stessa. Con `--bg` sulla riga di comando, la ripresa è invece un [dispatch in background](/docs/it/agent-view#from-your-shell). Prima della v2.1.285, Claude Code rifiutava e ti diceva di aprire la sessione con `claude attach <id>`, oppure di fermarla prima con `claude stop <id>`.

35 

36* **Dal tuo shell**: `claude --resume <session>` esegue [`claude attach`](/docs/it/agent-view#attach-to-a-session) su quella sessione nello stesso terminale invece di caricare il trascritto stesso. Un prompt che passi sulla riga di comando, come in `claude --resume <session> "check the tests too"`, va alla sessione come suo prossimo turno per primo, e Claude Code stampa `Sent your prompt to the background session (<id>); opening it…` prima di collegarsi. `claude -p --resume <session> "prompt"` digitato in un terminale fa lo stesso, quindi `-p` non mantiene quella esecuzione non interattiva.

37 

38 Claude Code non apre la sessione quando la riga di comando ha uno di questi:

39 

40 * Input o output piped o reindirizzato

41 * Flag che configurano la sessione, come `--permission-mode`, `--model` o `--settings`

42 * Flag che leggono l'output, come `--output-format json` o `--json-schema`

43 * Flag che limitano o riavvolgono l'esecuzione, come `--max-turns` o `--max-budget-usd`

44 

45 Con uno di questi, o quando la [visualizzazione agent è disattivata](/docs/it/agent-view#turn-off-agent-view), Claude Code non invia nulla ed esce con stato 1, stampando che la sessione è in esecuzione in background insieme al comando `claude attach <id>` che l'apre, oppure dicendoti di trovarla in `claude agents` quando non riesce a determinare l'ID. Aggiungi `--fork-session` per riprendere una copia della conversazione. Per continuare la conversazione stessa in una sessione tua, con i tuoi flag applicati, esegui `claude stop <id>` e poi ripeti il comando.

46 

47 Un prompt che inizia con `/` o `!` non viene inviato, e neanche alcun prompt mentre la sessione attende la tua risposta a una domanda. In entrambi i casi Claude Code non apre la sessione, e il messaggio include `Your prompt was not sent to it` con il motivo.

48* **Da dentro una sessione**: `/resume` sposta la tua conversazione corrente in background e collega questo terminale alla sessione in esecuzione, stampando `Opening "<title>", running in the background (<id>)`. Premi `←` su un prompt vuoto per tornare alla visualizzazione agent, che elenca anche la conversazione che hai lasciato. Quando la conversazione corrente non può spostarsi in background, ad esempio perché sei già collegato a una sessione in background o la persistenza della sessione è disattivata, `/resume` stampa il comando `claude attach` da eseguire.

49 

32Puoi eseguire `claude --resume <session-id>` da qualsiasi directory: Claude Code cerca l'ID nella directory del progetto corrente e nei suoi git worktrees per primo, poi in ogni altro progetto su questa macchina, quindi trova una sessione che è stata avviata altrove o spostata con [`/cd`](/docs/it/commands). La ricerca tra progetti risolve l'ID solo quando esattamente un altro progetto contiene un trascritto con messaggi per esso, quindi un duplicato copiato manualmente fa sì che Claude Code segnali non trovato piuttosto che riprendere una copia arbitraria. Se nessuna sessione archiviata corrisponde all'ID, Claude Code segnala `No conversation found with session ID: <session-id>`. Prima della v2.1.223, la ricerca si fermava alla directory del progetto corrente e ai suoi git worktrees, quindi dovevi riprendere dalla directory in cui la sessione aveva lavorato per ultimo.50Puoi eseguire `claude --resume <session-id>` da qualsiasi directory: Claude Code cerca l'ID nella directory del progetto corrente e nei suoi git worktrees per primo, poi in ogni altro progetto su questa macchina, quindi trova una sessione che è stata avviata altrove o spostata con [`/cd`](/docs/it/commands). La ricerca tra progetti risolve l'ID solo quando esattamente un altro progetto contiene un trascritto con messaggi per esso, quindi un duplicato copiato manualmente fa sì che Claude Code segnali non trovato piuttosto che riprendere una copia arbitraria. Se nessuna sessione archiviata corrisponde all'ID, Claude Code segnala `No conversation found with session ID: <session-id>`. Prima della v2.1.223, la ricerca si fermava alla directory del progetto corrente e ai suoi git worktrees, quindi dovevi riprendere dalla directory in cui la sessione aveva lavorato per ultimo.

33 51 

34<h3 id="what-a-resumed-session-restores">52<h3 id="what-a-resumed-session-restores">

35 Cosa ripristina una sessione ripresa53 Cosa ripristina una sessione ripresa

36</h3>54</h3>

37 55 

38Una sessione ripresa ripristina la conversazione insieme allo stato salvato in essa:56Quando Claude Code carica una conversazione dal suo trascritto, la sessione ripresa ripristina la conversazione insieme allo stato salvato in essa:

39 57 

40* Cronologia della conversazione: la cronologia completa, incluse le chiamate agli strumenti e i risultati. Uno strumento che era ancora in esecuzione quando il processo precedente è terminato, ad esempio in un arresto anomalo, non finisce o non viene eseguito di nuovo quando riprendi. Claude vede la chiamata contrassegnata come interrotta prima che il suo risultato fosse registrato e gli viene detto di verificare se ha avuto effetto prima di eseguirla di nuovo, a meno che [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](/docs/it/env-vars#variables) non sia impostato. Prima della v2.1.281, Claude Code eliminava la chiamata interrotta dalla conversazione o la mostrava a Claude come una che hai interrotto.58* Cronologia della conversazione: la cronologia completa, incluse le chiamate agli strumenti e i risultati. Uno strumento che era ancora in esecuzione quando il processo precedente è terminato, ad esempio in un arresto anomalo, non finisce o non viene eseguito di nuovo quando riprendi. Claude vede la chiamata contrassegnata come interrotta prima che il suo risultato fosse registrato e gli viene detto di verificare se ha avuto effetto prima di eseguirla di nuovo, a meno che [`CLAUDE_CODE_RESUME_INTERRUPTED_TURN`](/docs/it/env-vars#variables) non sia impostato. Prima della v2.1.281, Claude Code eliminava la chiamata interrotta dalla conversazione o la mostrava a Claude come una che hai interrotto.

41* Modello: la sessione continua sul modello che stava utilizzando. Il modello non viene ripristinato quando è stato ritirato o non è consentito da `availableModels`, quando un flag `--model` o una variabile di ambiente della famiglia `ANTHROPIC_MODEL` ne seleziona uno al lancio, o su provider che utilizzano ID di distribuzione specifici del provider, come [Amazon Bedrock, Google Cloud's Agent Platform e Microsoft Foundry](/docs/it/third-party-integrations); vedi [configurazione del modello](/docs/it/model-config#setting-your-model) per l'ordine di risoluzione.59* Modello: la sessione continua sul modello che stava utilizzando. Il modello non viene ripristinato quando è stato ritirato o non è consentito da `availableModels`, quando un flag `--model` o una variabile di ambiente della famiglia `ANTHROPIC_MODEL` ne seleziona uno al lancio, o su provider che utilizzano ID di distribuzione specifici del provider, come [Amazon Bedrock, Google Cloud's Agent Platform e Microsoft Foundry](/docs/it/third-party-integrations); vedi [configurazione del modello](/docs/it/model-config#setting-your-model) per l'ordine di risoluzione.


51 Modalità di autorizzazione al ripristino69 Modalità di autorizzazione al ripristino

52</h4>70</h4>

53 71 

54La modalità di autorizzazione in cui Claude Code avvia una sessione ripresa dipende da come la riprendi:72La modalità di autorizzazione in cui Claude Code avvia una sessione ripresa dipende da come la riprendi. I casi di seguito si applicano quando Claude Code carica la conversazione dal suo trascritto; quando invece [apri una sessione in background ancora in esecuzione](#resume-a-running-background-session), quella sessione mantiene la modalità di autorizzazione in cui si trova.

55 73 

56* Terminale: `claude --continue`, `claude --resume <session-id>` o `claude --resume <name>` quando il nome corrisponde a una sessione, senza `-p`. Claude Code ripristina la modalità di autorizzazione in cui era la sessione, tranne nei casi nella tabella. Passa `--permission-mode` o `--dangerously-skip-permissions` per ignorare la modalità ripristinata.74* Terminale: `claude --continue`, `claude --resume <session-id>` o `claude --resume <name>` quando il nome corrisponde a una sessione, senza `-p`. Claude Code ripristina la modalità di autorizzazione in cui era la sessione, tranne nei casi nella tabella. Passa `--permission-mode` o `--dangerously-skip-permissions` per ignorare la modalità ripristinata.

57* Non interattivo: `claude -p --resume` o `claude -p --continue`. Claude Code avvia l'esecuzione nella modalità di autorizzazione in cui una nuova esecuzione `claude -p` si avvierebbe, tranne che una sessione che è terminata in modalità piano riprende in modalità piano secondo le [condizioni di seguito](#resume-in-plan-mode-with-p).75* Non interattivo: `claude -p --resume` o `claude -p --continue`. Claude Code avvia l'esecuzione nella modalità di autorizzazione in cui una nuova esecuzione `claude -p` si avvierebbe, tranne che una sessione che è terminata in modalità piano riprende in modalità piano secondo le [condizioni di seguito](#resume-in-plan-mode-with-p).

skills.md +1 −1

Details

740 740 

741* **Directory di lavoro**: Claude Code esegue ogni comando nella directory di lavoro corrente della shell della sessione. Quella directory si sposta quando Claude esegue `cd`. Utilizza [`${CLAUDE_SKILL_DIR}` o `${CLAUDE_PROJECT_DIR}`](#available-string-substitutions) nei percorsi che devono risolversi nello stesso modo ogni volta.741* **Directory di lavoro**: Claude Code esegue ogni comando nella directory di lavoro corrente della shell della sessione. Quella directory si sposta quando Claude esegue `cd`. Utilizza [`${CLAUDE_SKILL_DIR}` o `${CLAUDE_PROJECT_DIR}`](#available-string-substitutions) nei percorsi che devono risolversi nello stesso modo ogni volta.

742* **stderr**: con la shell `bash` predefinita, Claude Code unisce stderr in stdout. Tutto ciò che il comando scrive su stderr appare nel testo iniettato.742* **stderr**: con la shell `bash` predefinita, Claude Code unisce stderr in stdout. Tutto ciò che il comando scrive su stderr appare nel testo iniettato.

743* **Timeout**: ogni comando viene eseguito sotto il [timeout](/docs/it/tools-reference#timeout-and-output-limits) predefinito di 2 minuti dello strumento Bash. Quando lo strumento Bash [sposta un comando scaduto in background](/docs/it/tools-reference#background-commands), la skill viene comunque renderizzata. Il testo iniettato segnala lo spostamento e nomina l'attività in background e il file che raccoglie l'output del comando. Quando il comando è uno che lo strumento Bash non mette mai automaticamente in background, Claude Code lo termina al timeout. Quel fallimento [interrompe l'invocazione](#when-an-injected-command-fails).743* **Timeout**: ogni comando viene eseguito sotto il [timeout](/docs/it/tools-reference#timeout-and-output-limits) predefinito di 2 minuti dello strumento Bash. Quando lo strumento Bash [sposta un comando scaduto in background](/docs/it/tools-reference#foreground-commands-that-move-to-the-background), la skill viene comunque renderizzata. Il testo iniettato segnala lo spostamento e nomina l'attività in background e il file che raccoglie l'output del comando. Quando il comando è uno che lo strumento Bash non mette mai automaticamente in background, Claude Code lo termina al timeout. Quel fallimento [interrompe l'invocazione](#when-an-injected-command-fails).

744* **Dimensione dell'output**: l'output oltre il limite inline dello strumento Bash arriva come percorso file più un'anteprima breve, non testo troncato. [Output limits](/docs/it/tools-reference#output-limits) copre il limite e come regolare ogni confine.744* **Dimensione dell'output**: l'output oltre il limite inline dello strumento Bash arriva come percorso file più un'anteprima breve, non testo troncato. [Output limits](/docs/it/tools-reference#output-limits) copre il limite e come regolare ogni confine.

745 745 

746Lo strumento PowerShell applica lo stesso timeout, backgrounding e comportamento di output-ceiling ai comandi che esegue. Vedi la sezione [PowerShell tool](/docs/it/tools-reference#powershell-tool) per i suoi dettagli.746Lo strumento PowerShell applica lo stesso timeout, backgrounding e comportamento di output-ceiling ai comandi che esegue. Vedi la sezione [PowerShell tool](/docs/it/tools-reference#powershell-tool) per i suoi dettagli.

statusline.md +7 −7

Details

20Ecco un esempio di una [barra di stato multi-riga](#display-multiple-lines) che visualizza le informazioni git sulla prima riga e una barra di contesto codificata a colori sulla seconda.20Ecco un esempio di una [barra di stato multi-riga](#display-multiple-lines) che visualizza le informazioni git sulla prima riga e una barra di contesto codificata a colori sulla seconda.

21 21 

22<Frame>22<Frame>

23 <img src="https://mintcdn.com/claude-code/nibzesLaJVh4ydOq/images/statusline-multiline.png?fit=max&auto=format&n=nibzesLaJVh4ydOq&q=85&s=60f11387658acc9ff75158ae85f2ac87" alt="Una barra di stato multi-riga che mostra il nome del modello, la directory, il ramo git sulla prima riga, e una barra di progresso dell'utilizzo del contesto con costo e durata sulla seconda riga" width="776" height="212" data-path="images/statusline-multiline.png" />23 <img src="https://mintcdn.com/claude-code/HDAmBwgbrZVk0pOt/images/statusline-multiline.png?fit=max&auto=format&n=HDAmBwgbrZVk0pOt&q=85&s=a9d0a2fe8e446d80b1abc46da3f93270" alt="Una barra di stato multi-riga che mostra il nome del modello, la directory, il ramo git sulla prima riga, e una barra di progresso dell'utilizzo del contesto con costo e durata sulla seconda riga" width="1224" height="262" data-path="images/statusline-multiline.png" />

24</Frame>24</Frame>

25 25 

26Questa pagina illustra come [configurare una barra di stato di base](#set-up-a-status-line), spiega [come fluiscono i dati](#how-status-lines-work) da Claude Code al tuo script, elenca [tutti i campi che puoi visualizzare](#available-data), e fornisce [esempi pronti all'uso](#examples) per modelli comuni come lo stato git, il tracciamento dei costi e le barre di progresso.26Questa pagina illustra come [configurare una barra di stato di base](#set-up-a-status-line), spiega [come fluiscono i dati](#how-status-lines-work) da Claude Code al tuo script, elenca [tutti i campi che puoi visualizzare](#available-data), e fornisce [esempi pronti all'uso](#examples) per modelli comuni come lo stato git, il tracciamento dei costi e le barre di progresso.


93Questi esempi usano script Bash, che funzionano su macOS e Linux. Su Windows, vedi [Configurazione Windows](#windows-configuration) per esempi PowerShell e Git Bash.93Questi esempi usano script Bash, che funzionano su macOS e Linux. Su Windows, vedi [Configurazione Windows](#windows-configuration) per esempi PowerShell e Git Bash.

94 94 

95<Frame>95<Frame>

96 <img src="https://mintcdn.com/claude-code/nibzesLaJVh4ydOq/images/statusline-quickstart.png?fit=max&auto=format&n=nibzesLaJVh4ydOq&q=85&s=696445e59ca0059213250651ad23db6b" alt="Una barra di stato che mostra il nome del modello, la directory e la percentuale di contesto" width="726" height="164" data-path="images/statusline-quickstart.png" />96 <img src="https://mintcdn.com/claude-code/HDAmBwgbrZVk0pOt/images/statusline-quickstart.png?fit=max&auto=format&n=HDAmBwgbrZVk0pOt&q=85&s=88a7eab9c1038dd098ee8e284d96b7e6" alt="Una barra di stato che mostra il nome del modello, la directory e la percentuale di contesto" width="1224" height="224" data-path="images/statusline-quickstart.png" />

97</Frame>97</Frame>

98 98 

99<Steps>99<Steps>


444Visualizza il modello corrente e l'utilizzo della finestra di contesto con una barra di progresso visiva. Ogni script legge JSON da stdin, estrae il campo `used_percentage` e costruisce una barra di 10 caratteri dove i blocchi pieni (▓) rappresentano l'utilizzo:444Visualizza il modello corrente e l'utilizzo della finestra di contesto con una barra di progresso visiva. Ogni script legge JSON da stdin, estrae il campo `used_percentage` e costruisce una barra di 10 caratteri dove i blocchi pieni (▓) rappresentano l'utilizzo:

445 445 

446<Frame>446<Frame>

447 <img src="https://mintcdn.com/claude-code/nibzesLaJVh4ydOq/images/statusline-context-window-usage.png?fit=max&auto=format&n=nibzesLaJVh4ydOq&q=85&s=15b58ab3602f036939145dde3165c6f7" alt="Una barra di stato che mostra il nome del modello e una barra di progresso con percentuale" width="448" height="152" data-path="images/statusline-context-window-usage.png" />447 <img src="https://mintcdn.com/claude-code/HDAmBwgbrZVk0pOt/images/statusline-context-window-usage.png?fit=max&auto=format&n=HDAmBwgbrZVk0pOt&q=85&s=f3918a549912dc47e90f2b69e68bc847" alt="Una barra di stato che mostra il nome del modello e una barra di progresso con percentuale" width="1224" height="224" data-path="images/statusline-context-window-usage.png" />

448</Frame>448</Frame>

449 449 

450<CodeGroup>450<CodeGroup>


513Mostra il ramo git con indicatori codificati a colori per i file in staging e modificati. Questo script usa [codici di escape ANSI](https://en.wikipedia.org/wiki/ANSI_escape_code#Colors) per i colori del terminale: `\033[32m` è verde, `\033[33m` è giallo e `\033[0m` ripristina il valore predefinito.513Mostra il ramo git con indicatori codificati a colori per i file in staging e modificati. Questo script usa [codici di escape ANSI](https://en.wikipedia.org/wiki/ANSI_escape_code#Colors) per i colori del terminale: `\033[32m` è verde, `\033[33m` è giallo e `\033[0m` ripristina il valore predefinito.

514 514 

515<Frame>515<Frame>

516 <img src="https://mintcdn.com/claude-code/nibzesLaJVh4ydOq/images/statusline-git-context.png?fit=max&auto=format&n=nibzesLaJVh4ydOq&q=85&s=e656f34f90d1d9a1d0e220988914345f" alt="Una barra di stato che mostra il modello, la directory, il ramo git e indicatori codificati a colori per i file in staging e modificati" width="742" height="178" data-path="images/statusline-git-context.png" />516 <img src="https://mintcdn.com/claude-code/HDAmBwgbrZVk0pOt/images/statusline-git-context.png?fit=max&auto=format&n=HDAmBwgbrZVk0pOt&q=85&s=f13c190724d9ec7188c17cd2f98b7bf4" alt="Una barra di stato che mostra il modello, la directory, il ramo git e indicatori codificati a colori per i file in staging e modificati" width="1224" height="224" data-path="images/statusline-git-context.png" />

517</Frame>517</Frame>

518 518 

519Ogni script verifica se la directory corrente è un repository git, conta i file in staging e modificati e visualizza indicatori codificati a colori:519Ogni script verifica se la directory corrente è un repository git, conta i file in staging e modificati e visualizza indicatori codificati a colori:


611Ogni script formatta il costo come valuta e converte i millisecondi in minuti e secondi:611Ogni script formatta il costo come valuta e converte i millisecondi in minuti e secondi:

612 612 

613<Frame>613<Frame>

614 <img src="https://mintcdn.com/claude-code/nibzesLaJVh4ydOq/images/statusline-cost-tracking.png?fit=max&auto=format&n=nibzesLaJVh4ydOq&q=85&s=e3444a51fe6f3440c134bd5f1f08ad29" alt="Una barra di stato che mostra il nome del modello, il costo della sessione e la durata" width="588" height="180" data-path="images/statusline-cost-tracking.png" />614 <img src="https://mintcdn.com/claude-code/HDAmBwgbrZVk0pOt/images/statusline-cost-tracking.png?fit=max&auto=format&n=HDAmBwgbrZVk0pOt&q=85&s=925f7024c3b38be0f0eca63564bfb52f" alt="Una barra di stato che mostra il nome del modello, il costo della sessione e la durata" width="1224" height="224" data-path="images/statusline-cost-tracking.png" />

615</Frame>615</Frame>

616 616 

617<CodeGroup>617<CodeGroup>


672Il tuo script può produrre più righe per creare una visualizzazione più ricca.672Il tuo script può produrre più righe per creare una visualizzazione più ricca.

673 673 

674<Frame>674<Frame>

675 <img src="https://mintcdn.com/claude-code/nibzesLaJVh4ydOq/images/statusline-multiline.png?fit=max&auto=format&n=nibzesLaJVh4ydOq&q=85&s=60f11387658acc9ff75158ae85f2ac87" alt="Una barra di stato multi-riga che mostra il nome del modello, la directory, il ramo git sulla prima riga, e una barra di progresso dell'utilizzo del contesto con costo e durata sulla seconda riga" width="776" height="212" data-path="images/statusline-multiline.png" />675 <img src="https://mintcdn.com/claude-code/HDAmBwgbrZVk0pOt/images/statusline-multiline.png?fit=max&auto=format&n=HDAmBwgbrZVk0pOt&q=85&s=a9d0a2fe8e446d80b1abc46da3f93270" alt="Una barra di stato multi-riga che mostra il nome del modello, la directory, il ramo git sulla prima riga, e una barra di progresso dell'utilizzo del contesto con costo e durata sulla seconda riga" width="1224" height="262" data-path="images/statusline-multiline.png" />

676</Frame>676</Frame>

677 677 

678Questo esempio combina diverse tecniche: colori basati su soglie (verde sotto il 70%, giallo 70-89%, rosso 90%+), una barra di progresso e informazioni sul ramo git. Ogni istruzione `print` o `echo` crea una riga separata:678Questo esempio combina diverse tecniche: colori basati su soglie (verde sotto il 70%, giallo 70-89%, rosso 90%+), una barra di progresso e informazioni sul ramo git. Ogni istruzione `print` o `echo` crea una riga separata:


781Questo esempio crea un link cliccabile al tuo repository GitHub. Tieni premuto Cmd (macOS) o Ctrl (Windows/Linux) e fai clic per aprire il link nel tuo browser.781Questo esempio crea un link cliccabile al tuo repository GitHub. Tieni premuto Cmd (macOS) o Ctrl (Windows/Linux) e fai clic per aprire il link nel tuo browser.

782 782 

783<Frame>783<Frame>

784 <img src="https://mintcdn.com/claude-code/nibzesLaJVh4ydOq/images/statusline-links.png?fit=max&auto=format&n=nibzesLaJVh4ydOq&q=85&s=4bcc6e7deb7cf52f41ab85a219b52661" alt="Una barra di stato che mostra un link cliccabile a un repository GitHub" width="726" height="198" data-path="images/statusline-links.png" />784 <img src="https://mintcdn.com/claude-code/HDAmBwgbrZVk0pOt/images/statusline-links.png?fit=max&auto=format&n=HDAmBwgbrZVk0pOt&q=85&s=4778a144a28cb498c99d5fa018bb374a" alt="Una barra di stato che mostra un link cliccabile a un repository GitHub" width="1224" height="224" data-path="images/statusline-links.png" />

785</Frame>785</Frame>

786 786 

787Ogni script ottiene l'URL del remote git, converte il formato SSH in HTTPS e avvolge il nome del repository nei codici di escape OSC 8. La versione Bash usa `printf '%b'` che interpreta gli escape di backslash in modo più affidabile rispetto a `echo -e` su diverse shell:787Ogni script ottiene l'URL del remote git, converte il formato SSH in HTTPS e avvolge il nome del repository nei codici di escape OSC 8. La versione Bash usa `printf '%b'` che interpreta gli escape di backslash in modo più affidabile rispetto a `echo -e` su diverse shell:

tools-reference.md +37 −21

Details

154 Cosa persiste tra i comandi154 Cosa persiste tra i comandi

155</h3>155</h3>

156 156 

157* Quando Claude esegue `cd` nella sessione principale, la nuova directory di lavoro viene mantenuta per i successivi comandi Bash finché rimane all'interno della directory del progetto o di una [directory di lavoro aggiuntiva](/docs/it/permissions#working-directories) che hai aggiunto con `--add-dir`, `/add-dir`, o `additionalDirectories` nelle impostazioni. Questo include i comandi che Claude esegue in risposta ai tuoi messaggi successivi.157* Quando Claude esegue `cd` nella sessione principale, la nuova directory di lavoro viene mantenuta per i comandi Bash successivi finché rimane all'interno della directory del progetto o di una [directory di lavoro aggiuntiva](/docs/it/permissions#working-directories) che hai aggiunto con `--add-dir`, `/add-dir`, o `additionalDirectories` nelle impostazioni. Questo include i comandi che Claude esegue in risposta ai tuoi messaggi successivi.

158 * Le sessioni di subagent non mantengono mai i cambiamenti della directory di lavoro.158 * Le sessioni di subagent non mantengono mai i cambiamenti della directory di lavoro.

159 * Se `cd` finisce al di fuori di quelle directory, Claude Code ripristina la directory del progetto e aggiunge `Shell cwd was reset to <dir>` al risultato dello strumento.159 * Se `cd` finisce al di fuori di quelle directory, Claude Code ripristina la directory del progetto e aggiunge `Shell cwd was reset to <dir>` al risultato dello strumento.

160 * Per disabilitare questo mantenimento in modo che ogni comando Bash inizi nella directory del progetto, imposta `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR=1`.160 * Per disabilitare questo mantenimento in modo che ogni comando Bash inizi nella directory del progetto, imposta `CLAUDE_BASH_MAINTAIN_PROJECT_WORKING_DIR=1`.

161* Le variabili di ambiente non persistono. Un `export` in un comando non sarà disponibile nel successivo.161* Le variabili di ambiente non persistono. Un `export` in un comando non sarà disponibile nel successivo.

162* Gli alias e le funzioni shell definiti nel tuo file di avvio della shell sono disponibili. All'inizio della sessione, Claude Code esegue `~/.zshrc`, `~/.bashrc`, o `~/.profile` a seconda della tua shell, cattura gli alias, le funzioni e le opzioni shell risultanti, e le applica a ogni comando Bash.162* Gli alias e le funzioni shell definiti nel tuo file di avvio della shell sono disponibili. All'inizio della sessione, Claude Code esegue `~/.zshrc`, `~/.bashrc`, o `~/.profile` a seconda della tua shell, acquisisce gli alias, le funzioni e le opzioni della shell risultanti, e le applica a ogni comando Bash.

163 163 

164Attiva il tuo virtualenv o ambiente conda prima di avviare Claude Code. Per fare in modo che le variabili di ambiente persistano tra i comandi Bash, imposta [`CLAUDE_ENV_FILE`](/docs/it/env-vars) su uno script shell prima di avviare Claude Code, oppure usa un [hook SessionStart](/docs/it/hooks#persist-environment-variables) per popolarlo dinamicamente.164Attiva il tuo virtualenv o ambiente conda prima di avviare Claude Code. Per fare in modo che le variabili di ambiente persistano tra i comandi Bash, imposta [`CLAUDE_ENV_FILE`](/docs/it/env-vars) su uno script shell prima di avviare Claude Code, o usa un [hook SessionStart](/docs/it/hooks#persist-environment-variables) per popolarlo dinamicamente.

165 165 

166<h3 id="timeout-and-output-limits">166<h3 id="timeout-and-output-limits">

167 Limiti di timeout e output167 Limiti di timeout e output


174* `BASH_DEFAULT_TIMEOUT_MS` — il valore predefinito quando Claude non passa alcun timeout; due minuti per impostazione predefinita174* `BASH_DEFAULT_TIMEOUT_MS` — il valore predefinito quando Claude non passa alcun timeout; due minuti per impostazione predefinita

175* `BASH_MAX_TIMEOUT_MS` — con il valore predefinito, imposta il limite massimo che limita tutto ciò che Claude richiede: il limite massimo effettivo è il maggiore dei due, dieci minuti per impostazione predefinita175* `BASH_MAX_TIMEOUT_MS` — con il valore predefinito, imposta il limite massimo che limita tutto ciò che Claude richiede: il limite massimo effettivo è il maggiore dei due, dieci minuti per impostazione predefinita

176 176 

177Per un comando che Claude avvia in background, `timeout` imposta invece per quanto tempo il comando può essere eseguito lì, con il valore predefinito e il massimo separati descritti in [Comandi in background](#background-commands). Lo [strumento PowerShell](#powershell-tool) segue le stesse regole di timeout e legge le stesse due variabili.177Per un comando che Claude avvia in background, `timeout` imposta invece per quanto tempo il comando può essere eseguito lì, con il valore predefinito e massimo separato descritto in [Limite di tempo per i comandi in background](#time-limit-for-background-commands). Lo strumento [PowerShell](#powershell-tool) segue le stesse regole di timeout e legge le stesse due variabili.

178 178 

179<h4 id="output-limits">179<h4 id="output-limits">

180 Limiti di output180 Limiti di output

181</h4>181</h4>

182 182 

183Claude Code trasmette l'output di un comando a un file di lavoro mentre il comando viene eseguito; un comando il cui output supera 5 GB viene terminato. Quando il comando termina, Claude Code legge l'output da quel file, fino alla finestra di lettura descritta di seguito. Quanto dell'output raggiunge Claude inline dipende da se Claude Code tratta il risultato come un errore:183Claude Code trasmette l'output di un comando a un file di lavoro mentre il comando viene eseguito; un comando il cui output supera 5 GB viene terminato. Quando il comando termina, Claude Code legge l'output da quel file, fino alla finestra di lettura descritta di seguito. Quanto dell'output raggiunge Claude inline dipende dal fatto che Claude Code tratti il risultato come un errore:

184 184 

185| Risultato | Cosa ottiene Claude |185| Risultato | Cosa ottiene Claude |

186| :- | :- |186| :- | :- |

187| Valido | Inline fino a circa 30.000 caratteri per impostazione predefinita; oltre quello, il percorso di un file salvato nella directory della sessione e troncato oltre 64 MiB, più un'anteprima di fino ai primi 2.000 caratteri, e Claude legge o cerca il file quando ha bisogno del resto |187| Valido | Inline fino a circa 30.000 caratteri per impostazione predefinita; oltre quello, il percorso di un file salvato nella directory della sessione e troncato oltre 64 MiB, più un'anteprima di fino ai primi 2.000 caratteri, e Claude legge o cerca il file quando ha bisogno del resto |

188| Errore | Inline fino a circa 10.000 caratteri; oltre quello, un estratto di testa e coda di quella dimensione ricavato dalla finestra di lettura, senza percorso del file |188| Errore | Inline fino a circa 10.000 caratteri; oltre quello, un estratto di testa e coda di quella dimensione ricavato dalla finestra di lettura, senza percorso del file |

189 189 

190Un comando che esce con codice 1 conta come risultato valido per lo strumento Bash solo quando Claude Code riconosce il codice di uscita 1 come un risultato benigno per quel comando: `grep`, `rg`, `egrep`, `fgrep`, `find`, `diff`, `test`, e `[`, più `git diff` e `git grep`. Ogni altro comando che esce con 1 conta come errore, anche quando il codice di uscita 1 è un risultato informativo benigno: nessuna corrispondenza per `pgrep` e `jq -e`, file che differiscono per `cmp`.190Un comando che esce con 1 conta come un risultato valido per lo strumento Bash solo quando Claude Code riconosce il codice di uscita 1 come un risultato benigno per quel comando: `grep`, `rg`, `egrep`, `fgrep`, `find`, `diff`, `test`, e `[`, più `git diff` e `git grep`. Ogni altro comando che esce con 1 conta come un errore, anche quando l'uscita 1 è un risultato informativo benigno: nessuna corrispondenza per `pgrep` e `jq -e`, file che differiscono per `cmp`.

191 191 

192[`BASH_MAX_OUTPUT_LENGTH`](/docs/it/env-vars) imposta quanti caratteri di output Claude Code legge dal file di lavoro nel risultato di un comando: 30.000 per impostazione predefinita, fino a un limite massimo fisso di 150.000. Aumentalo quando i tuoi comandi superano regolarmente quella finestra, come una build dettagliata o un log completo della suite di test. Aumentarlo allarga la finestra di lettura, che è anche la finestra da cui viene ricavato l'estratto di un comando non riuscito. Non aumenta i limiti inline: un risultato valido oltre il limite inline arriva come percorso del file più anteprima indipendentemente da questa variabile.192[`BASH_MAX_OUTPUT_LENGTH`](/docs/it/env-vars) imposta quanti caratteri di output Claude Code legge dal file di lavoro nel risultato di un comando: 30.000 per impostazione predefinita, fino a un limite massimo fisso di 150.000. Aumentalo quando i tuoi comandi superano regolarmente quella finestra, come una build dettagliata o un log completo della suite di test. Aumentarlo allarga la finestra di lettura, che è anche la finestra da cui viene ricavato l'estratto di un comando non riuscito. Non aumenta i limiti inline: un risultato valido oltre il limite inline arriva come percorso del file più anteprima indipendentemente da questa variabile.

193 193 

194Per cambiare quanto di un risultato valido Claude riceve inline, imposta invece l'impostazione [`bashOutputMaxChars`](/docs/it/settings-reference#bashoutputmaxchars), fino a 128.000 caratteri. Dimensiona il limite inline e la finestra di lettura insieme, e Claude Code ignora quindi `BASH_MAX_OUTPUT_LENGTH`. Richiede Claude Code v2.1.261 o successivo.194Per modificare quanto di un risultato valido Claude riceve inline, imposta l'impostazione [`bashOutputMaxChars`](/docs/it/settings-reference#bashoutputmaxchars) invece, fino a 128.000 caratteri. Dimensiona il limite inline e la finestra di lettura insieme, e Claude Code ignora quindi `BASH_MAX_OUTPUT_LENGTH`. Richiede Claude Code v2.1.261 o successivo.

195 195 

196<h3 id="background-commands">196<h3 id="background-commands">

197 Comandi in background197 Comandi in background

198</h3>198</h3>

199 199 

200Per processi a lunga esecuzione come server di sviluppo o build di watch, Claude può impostare `run_in_background: true` per avviare il comando come attività in background e continuare a lavorare mentre viene eseguito. Elenca e arresta le attività in background con `/tasks`. Dopo che ne arresti una lì, o da un client connesso come l'app desktop, Claude procede invece di aspettare. Se un subagent ha avviato il comando, è quel subagent che procede.200Per processi a lunga esecuzione come server di sviluppo o build di watch, Claude può impostare `run_in_background: true` per avviare il comando come attività in background e continuare a lavorare mentre viene eseguito. Elenca e arresta le attività in background con `/tasks`. Dopo averlo fermato lì, o da un client connesso come l'app desktop, Claude procede invece di aspettare. Se un subagent ha avviato il comando, è quel subagent che procede.

201 201 

202Un comando che un [subagent in primo piano](/docs/it/sub-agents#run-subagents-in-foreground-or-background) ha avviato si arresta quando la sessione di quel subagent termina, indipendentemente dal fatto che sia terminata, non riuscita o sia stata interrotta. Un comando che la conversazione principale o un subagent in background ha avviato continua a essere eseguito dopo una risposta finale, finché non esce, non viene arrestato o non raggiunge il suo limite di tempo. In modalità non interattiva con il flag `-p`, i [comandi in background terminano poco dopo il risultato finale della sessione](/docs/it/headless#background-tasks-at-exit).202<h4 id="when-a-background-command-stops">

203 Quando un comando in background si ferma

204</h4>

205 

206Un comando che un [subagent in primo piano](/docs/it/sub-agents#run-subagents-in-foreground-or-background) ha avviato si ferma quando la corsa di quel subagent termina, sia che sia finita, non riuscita o interrotta. Un comando che la conversazione principale o un subagent in background ha avviato continua a essere eseguito dopo una risposta finale, finché non esce, non viene fermato, o raggiunge il suo [limite di tempo](#time-limit-for-background-commands). In modalità non interattiva con il flag `-p`, i [comandi in background terminano poco dopo il risultato finale della corsa](/docs/it/headless#background-tasks-at-exit).

207 

208<h4 id="time-limit-for-background-commands">

209 Limite di tempo per i comandi in background

210</h4>

203 211 

204I comandi Bash e PowerShell in background hanno un limite di tempo, contato dal momento in cui il comando entra in background:212I comandi Bash e PowerShell in background hanno un limite di tempo, contato dal momento in cui il comando entra in background:

205 213 

206* Un comando che Claude avvia in background ottiene 30 minuti, o il `timeout` che Claude passa con `run_in_background`, fino a un massimo di 2 ore214* Un comando che Claude avvia in background ottiene 30 minuti, o il `timeout` che Claude passa con `run_in_background`, fino a un massimo di 2 ore

207* Un comando che inizia in primo piano e poi si sposta in background, ad esempio con `Ctrl+B` o al suo timeout, ottiene 30 minuti dallo spostamento215* Un comando che inizia in primo piano e poi si sposta in background, ad esempio con `Ctrl+B` o al suo timeout, ottiene 30 minuti dalla mossa

208 216 

209Due [variabili di ambiente](/docs/it/env-vars) aumentano questi limiti, per i comandi Bash e PowerShell allo stesso modo. Entrambe accettano millisecondi, e nessuna può accorciare un limite: un valore inferiore lascia il valore predefinito di 30 minuti e il massimo di 2 ore in vigore.217Quando un comando in background raggiunge il suo limite di tempo, Claude Code lo ferma e dice a Claude perché, e Claude può avviare di nuovo il comando con un `timeout` più lungo se il lavoro ne ha ancora bisogno. L'avviso di arresto recita `Background command "<description>" was stopped after reaching its background time limit`.

218 

219<h4 id="raise-the-time-limit-for-background-commands">

220 Aumenta il limite di tempo per i comandi in background

221</h4>

222 

223Due [variabili di ambiente](/docs/it/env-vars) aumentano questi limiti, per i comandi Bash e PowerShell allo stesso modo. Entrambe prendono millisecondi, e nessuna può accorciare un limite: un valore inferiore lascia il valore predefinito di 30 minuti e il massimo di 2 ore in vigore.

210 224 

211* Imposta `BASH_DEFAULT_TIMEOUT_MS` sopra `1800000` per sostituire il valore predefinito di 30 minuti con quel valore, sia per i comandi che Claude avvia senza un `timeout` che per i comandi spostati225* Imposta `BASH_DEFAULT_TIMEOUT_MS` sopra `1800000` per sostituire il valore predefinito di 30 minuti con quel valore, sia per i comandi che Claude avvia senza un `timeout` che per i comandi spostati

212* Imposta `BASH_MAX_TIMEOUT_MS` sopra `7200000` per aumentare il massimo di 2 ore a quel valore. Impostare `BASH_DEFAULT_TIMEOUT_MS` sopra `7200000` aumenta il massimo allo stesso modo226* Imposta `BASH_MAX_TIMEOUT_MS` sopra `7200000` per aumentare il massimo di 2 ore a quel valore. Impostare `BASH_DEFAULT_TIMEOUT_MS` sopra `7200000` aumenta il massimo allo stesso modo

213 227 

214Quando un comando in background raggiunge il suo limite di tempo, Claude Code lo arresta e dice a Claude perché, e Claude può avviare di nuovo il comando con un `timeout` più lungo se il lavoro ne ha ancora bisogno. L'avviso di arresto recita `Background command "<description>" was stopped after reaching its background time limit`.228<h4 id="foreground-commands-that-move-to-the-background">

229 Comandi in primo piano che si spostano in background

230</h4>

215 231 

216Quando un comando in primo piano raggiunge il suo timeout senza terminare, Claude Code lo sposta in background invece di arrestarlo, a meno che il comando non inizi con `sleep`. Il limite di tempo di un comando spostato conta dallo spostamento, e il comando spostato di un subagent in primo piano si arresta comunque quando la sessione di quel subagent termina.232Quando un comando in primo piano raggiunge il suo timeout senza terminare, Claude Code lo sposta in background invece di fermarlo, a meno che il comando non inizi con `sleep`. Il [limite di tempo](#time-limit-for-background-commands) di un comando spostato conta dalla mossa, e il comando spostato di un subagent in primo piano si ferma comunque quando la corsa di quel subagent termina.

217 233 

218L'impostazione [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=1`](/docs/it/env-vars#variables) disabilita lo spostamento automatico in background insieme al resto della funzionalità di attività in background.234Impostare [`CLAUDE_CODE_DISABLE_BACKGROUND_TASKS=1`](/docs/it/env-vars#variables) disabilita l'auto-backgrounding insieme al resto della funzionalità delle attività in background.

219 235 

220Il risultato di un comando spostato in background indica cosa è successo:236Il risultato di un comando spostato in background afferma cosa è successo:

221 237 

222* Quando il timeout attiva lo spostamento, il risultato lo segnala esplicitamente: `Command did not complete within its 120s timeout and was moved to the background`, con i secondi che corrispondono al timeout che si è applicato, seguito dall'ID dell'attività e dal percorso del file in cui l'output viene scritto.238* Quando il timeout attiva la mossa, il risultato lo segnala esplicitamente: `Command did not complete within its 120s timeout and was moved to the background`, con i secondi che corrispondono al timeout che si è applicato, seguito dall'ID dell'attività e dal percorso del file in cui l'output viene scritto.

223* Un `cd`, `pushd`, `popd`, o `chdir` all'interno di un comando che viene spostato in background non viene mai mantenuto: il risultato afferma `Session cwd remains <dir>; directory changes made by the backgrounded command do not apply to subsequent commands.`, quindi Claude non agisce su un cambio di directory che non è avvenuto.239* Un `cd`, `pushd`, `popd`, o `chdir` all'interno di un comando che viene spostato in background non viene mai mantenuto: il risultato afferma `Session cwd remains <dir>; directory changes made by the backgrounded command do not apply to subsequent commands.`, quindi Claude non agisce su un cambio di directory che non è avvenuto.

224 240 

225<h3 id="memory-limit-on-linux-and-wsl">241<h3 id="memory-limit-on-linux-and-wsl">

226 Limite di memoria su Linux e WSL242 Limite di memoria su Linux e WSL

227</h3>243</h3>

228 244 

229Su Linux e WSL, imposta [`CLAUDE_CODE_TOOL_MEMORY_LIMIT`](/docs/it/env-vars#variables) su una dimensione come `4G` per limitare la memoria che i comandi degli strumenti Bash, PowerShell e [Monitor](#monitor-tool) possono utilizzare, in modo che una build fuori controllo non possa prendere la memoria di cui il resto della sessione ha bisogno. Richiede Claude Code v2.1.233 o successivo. Prima della v2.1.246, i comandi dello strumento Monitor venivano eseguiti al di fuori del limite.245Su Linux e WSL, imposta [`CLAUDE_CODE_TOOL_MEMORY_LIMIT`](/docs/it/env-vars#variables) su una dimensione come `4G` per limitare la memoria che i comandi degli strumenti Bash, PowerShell e [Monitor](#monitor-tool) possono utilizzare, in modo che una build in fuga non possa prendere la memoria di cui il resto della sessione ha bisogno. Richiede Claude Code v2.1.233 o successivo. Prima della v2.1.246, i comandi dello strumento Monitor venivano eseguiti al di fuori del limite.

230 246 

231* Scrivi la dimensione come un numero di byte o con un suffisso `K`, `M`, `G`, o `T`. Imposta `0`, `off`, `false`, `no`, o `none` per disattivare il limite. Claude Code ignora qualsiasi altro valore che non riesce a leggere come dimensione, come `4e9`.247* Scrivi la dimensione come un numero di byte o con un suffisso `K`, `M`, `G`, o `T`. Imposta `0`, `off`, `false`, `no`, o `none` per disattivare il limite. Claude Code ignora qualsiasi altro valore che non riesce a leggere come dimensione, come `4e9`.

232* Claude Code conta tutti i comandi Bash, PowerShell e Monitor di una sessione rispetto al limite unico, non ogni comando per conto proprio.248* Claude Code conta tutti i comandi Bash, PowerShell e Monitor di una sessione rispetto al limite unico, non ogni comando per conto proprio.

233* Claude Code applica il limite con un cgroup di memoria. Quando non riesce a configurare il cgroup, i comandi vengono eseguiti senza limite, e il log di debug da `claude --debug` spiega perché.249* Claude Code applica il limite con un cgroup di memoria. Quando non riesce a configurare il cgroup, i comandi vengono eseguiti senza un limite, e il log di debug da `claude --debug` dice perché.

234* Dopo che il primo processo che Claude Code avvia ha attivato il limite, o lo ha disattivato a causa di un valore off o di una configurazione cgroup non riuscita, Claude Code mantiene quel risultato finché non riavvii. Per applicare un valore modificato o rimosso, o una configurazione corretta, avvia di nuovo `claude`.250* Dopo che il primo processo che Claude Code avvia ha attivato il limite, o lo ha disattivato a causa di un valore off o di una configurazione cgroup non riuscita, Claude Code mantiene quel risultato finché non riavvii. Per applicare un valore modificato o rimosso, o una configurazione corretta, avvia `claude` di nuovo.

235* Quando i comandi non riescono a stare sotto il limite, il kernel termina un comando, e nulla nel suo risultato nomina il limite.251* Quando i comandi non riescono a stare sotto il limite, il kernel uccide un comando, e nulla nel suo risultato nomina il limite.

236 252 

237Claude Code può anche contare altri tipi di processi che avvia rispetto allo stesso limite. Imposta [`CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE`](/docs/it/env-vars#variables) su un elenco separato da virgole dei tipi da esentare dal limite; Claude Code applica il limite a ogni tipo non nel tuo elenco. Impostalo su `none` per limitare ogni tipo, o su `all-new` per limitare solo i comandi degli strumenti Bash, PowerShell e Monitor. Richiede Claude Code v2.1.246 o successivo. I tipi che puoi nominare:253Claude Code può anche contare altri tipi di processi che avvia rispetto allo stesso limite. Imposta [`CLAUDE_CODE_TOOL_MEMORY_CGROUP_EXCLUDE`](/docs/it/env-vars#variables) su un elenco separato da virgole dei tipi da esentare dal limite; Claude Code applica il limite a ogni tipo non nel tuo elenco. Impostalo su `none` per limitare ogni tipo, o su `all-new` per limitare solo i comandi degli strumenti Bash, PowerShell e Monitor. Richiede Claude Code v2.1.246 o successivo. I tipi che puoi nominare:

238 254 


248* **Nomi sconosciuti**: Claude Code ignora i nomi che non riconosce264* **Nomi sconosciuti**: Claude Code ignora i nomi che non riconosce

249* **Bash, PowerShell e Monitor**: Claude Code mantiene i comandi degli strumenti Bash, PowerShell e Monitor sotto il limite qualunque cosa tu elenchi265* **Bash, PowerShell e Monitor**: Claude Code mantiene i comandi degli strumenti Bash, PowerShell e Monitor sotto il limite qualunque cosa tu elenchi

250* **Variabile non impostata**: Claude Code prende l'insieme di altri tipi limitati dalla configurazione che Anthropic fornisce dal server, e quell'insieme può cambiare nel tempo, quindi imposta la variabile quando hai bisogno di un insieme che non cambia266* **Variabile non impostata**: Claude Code prende l'insieme di altri tipi limitati dalla configurazione che Anthropic fornisce dal server, e quell'insieme può cambiare nel tempo, quindi imposta la variabile quando hai bisogno di un insieme che non cambia

251* **Hook con gating delle autorizzazioni**: anche con ogni tipo limitato, Claude Code esclude dal limite un hook che può bloccare o cambiare l'esito di un'azione, e qualsiasi server MCP che tale hook chiama, quindi il kernel che termina un hook con gating delle autorizzazioni non può consentire l'azione che stava bloccando267* **Hook con gating delle autorizzazioni**: anche con ogni tipo limitato, Claude Code esclude dal limite un hook che può bloccare o modificare l'esito di un'azione, e qualsiasi server MCP che tale hook chiama, quindi il kernel che uccide un hook con gating delle autorizzazioni non può consentire l'azione che stava bloccando

252 268 

253<h2 id="edit-tool-behavior">269<h2 id="edit-tool-behavior">

254 Comportamento dello strumento Edit270 Comportamento dello strumento Edit

vs-code.md +23 −3

Details

362 362 

363Nella scheda Plugins:363Nella scheda Plugins:

364 364 

365* I **plugin installati** appaiono in alto con interruttori per abilitarli o disabilitarli365* I **plugin installati** appaiono in alto con interruttori per abilitarli o disabilitarli.

366 * Se disattivate un plugin che il file `.claude/settings.json` condiviso del vostro progetto attiva, l'estensione chiede prima: **Disable for me** lo disattiva solo per voi, mentre **Disable for everyone** modifica il file condiviso.

366* I **plugin disponibili** dai vostri marketplace configurati appaiono di seguito367* I **plugin disponibili** dai vostri marketplace configurati appaiono di seguito

367* Cercate per filtrare i plugin per nome o descrizione368* Cercate per filtrare i plugin per nome o descrizione

368* Fate clic su **Install** su qualsiasi plugin disponibile369* Fate clic su **Install** su qualsiasi plugin disponibile


373* **Install for this project**: condiviso con i collaboratori del progetto (ambito progetto)374* **Install for this project**: condiviso con i collaboratori del progetto (ambito progetto)

374* **Install locally**: solo per voi, solo in questo repository (ambito locale)375* **Install locally**: solo per voi, solo in questo repository (ambito locale)

375 376 

377Una volta completata l'installazione, un modulo chiede le [opzioni di configurazione](/docs/it/plugins/components#user-configuration) del plugin che non sono ancora impostate. Per rivedere o modificare le opzioni in seguito, fate clic sull'icona dell'ingranaggio sulla riga del plugin.

378 

379I campi di testo sensibili sono mascherati e un segreto salvato in precedenza mostra **(unchanged)**. Lasciate il campo vuoto per mantenere il valore salvato.

380 

381Dopo aver salvato le modifiche, le sessioni aperte ricaricano i loro plugin e la finestra di dialogo mostra **Restart Claude to apply plugin changes**.

382 

383<h3 id="uninstall-plugins">

384 Disinstallare i plugin

385</h3>

386 

387Ogni riga installata nomina l'[ambito](/docs/it/plugins/install#choose-an-install-scope) in cui è installata. Per disinstallare quell'installazione, fate clic sull'icona del cestino della riga. Un'icona del cestino attenuata contrassegna una riga che non potete disinstallare da questo workspace, come un plugin che la vostra organizzazione gestisce o uno installato per un altro progetto.

388 

389L'estensione chiede prima in due casi:

390 

391* **Un plugin che il file `.claude/settings.json` condiviso del vostro progetto attiva**: scegliete **Disable for me**, che mantiene il plugin installato per i vostri collaboratori, o **Uninstall for everyone**, che rimuove l'installazione del progetto con [`--keep-data`](/docs/it/plugins/cli-reference#what-an-uninstall-deletes-and-keeps), in modo che la directory dei dati salvati del plugin rimanga. Se avete già disattivato il plugin per voi stessi, l'icona del cestino rimuove la vostra installazione senza la domanda.

392* **Altrimenti, l'ultima installazione di un plugin con dati salvati**: scegliete se mantenere o eliminare i dati; **Keep** è l'impostazione predefinita

393 

376<h3 id="share-a-plugin-install-link">394<h3 id="share-a-plugin-install-link">

377 Condividere un collegamento di installazione del plugin395 Condividere un collegamento di installazione del plugin

378</h3>396</h3>


407 425 

408* Inserite un repository GitHub, un URL o un percorso locale per aggiungere un nuovo marketplace426* Inserite un repository GitHub, un URL o un percorso locale per aggiungere un nuovo marketplace

409* Fate clic sull'icona di aggiornamento per aggiornare l'elenco dei plugin di un marketplace427* Fate clic sull'icona di aggiornamento per aggiornare l'elenco dei plugin di un marketplace

410* Fate clic sull'icona del cestino per rimuovere un marketplace428* Fate clic sull'icona del cestino per rimuovere un marketplace. Rimuoverlo [disinstalla ogni plugin che avete installato da esso](/docs/it/plugins/install#manage-marketplaces), quindi una conferma nomina prima quei plugin

429 

430Le modifiche ai plugin che apportate nella finestra di dialogo si applicano immediatamente alle sessioni Claude Code aperte in quella finestra VS Code.

411 431 

412Le modifiche ai plugin che apportate nella finestra di dialogo si applicano immediatamente alle sessioni Claude Code aperte in quella finestra VS Code. Se la sessione da cui avete aperto la finestra di dialogo non riesce a ricaricare i suoi plugin, la finestra di dialogo offre di riprovare o di riavviare Claude in quella sessione.432Se la sessione da cui avete aperto la finestra di dialogo non riesce a ricaricare i suoi plugin, la finestra di dialogo offre di riprovare o di riavviare Claude in quella sessione.

413 433 

414<Note>434<Note>

415 La gestione dei plugin in VS Code utilizza gli stessi comandi CLI dietro le quinte. I plugin e i marketplace che configurate nell'estensione sono disponibili anche nella CLI, e viceversa.435 La gestione dei plugin in VS Code utilizza gli stessi comandi CLI dietro le quinte. I plugin e i marketplace che configurate nell'estensione sono disponibili anche nella CLI, e viceversa.