Correggi Shift+Invio per le nuove righe, ricevi un segnale acustico del terminale quando Claude finisce, configura tmux, abbina il tema dei colori e abilita la modalità Vim nella CLI di Claude Code.
Use this file to discover all available pages before exploring further.
Claude Code funziona in qualsiasi terminale senza configurazione. Questa pagina è per quando qualcosa di specifico non si comporta come previsto. Trova il tuo sintomo di seguito. Se tutto ti sembra già corretto, non hai bisogno di questa pagina.
Questa pagina riguarda come far inviare al tuo terminale i segnali giusti a Claude Code. Per modificare i tasti a cui Claude Code stesso risponde, consulta invece scorciatoie da tastiera.
Premere Invio invia il tuo messaggio. Per aggiungere un’interruzione di riga senza inviare, premi Ctrl+J, oppure digita \ e poi premi Invio. Entrambi funzionano in ogni terminale senza configurazione.Nella maggior parte dei terminali puoi anche premere Shift+Invio, ma il supporto varia a seconda dell’emulatore di terminale:
Terminale
Shift+Invio per nuova riga
Ghostty, Kitty, iTerm2, WezTerm, Warp, Apple Terminal, Windows Terminal
Funziona senza configurazione
VS Code, Cursor, Windsurf, Alacritty, Zed
Esegui /terminal-setup una volta
gnome-terminal, JetBrains IDEs come PyCharm e Android Studio
Non disponibile; usa Ctrl+J o \ poi Invio
Per VS Code, Cursor, Windsurf, Alacritty e Zed, /terminal-setup scrive Shift+Invio e altre scorciatoie da tastiera nel file di configurazione del terminale. In VS Code, Cursor e Windsurf imposta anche terminal.integrated.mouseWheelScrollSensitivity nelle impostazioni dell’editor per uno scorrimento più fluido in modalità a schermo intero. I binding e le impostazioni esistenti rimangono in posizione; se vedi un messaggio come VSCode terminal Shift+Enter key binding already configured, non è stata apportata alcuna modifica. Esegui /terminal-setup direttamente nel terminale host piuttosto che dentro tmux o screen, poiché ha bisogno di scrivere nella configurazione del terminale host.Se stai eseguendo dentro tmux, Shift+Invio richiede anche la configurazione tmux di seguito anche quando il terminale esterno la supporta.Per associare la nuova riga a un tasto diverso, o per scambiare il comportamento in modo che Invio inserisca una nuova riga e Shift+Invio invii, mappa le azioni chat:newline e chat:submit nel tuo file delle scorciatoie da tastiera.
Abilita le scorciatoie da tastiera Option su macOS
Alcuni scorciatoie di Claude Code utilizzano il tasto Option, come Option+Invio per una nuova riga o Option+P per cambiare modelli. Su macOS, la maggior parte dei terminali non invia Option come modificatore per impostazione predefinita, quindi questi scorciatoie non funzionano finché non lo abiliti. L’impostazione del terminale per questo è solitamente etichettata “Use Option as Meta Key”; Meta è il nome storico Unix per il tasto ora etichettato come Option o Alt.
Apple Terminal
iTerm2
VS Code
Apri Impostazioni → Profili → Tastiera e seleziona “Use Option as Meta Key”.Se hai accettato il prompt di primo avvio di Claude Code che offriva “Option+Invio per nuove righe e campanello visivo”, questo è già fatto. Quel prompt esegue /terminal-setup per te, che abilita Option come Meta e cambia il campanello audio a un flash di schermo visivo nel tuo profilo Apple Terminal.
Apri Impostazioni → Profili → Tasti → Generale e imposta il tasto Option sinistro e il tasto Option destro su “Esc+”.L’esecuzione di /terminal-setup in iTerm2 abilita “Applications in terminal may access clipboard” in Impostazioni → Generale → Selezione in modo che il comando /copy possa scrivere negli appunti di sistema. Il comando rileva iTerm2 anche quando eseguito da dentro tmux. Riavvia iTerm2 affinché la modifica abbia effetto.
Aggiungi "terminal.integrated.macOptionIsMeta": true alle tue impostazioni di VS Code.
Per Ghostty, Kitty e altri terminali, cerca un’impostazione Option-as-Alt o Option-as-Meta nel file di configurazione del terminale.
Ottieni un campanello del terminale o una notifica
Quando Claude finisce un’attività o si mette in pausa per un prompt di autorizzazione, attiva un evento di notifica. Visualizzare questo come un campanello del terminale o una notifica desktop ti consente di passare ad altro lavoro mentre un’attività lunga è in esecuzione.Per impostazione predefinita Claude Code invia una notifica desktop solo in Ghostty, Kitty e iTerm2. In altri terminali, imposta preferredNotifChannel su "terminal_bell" per far suonare il campanello del terminale, oppure configura un hook Notification per un suono personalizzato o un comando.La notifica desktop raggiunge la tua macchina locale tramite SSH, quindi una sessione remota può comunque avvertirti. Ghostty e Kitty la inoltrano al tuo centro notifiche del sistema operativo senza ulteriore configurazione. iTerm2 richiede che tu abiliti l’inoltro:
1
Apri le impostazioni di notifica di iTerm2
Vai a Impostazioni → Profili → Terminale.
2
Abilita gli avvisi
Seleziona “Notification Center Alerts”, poi fai clic su “Filter Alerts” e abilita “Send escape sequence-generated alerts”.
Se le notifiche ancora non appaiono, conferma che la tua applicazione di terminale ha il permesso di notifica nelle impostazioni del tuo sistema operativo, e se stai eseguendo dentro tmux, abilita il passthrough.
In qualsiasi terminale puoi configurare un hook Notification per riprodurre un suono o eseguire un comando personalizzato quando Claude ha bisogno della tua attenzione. Gli hook vengono eseguiti insieme alla notifica desktop piuttosto che sostituirla, quindi i terminali che non ricevono una notifica desktop, come Warp o il terminale integrato di VS Code, possono utilizzare un hook o impostare preferredNotifChannel su "terminal_bell" invece.L’esempio di seguito riproduce un suono di sistema su macOS. La guida collegata ha comandi di notifica desktop per macOS, Linux e Windows.
Quando Claude Code viene eseguito dentro tmux, due cose si rompono per impostazione predefinita: Shift+Invio invia invece di inserire una nuova riga, e le notifiche desktop e la barra di avanzamento non raggiungono mai il terminale esterno. Aggiungi queste righe a ~/.tmux.conf, poi esegui tmux source-file ~/.tmux.conf per applicarle al server in esecuzione:
~/.tmux.conf
set -g allow-passthrough onset -s extended-keys onset -as terminal-features 'xterm*:extkeys'
La riga allow-passthrough consente alle notifiche e agli aggiornamenti di avanzamento di raggiungere il terminale esterno invece di essere inghiottiti da tmux. Le righe extended-keys consentono a tmux di distinguere Shift+Invio da Invio semplice in modo che la scorciatoia della nuova riga funzioni.
Usa il comando /theme, o il selettore di tema in /config, per scegliere un tema di Claude Code che corrisponda al tuo terminale. Selezionando l’opzione auto rileva lo sfondo chiaro o scuro del tuo terminale, quindi il tema segue i cambiamenti di aspetto del sistema operativo ogni volta che il tuo terminale lo fa. Claude Code non controlla lo schema di colori del terminale stesso, che è impostato dall’applicazione del terminale.Per personalizzare ciò che appare in fondo all’interfaccia, configura una linea di stato personalizzata che mostra il modello corrente, la directory di lavoro, il ramo git o altro contesto.
I temi personalizzati richiedono Claude Code v2.1.118 o versioni successive.
Oltre ai preset incorporati, /theme elenca tutti i temi personalizzati che hai definito e tutti i temi forniti dai plugin installati. Seleziona Nuovo tema personalizzato… alla fine dell’elenco per crearne uno in modo interattivo: dai un nome al tema, quindi scegli i singoli token di colore da sovrascrivere. Premi Ctrl+E mentre un tema personalizzato è evidenziato per modificarlo.Ogni tema personalizzato è un file JSON in ~/.claude/themes/. Il nome del file senza l’estensione .json è lo slug del tema, e selezionare il tema memorizza custom:<slug> come preferenza del tema. Il file ha tre campi facoltativi:
Campo
Tipo
Descrizione
name
string
Etichetta di visualizzazione mostrata in /theme. Predefinito al nome del file slug
base
string
Preset incorporato da cui inizia il tema: dark, light, dark-daltonized, light-daltonized, dark-ansi, o light-ansi. Predefinito a dark
overrides
object
Mappa dei nomi dei token di colore ai valori di colore. I token non elencati qui passano al preset di base
I valori di colore accettano #rrggbb, #rgb, rgb(r,g,b), ansi256(n), o ansi:<name> dove <name> è uno dei 16 nomi di colore ANSI standard come red o cyanBright. I token sconosciuti e i valori di colore non validi vengono ignorati, quindi un errore di battitura non può interrompere il rendering.L’esempio seguente definisce un tema che mantiene il preset scuro ma ricolora l’accento del prompt, il testo di errore e il testo di successo:
Claude Code monitora ~/.claude/themes/ e ricarica quando un file cambia, quindi le modifiche apportate nel tuo editor si applicano a una sessione in esecuzione senza un riavvio.Il riferimento di seguito copre i token che puoi impostare in overrides. L’editor interattivo in /theme mostra gli stessi token con un’anteprima dal vivo, più alcuni accenti monouso come i colori della schermata di onboarding che vengono omessi qui.
Riferimento token di colore
L’esempio seguente combina token da diversi gruppi sottostanti: l’accento del marchio, il bordo della modalità piano, gli sfondi diff e lo sfondo del messaggio a schermo intero.
Diversi token hanno una variante shimmer accoppiata che fornisce il colore più chiaro utilizzato nel gradiente animato dello spinner. Sovrascrivi lo shimmer insieme al suo token di base se l’animazione appare non corrispondente.
claude e claudeShimmer
warning e warningShimmer
permission e permissionShimmer
promptBorder e promptBorderShimmer
inactive e inactiveShimmer
fastMode e fastModeShimmer
Ogni subagent e attività parallela viene mostrata in uno degli otto colori denominati in modo che tu possa distinguerli nella trascrizione. I nomi dei token seguono il modello <color>_FOR_SUBAGENTS_ONLY, dove <color> è red, blue, green, yellow, purple, orange, pink, o cyan. Sovrascrivi questi per cambiare l’aspetto di ogni colore denominato. Ad esempio, un subagent con color: blue nella sua definizione viene disegnato utilizzando il valore blue_FOR_SUBAGENTS_ONLY.Le parole chiave ultrathink e ultraplan nell’input del prompt vengono renderizzate con un gradiente arcobaleno a sette colori. I nomi dei token seguono il modello rainbow_<color> e rainbow_<color>_shimmer, dove <color> è red, orange, yellow, green, blue, indigo, o violet.
Se lo schermo sfarfalla o la posizione di scorrimento salta mentre Claude sta lavorando, passa alla modalità di rendering a schermo intero. Disegna su uno schermo separato che il terminale riserva per le app a schermo intero invece di aggiungere al tuo normale scrollback, il che mantiene l’utilizzo della memoria piatto e aggiunge il supporto del mouse per lo scorrimento e la selezione. In questa modalità scorri con il mouse o PageUp dentro Claude Code piuttosto che con lo scrollback nativo del tuo terminale; consulta la pagina fullscreen per come cercare e copiare.Esegui /tui fullscreen per passare nella sessione corrente con la tua conversazione intatta. Per renderlo predefinito, imposta la variabile di ambiente CLAUDE_CODE_NO_FLICKER prima di avviare Claude Code:
Quando incolla più di 10.000 caratteri nel prompt, Claude Code comprime l’input a un placeholder [Pasted text] in modo che la casella di input rimanga utilizzabile. Il contenuto completo viene comunque inviato a Claude quando invii.Il terminale integrato di VS Code può perdere caratteri da incollamenti molto grandi prima che raggiungano Claude Code, quindi preferisci flussi di lavoro basati su file lì. Per input molto grandi come interi file o lunghi log, scrivi il contenuto in un file e chiedi a Claude di leggerlo invece di incollare. Questo mantiene la trascrizione della conversazione leggibile e consente a Claude di fare riferimento al file per percorso nei turni successivi.
Modifica i prompt con le scorciatoie da tastiera Vim
Claude Code include una modalità di editing in stile Vim per l’input del prompt. Abilitala tramite /config → Editor mode, o impostando editorMode su "vim" in ~/.claude/settings.json. Imposta Editor mode di nuovo su normal per disattivarla.La modalità Vim supporta un sottoinsieme di motions in modalità NORMAL e VISUAL e operatori, come la navigazione hjkl, la selezione v/V, e d/c/y con oggetti di testo. Consulta la tabella di riferimento della modalità editor Vim per la tabella completa dei tasti. I motions Vim non sono rimappabili tramite il file delle scorciatoie da tastiera.Premere Invio invia comunque il tuo prompt in modalità INSERT, a differenza di Vim standard. Usa o o O in modalità NORMAL, o Ctrl+J, per inserire una nuova riga invece.