SpyBara
Go Premium

keybindings.md 2026-11-01 23:57 UTC to 2026-11-02 23:57 UTC

No changes for this document in this history range.

2026
Tue 10 21:57

Personalizzare le scorciatoie da tastiera

Personalizzare le scorciatoie da tastiera in Claude Code con un file di configurazione keybindings.

Claude Code supporta scorciatoie da tastiera personalizzabili. Eseguire /keybindings per creare o aprire il file di configurazione in ~/.claude/keybindings.json.

File di configurazione

Il file di configurazione delle scorciatoie da tastiera è un oggetto con un array bindings. Ogni blocco specifica un contesto e una mappa di sequenze di tasti per le azioni.

[!NOTE]

Le modifiche al file keybindings vengono rilevate automaticamente e applicate senza riavviare Claude Code.

Campo Descrizione
$schema URL dello schema JSON opzionale per l'autocompletamento dell'editor
$docs URL della documentazione opzionale
bindings Array di blocchi di binding per contesto

Questo esempio associa Ctrl+E per aprire un editor esterno nel contesto della chat e annulla l'associazione di Ctrl+S:

{
  "$schema": "https://www.schemastore.org/claude-code-keybindings.json",
  "$docs": "https://code.claude.com/docs/en/keybindings",
  "bindings": [
    {
      "context": "Chat",
      "bindings": {
        "ctrl+e": "chat:externalEditor",
        "ctrl+s": null
      }
    }
  ]
}

Contesti

Ogni blocco di binding specifica un contesto dove si applicano i binding:

Contesto Descrizione
Global Si applica ovunque nell'app
Chat Area di input della chat principale
Autocomplete Menu di autocompletamento è aperto
Settings Menu delle impostazioni
Confirmation Dialoghi di permesso e conferma
Tabs Componenti di navigazione delle schede
Help Menu della guida è visibile
Transcript Visualizzatore di trascrizione
HistorySearch Modalità di ricerca nella cronologia (Ctrl+R)
Task Un'attività è in esecuzione in primo piano
ThemePicker Dialogo di selezione del tema
Attachments Navigazione degli allegati nei dialoghi di selezione
Footer Navigazione dell'indicatore di piè di pagina (attività, team, diff, artefatti)
MessageSelector Selezione dei messaggi nella finestra di dialogo di riavvolgimento e riepilogo
DiffDialog Navigazione del visualizzatore diff
DiffPanel Il pannello diff è aperto
ModelPicker Livello di sforzo del selezionatore di modelli
EffortSlider Cursore di sforzo aperto da /effort
Select Componenti generici di selezione/elenco
Plugin Dialogo dei plugin (sfoglia, scopri, gestisci)
AbovePrompt La fascia sopra il prompt, o un pulsante al suo interno, ha il focus della tastiera
AbovePromptInput Un campo di input nella fascia sopra il prompt o nel riquadro di un mod ha il focus della tastiera
AbovePromptSelect Una selezione nella fascia sopra il prompt o nel riquadro di un mod ha il focus della tastiera
Pane Un riquadro disegnato da un mod ha il focus della tastiera
PaneField Un campo di input o una selezione nel riquadro di un mod ha il focus della tastiera
Agents Visualizzazione agente (claude agents)
Scroll Scorrimento della conversazione e selezione del testo in modalità a schermo intero

Prima della v2.1.205, un contesto Doctor e un'azione doctor:fix esistevano per la schermata diagnostica /doctor.

Azioni disponibili

Le azioni seguono il formato namespace:action, come chat:submit per inviare un messaggio o app:toggleTodos per mostrare l'elenco delle attività. Ogni contesto ha azioni specifiche disponibili.

Azioni dell'app

Azioni disponibili nel contesto Global:

Azione Predefinito Descrizione
app:interrupt Ctrl+C Annulla l'operazione corrente
app:exit Ctrl+D Esci da Claude Code. Premi due volte entro 800 ms per confermare
app:redraw (non assegnato) Forza il ridisegno del terminale
app:toggleTodos Ctrl+T Mostra o nascondi la checklist delle cose da fare di Claude. Non è la vista delle attività in background di /tasks
app:toggleTranscript Ctrl+O Attiva o disattiva la trascrizione dettagliata

Azioni della cronologia

Azioni per navigare nella cronologia dei comandi:

Azione Predefinito Descrizione
history:search Ctrl+R Apri la ricerca nella cronologia
history:previous Up Elemento precedente della cronologia
history:next Down Elemento successivo della cronologia

Azioni della chat

Azioni disponibili nel contesto Chat:

Azione Predefinito Descrizione
chat:cancel Escape Annulla l'input corrente
chat:clearInput Ctrl+L Forza un ridisegno completo dello schermo, conservando input e conversazione
chat:clearScreen Cmd+K Come chat:clearInput. Consulta Cancellare la conversazione per il comportamento di Cmd+K su iTerm2 e Terminal.app
chat:killAgents Ctrl+X Ctrl+K Arresta tutti i subagent in background in esecuzione in questa sessione e disattiva le risposte automatiche agli artefatti per il resto della sessione. Premi la scorciatoia due volte entro 3 secondi per confermare. Puoi premerla anche mentre è aperta la richiesta di permesso di un subagent in background
chat:cycleMode Shift+Tab* Scorri tra le modalità di permesso
chat:modelPicker Meta+P Apri il selettore del modello
chat:fastMode Meta+O Attiva o disattiva la modalità veloce
chat:thinkingToggle Meta+T Attiva o disattiva il ragionamento esteso
chat:submit Enter Invia il messaggio
chat:queueSubmit Ctrl+X Enter Invia il messaggio, contrassegnato per attendere il suo turno: mentre Claude sta lavorando, Claude Code lo mette in coda e non interrompe mai il turno. A differenza di chat:submit, invia la bozza anche mentre è evidenziato un suggerimento di completamento automatico. Richiede v2.1.247 o successiva
chat:sendNow Ctrl+Enter, Ctrl+X Ctrl+S Invia subito i tuoi messaggi in coda insieme alla tua bozza. Quando Claude Code invia ciò che hai messo in coda spiega cosa succede al turno su cui Claude sta lavorando. Quando non è in esecuzione nulla, il tasto invia la bozza, e in modalità shell mette solo in coda il comando. I terminali che non segnalano i tasti estesi trasmettono Ctrl+Enter come semplice Enter, quindi Ctrl+X Ctrl+S è la scorciatoia che funziona in qualsiasi terminale. Richiede v2.1.275 o successiva
chat:newline Ctrl+J Inserisci una nuova riga senza inviare
chat:undo Ctrl+_, Ctrl+Shift+- Annulla l'ultima azione
chat:externalEditor Ctrl+G, Ctrl+X Ctrl+E Apri nell'editor esterno. Anche l'input di dispatch della vista agenti segue le scorciatoie a tasto singolo di questa azione
chat:stash Ctrl+S Metti da parte il prompt corrente
chat:imagePaste Ctrl+V (Alt+V su Windows e WSL) Incolla un'immagine dagli appunti. Su WSL, entrambe le scorciatoie sono assegnate per impostazione predefinita
command:<name> (non assegnato) Esegui il comando /<name>. Ad esempio, "meta+g": "command:compact" in un blocco Chat fa sì che Meta+G esegua /compact

*Su Windows senza modalità VT (Node <24.2.0/<22.17.0, Bun <1.2.23), il valore predefinito è Meta+M.

Azioni del completamento automatico

Azioni disponibili nel contesto Autocomplete:

Azione Predefinito Descrizione
autocomplete:accept Tab Accetta il suggerimento
autocomplete:dismiss Escape Chiudi il menu
autocomplete:previous Up Suggerimento precedente
autocomplete:next Down Suggerimento successivo

Azioni di conferma

Azioni disponibili nel contesto Confirmation:

Azione Predefinito Descrizione
confirm:yes Enter Conferma l'azione
confirm:no Escape Rifiuta l'azione
confirm:previous Up Opzione precedente
confirm:next Down Opzione successiva
confirm:nextField Tab Nella finestra di dialogo /fast, attiva o disattiva la modalità veloce
confirm:previousField (non assegnato) Claude Code non risponde a questa azione, e un keybindings.json che la nomina resta valido
confirm:toggle Space Attiva o disattiva la selezione
confirm:cycleMode Shift+Tab* In una richiesta di permesso per un file, chiude un campo commento aperto; se nessun campo è aperto, seleziona l'opzione che consente l'azione per il resto della sessione, quando la richiesta offre tale opzione

*Su Windows senza modalità VT (Node <24.2.0/<22.17.0, Bun <1.2.23), il valore predefinito è Meta+M.

Prima della v2.1.257, un'azione confirm:toggleExplanation, assegnata a Ctrl+E per impostazione predefinita, mostrava una spiegazione del comando generata dal modello nelle richieste di permesso di Bash e PowerShell.

Le finestre di dialogo usano confirm:yes e confirm:no per accettare e annullare anche quando non pongono una domanda sì-o-no. Se assegni una lettera semplice come y o n in questo contesto, la lettera agisce anche sulle finestre di dialogo che non la mostrano mai come tasto. Una finestra di dialogo che mostra y e n come tasti legge quelle lettere autonomamente e non ha bisogno di alcuna assegnazione.

Nella maggior parte delle finestre di dialogo, premere Ctrl+C o Ctrl+D due volte chiude la finestra invece di uscire da Claude Code. Il suggerimento dopo la prima pressione indica se la seconda pressione chiude la finestra o esce. Entrambi i tasti sono riservati e non possono essere riassegnati.

Questo esempio assegna y a confirm:yes e n a confirm:no:

{
  "bindings": [
    {
      "context": "Confirmation",
      "bindings": {
        "y": "confirm:yes",
        "n": "confirm:no"
      }
    }
  ]
}

Con queste assegnazioni, y e n continuano a digitare lettere mentre un campo di testo ha il focus.

Prima della v2.1.280, y era assegnato anche a confirm:yes e n a confirm:no per impostazione predefinita. Se hai creato il tuo keybindings.json con /keybindings prima della v2.1.280, il file elenca entrambe le assegnazioni, che restano attive finché non elimini quelle due righe.

Azioni dei permessi

Azioni disponibili nel contesto Confirmation per le finestre di dialogo dei permessi:

Azione Predefinito Descrizione
permission:toggleDebug (non assegnato) Claude Code non risponde a questa azione, e un keybindings.json che la nomina resta valido

Azioni della trascrizione

Azioni disponibili nel contesto Transcript:

Azione Predefinito Descrizione
transcript:toggleShowAll Ctrl+E Attiva o disattiva la visualizzazione di tutti i contenuti
transcript:exit q, Ctrl+C, Escape Esci dalla vista della trascrizione

transcript:toggleShowAll si applica solo nel renderer classico; nel rendering a schermo intero, il visualizzatore della trascrizione non offre un'opzione per mostrare tutto.

Azioni della ricerca nella cronologia

Azioni disponibili nel contesto HistorySearch:

Azione Predefinito Descrizione
historySearch:next Ctrl+R Corrispondenza successiva
historySearch:accept Escape, Tab Accetta la selezione
historySearch:cancel Ctrl+C Annulla la ricerca
historySearch:execute Enter Esegui il comando selezionato
historySearch:cycleScope Ctrl+S Scorri tra gli ambiti: sessione, progetto, ovunque

I valori predefiniti di historySearch:next, historySearch:accept, historySearch:cancel e historySearch:execute si applicano alla ricerca nella cronologia in linea del renderer classico, che cerca sempre tra i prompt di tutti i progetti. historySearch:cycleScope ha effetto solo nel rendering a schermo intero, dove Ctrl+R apre invece una finestra di dialogo di ricerca e Ctrl+S ne cambia l'ambito. Gli altri tasti della finestra di dialogo sono fissi e non possono essere riassegnati: Enter o Tab inserisce la corrispondenza evidenziata nell'input del prompt e Esc annulla.

Azioni delle attività

Azioni disponibili nel contesto Task:

Azione Predefinito Descrizione
task:background Ctrl+B, Ctrl+X Ctrl+B Manda in background l'attività corrente

Azioni del tema

Azioni disponibili nel contesto ThemePicker:

Azione Predefinito Descrizione
theme:toggleSyntaxHighlighting Ctrl+T Attiva o disattiva l'evidenziazione della sintassi

Azioni della guida

Azioni disponibili nel contesto Help:

Azione Predefinito Descrizione
help:dismiss Escape Chiudi il menu della guida

Azioni delle schede

Azioni disponibili nel contesto Tabs:

Azione Predefinito Descrizione
tabs:next Tab, Right Scheda successiva
tabs:previous Shift+Tab, Left Scheda precedente

In una finestra di dialogo a schede, tabs:next e tabs:previous cambiano scheda mentre la riga delle schede ha il focus. In alcune finestre di dialogo, come /help e /sandbox, i tasti per cambiare scheda funzionano anche dall'interno del contenuto della scheda.

Up e Down spostano il focus tra la riga delle schede e il contenuto della scheda, e un elenco nel contenuto risponde ai tasti solo mentre ha il focus.

Azioni degli allegati

Azioni disponibili nel contesto Attachments:

Azione Predefinito Descrizione
attachments:next Right Allegato successivo
attachments:previous Left Allegato precedente
attachments:remove Backspace, Delete Rimuovi l'allegato selezionato
attachments:exit Down, Escape Esci dalla navigazione degli allegati

Azioni disponibili nel contesto Footer:

Azione Predefinito Descrizione
footer:next Right Elemento successivo del footer
footer:previous Left Elemento precedente del footer
footer:up Up, Ctrl+P Spostati verso l'alto nel footer (deseleziona in cima)
footer:down Down, Ctrl+N Spostati verso il basso nel footer
footer:openSelected Enter Apri l'elemento selezionato del footer
footer:clearSelection Escape Cancella la selezione del footer
footer:close x Arresta l'agente o il workflow selezionato, oppure rimuovi la sua riga se non è più in esecuzione
footer:dismiss (non assegnato) Assegnare un tasto a questa azione non ha alcun effetto, e un keybindings.json che la nomina resta valido. Prima della v2.1.281, Backspace e Delete erano assegnati a questa azione e rimuovevano dal footer il link all'artefatto selezionato.

Mentre è selezionato un elemento del footer, come una riga nel pannello degli agenti sotto il prompt, Enter lo apre anche se riassegni Enter nel contesto Chat a chat:queueSubmit o chat:newline.

Le assegnazioni Chat su tasti che il contesto Footer non assegna, come Shift+Tab per chat:cycleMode, continuano a funzionare mentre un elemento è selezionato.

Azioni del selettore dei messaggi

Nell'elenco dei messaggi del menu di riavvolgimento, ti sposti tra i messaggi e ne scegli uno con le azioni Select e i loro tasti predefiniti. Anche le tue assegnazioni Select per quelle azioni si applicano lì. Il contesto MessageSelector non ha azioni né assegnazioni predefinite proprie. Usalo per cambiare un tasto solo per questo elenco, assegnando un'azione Select come select:accept in un blocco MessageSelector.

Questo esempio assegna o alla scelta del messaggio evidenziato nel menu di riavvolgimento, senza modificare nessun altro elenco:

{
  "bindings": [
    {
      "context": "MessageSelector",
      "bindings": {
        "o": "select:accept"
      }
    }
  ]
}

Prima della v2.1.283, questo elenco ignorava le assegnazioni Select e aveva azioni proprie: messageSelector:up, messageSelector:down, messageSelector:top, messageSelector:bottom e messageSelector:select. Se il tuo keybindings.json assegna uno di questi nomi, l'assegnazione continua a funzionare in questo elenco come l'azione Select che fa la stessa cosa. Home e End saltano a una delle due estremità dell'elenco; prima della v2.1.283, tasti come Shift+K e Shift+J lo facevano per impostazione predefinita.

Azioni del diff

Queste azioni raggiungono solo il precedente visualizzatore di diff di Claude Code, che /diff apre al di fuori del rendering a schermo intero dopo aver disabilitato il mod cc-plugin-diff in /plugin. Finché quel mod è abilitato, /diff apre invece la finestra di dialogo del diff. Un keybindings.json che nomina queste azioni viene caricato senza errori in entrambi i casi.

Azioni disponibili nel contesto DiffDialog:

Azione Predefinito Descrizione
diff:dismiss Escape Chiudi il visualizzatore di diff; dalla vista dettagliata, torna invece all'elenco dei file
diff:previousSource Left Origine del diff precedente
diff:nextSource Right Origine del diff successiva
diff:previousFile Up, K File precedente nell'elenco dei file; scorri in su di una riga nella vista dettagliata
diff:nextFile Down, J File successivo nell'elenco dei file; scorri in giù di una riga nella vista dettagliata
diff:back (non assegnato) Torna indietro nel visualizzatore di diff. Escape esegue l'azione di ritorno tramite diff:dismiss. Il precedente valore predefinito Left nella vista dettagliata è stato rimosso nella v2.1.203

L'elenco dei file risponde anche alle azioni Select, tramite i loro tasti predefiniti e le tue assegnazioni Select. select:previous e select:next passano al file precedente e successivo, e Enter apre il diff del file selezionato tramite select:accept. Per cambiare uno di questi tasti solo per l'elenco dei file, assegna l'azione Select in un blocco DiffDialog.

Prima della v2.1.283, l'elenco dei file ignorava le assegnazioni Select, e Enter apriva il diff del file selezionato tramite un'azione separata diff:viewDetails. Se il tuo keybindings.json assegna diff:viewDetails, l'assegnazione continua a funzionare nell'elenco dei file come select:accept.

La vista dettagliata del diff assegna anche tasti in stile pager alle azioni di scorrimento standard. Queste assegnazioni fanno parte del contesto DiffDialog e si applicano solo nella vista dettagliata; i valori predefiniti del contesto Scroll elencati in Azioni di scorrimento restano invariati.

Azione Predefinito Descrizione
scroll:pageUp PageUp Scorri in su di mezza area visibile
scroll:pageDown PageDown Scorri in giù di mezza area visibile
scroll:fullPageUp Shift+Space, B Scorri in su di un'intera area visibile
scroll:fullPageDown Space Scorri in giù di un'intera area visibile
scroll:top G, Home Salta all'inizio
scroll:bottom Shift+G, End Salta alla fine

Azioni del pannello del diff

Azioni per il pannello del diff che /diff apre nel rendering a schermo intero. app:cycleDiffBase è nel contesto DiffPanel, attivo mentre il pannello è aperto; le altre sono Global.

Il mod cc-plugin-diff integrato disegna questo pannello e gestisce app:cycleDiffBase, app:diffFileListUp e app:diffFileListDown. app:toggleReplTab, app:toggleDiffNoiseFilter e app:toggleDiffPreSession raggiungono solo il precedente pannello di Claude Code, che /diff apre dopo aver disabilitato cc-plugin-diff in /plugin.

Azione Predefinito Descrizione
app:toggleReplTab (non assegnato) Apri o chiudi il pannello del diff
app:cycleDiffBase Ctrl+X B Scorri tra le basi di confronto del pannello: questa sessione, modifiche non sottoposte a commit, quindi branch
app:diffFileListUp Ctrl+Up, Meta+Up Scorri in su l'elenco dei file del pannello quando eccede lo spazio disponibile
app:diffFileListDown Ctrl+Down, Meta+Down Scorri in giù l'elenco dei file del pannello quando eccede lo spazio disponibile
app:toggleDiffNoiseFilter (non assegnato) Mostra o nascondi i file di test e generati nel pannello
app:toggleDiffPreSession (non assegnato) Espandi o comprimi le modifiche precedenti a questa sessione

Azioni del selettore del modello

Azioni disponibili nel contesto ModelPicker:

Azione Predefinito Descrizione
modelPicker:decreaseEffort Left Riduci il livello di sforzo
modelPicker:increaseEffort Right Aumenta il livello di sforzo
modelPicker:thisSessionOnly s Applica il modello evidenziato solo a questa sessione

Azioni del cursore dello sforzo

Azioni disponibili nel contesto EffortSlider, il cursore che si apre quando esegui /effort senza argomenti. I tasti Enter ed Escape del cursore non possono essere riassegnati.

Azione Predefinito Descrizione
effortSlider:decreaseEffort Left Sposta il cursore al livello di sforzo immediatamente inferiore. Richiede v2.1.284 o successiva
effortSlider:increaseEffort Right Sposta il cursore al livello di sforzo immediatamente superiore. Richiede v2.1.284 o successiva
effortSlider:toggleUltracode Tab Attiva o disattiva ultracode per questa sessione, quando il cursore lo offre. Richiede v2.1.284 o successiva
effortSlider:thisSessionOnly s Applica il livello di sforzo attivo solo a questa sessione. Richiede v2.1.257 o successiva

Azioni Select

Azioni disponibili nel contesto Select:

Azione Predefinito Descrizione
select:next Down, J, Ctrl+N Opzione successiva
select:previous Up, K, Ctrl+P Opzione precedente
select:pageUp PageUp Sali di una pagina di opzioni
select:pageDown PageDown Scendi di una pagina di opzioni
select:first Home Prima opzione
select:last End Ultima opzione
select:accept Enter Accetta la selezione
select:cancel Escape Annulla la selezione

Nei pannelli a elenco come /skills, /mcp e /tasks, Claude Code applica le tue assegnazioni select:pageUp, select:pageDown, select:first e select:last. Nella maggior parte degli altri elenchi, come il selettore /model, si applicano le tue assegnazioni select:first e select:last. PageUp e PageDown scorrono le opzioni di quegli elenchi indipendentemente dalle tue assegnazioni.

Prima della v2.1.280, quegli altri elenchi ignoravano Home, End e le tue assegnazioni select:first e select:last.

Prima della v2.1.283, l'elenco degli strumenti di /mcp scorreva per pagine con tasti PageUp e PageDown fissi, indipendentemente dalle tue assegnazioni.

Azioni dei plugin

Azioni disponibili nel contesto Plugin:

Azione Predefinito Descrizione
plugin:toggle Space Attiva o disattiva la selezione del plugin
plugin:install I Installa i plugin selezionati
plugin:favorite F Aggiungi ai preferiti il plugin selezionato, in modo che venga ordinato vicino all'inizio della scheda Installed

Azioni sopra il prompt

Azioni per la fascia sopra il prompt, la striscia condivisa in cui i mod disegnano pulsanti, campi di input e menu di selezione. abovePrompt:toggle e abovePrompt:focus si applicano nel contesto Chat. Le altre azioni si applicano nel contesto dell'elemento che ha il focus della tastiera nella fascia o in un riquadro.

Azione Predefinito Descrizione
abovePrompt:toggle Ctrl+X Ctrl+A Comprimi la fascia in un suggerimento di una riga, o espandila di nuovo
abovePrompt:focus Ctrl+X Tab Sposta il focus della tastiera nella fascia, poi su ciascun riquadro aperto, e dall'ultimo riquadro di nuovo al prompt
abovePrompt:next Tab Porta il focus sul controllo successivo
abovePrompt:previous Shift+Tab Porta il focus sul controllo precedente
abovePrompt:press Enter Premi il pulsante attivo, invia il campo di input attivo o scegli l'opzione evidenziata in un menu di selezione
abovePrompt:leave Escape Riporta il focus della tastiera al prompt
abovePrompt:highlightNext Down Evidenzia l'opzione successiva in un menu di selezione attivo
abovePrompt:highlightPrevious Up Evidenzia l'opzione precedente in un menu di selezione attivo

Nel contesto AbovePrompt, anche Right e Left eseguono abovePrompt:next e abovePrompt:previous per impostazione predefinita, e anche Space esegue abovePrompt:press.

Il contesto AbovePrompt assegna anche Up, Down, PageUp, PageDown, Home ed End alle azioni di scorrimento del riquadro da pane:scrollUp a pane:bottom, quindi per cambiare uno di questi tasti per la fascia, assegna l'azione di scorrimento in un blocco AbovePrompt.

Azioni del riquadro

Azioni per un riquadro disegnato da un mod. Le azioni di scorrimento, ridimensionamento e chiusura si applicano nel contesto Pane. pane:close si applica anche nel contesto PaneField, quindi funziona mentre uno dei campi del riquadro ha il focus. pane:next e pane:previous si applicano nel contesto Global quando è aperto più di un riquadro.

Azione Predefinito Descrizione
pane:scrollUp Up Scorri in su il riquadro quando ha più righe di quante ne possa mostrare
pane:scrollDown Down Scorri in giù il riquadro quando ha più righe di quante ne possa mostrare
pane:pageUp PageUp Scorri in su il riquadro di una pagina
pane:pageDown PageDown Scorri in giù il riquadro di una pagina
pane:top Home Salta all'inizio del riquadro
pane:bottom End Salta alla fine del riquadro
pane:grow Ctrl+X Left, Ctrl+X Up Dai più spazio al riquadro: in larghezza quando si trova accanto alla trascrizione, in altezza quando si trova sopra il prompt
pane:shrink Ctrl+X Right, Ctrl+X Down Dai meno spazio al riquadro: in larghezza quando si trova accanto alla trascrizione, in altezza quando si trova sopra il prompt
pane:close Ctrl+X X Chiudi il riquadro
pane:next (non assegnato) Mostra il riquadro aperto successivo
pane:previous (non assegnato) Mostra il riquadro aperto precedente

Il contesto Pane assegna anche Tab, Shift+Tab, Enter ed Escape alle stesse azioni sopra il prompt della fascia, e i campi di input e i menu di selezione di un riquadro usano i contesti AbovePromptInput e AbovePromptSelect. Focus della tastiera e tasti di scelta elenca cosa fa ciascun tasto in un riquadro.

Azioni delle impostazioni

Azioni disponibili nel contesto Settings. Le azioni select:accept e confirm:no sono riutilizzate dai contesti Select e Confirmation con un comportamento specifico per le impostazioni: le modifiche si applicano a ciascuna impostazione non appena la cambi, quindi Escape chiude il pannello con le modifiche salvate anziché rifiutarle.

Azione Predefinito Descrizione
settings:search / Entra in modalità di ricerca
settings:retry R Riprova a caricare i dati di utilizzo in caso di errore
settings:fixUsage F Invia alla tua sessione i suggerimenti di /usage che Claude Code può applicare, quando il footer di /usage offre una correzione. Richiede v2.1.305 o successiva
select:accept Enter, Space Modifica l'impostazione selezionata o apri il suo sottomenu
confirm:no Escape Chiudi il pannello. Le modifiche sono già salvate

Azioni degli agenti

Azioni disponibili nel contesto Agents, che si applica nella vista agenti, aperta con claude agents. Richiede v2.1.257 o successiva.

Azione Predefinito Descrizione
agents:switchView Ctrl+S Cambia il raggruppamento delle sessioni tra stato e directory
agents:togglePin Ctrl+T Fissa o sblocca la sessione selezionata
agents:find Ctrl+F Trova le sessioni per nome, con il filtro n:. Richiede v2.1.288 o successiva
agents:rename Ctrl+R Rinomina la sessione selezionata. Richiede v2.1.288 o successiva
agents:previousGroup Ctrl+Up, Meta+Up Salta all'intestazione di gruppo precedente. Richiede v2.1.288 o successiva
agents:nextGroup Ctrl+Down, Meta+Down Salta all'intestazione di gruppo successiva. Richiede v2.1.288 o successiva

Mentre la vista agenti è aperta, Claude Code usa l'assegnazione Agents per qualsiasi tasto assegnato dal contesto Agents, e ignora un'assegnazione Chat o Global sullo stesso tasto. Ad esempio, premendo Ctrl+S nella vista agenti si cambia il raggruppamento delle sessioni anziché attivare il chat:stash predefinito.

La scorciatoia dell'editor esterno dell'input di dispatch non è un'azione Agents. La vista agenti segue l'assegnazione chat:externalEditor del contesto Chat, Ctrl+G per impostazione predefinita.

Nella vista agenti le assegnazioni si attivano con singole pressioni di tasto, quindi la combinazione Ctrl+X Ctrl+E assegnata a chat:externalEditor non apre l'editor in quella vista.

Azioni vocali

Azioni disponibili nel contesto Chat quando la dettatura vocale è abilitata:

Azione Predefinito Descrizione
voice:pushToTalk Space Detta un prompt. Tieni premuto o tocca a seconda della modalità di /voice

Azioni di scorrimento

Azioni disponibili nel contesto Scroll quando il rendering a schermo intero è abilitato:

Azione Predefinito Descrizione
scroll:lineUp wheelup Scorri in su di una riga. Lo scorrimento con la rotella del mouse attiva questa azione
scroll:lineDown wheeldown Scorri in giù di una riga. Lo scorrimento con la rotella del mouse attiva questa azione
scroll:pageUp PageUp Scorri in su di metà dell'altezza dell'area visibile
scroll:pageDown PageDown Scorri in giù di metà dell'altezza dell'area visibile
scroll:top Ctrl+Home Salta all'inizio della conversazione
scroll:bottom Ctrl+End Salta all'ultimo messaggio e riattiva lo scorrimento automatico
scroll:halfPageUp (non assegnato) Scorri in su di metà dell'altezza dell'area visibile. Stesso comportamento di scroll:pageUp, fornito per le riassegnazioni in stile vi
scroll:halfPageDown (non assegnato) Scorri in giù di metà dell'altezza dell'area visibile. Stesso comportamento di scroll:pageDown, fornito per le riassegnazioni in stile vi
scroll:fullPageUp (non assegnato) Scorri in su dell'intera altezza dell'area visibile
scroll:fullPageDown (non assegnato) Scorri in giù dell'intera altezza dell'area visibile
selection:copy Ctrl+Shift+C / Cmd+C Copia il testo selezionato negli appunti
selection:clear (non assegnato) Cancella la selezione di testo attiva. Richiede v2.1.234 o successiva
selection:extendLeft Shift+Left Estendi la selezione attiva di una colonna a sinistra
selection:extendRight Shift+Right Estendi la selezione attiva di una colonna a destra
selection:extendUp Shift+Up Estendi la selezione attiva di una riga verso l'alto. Scorre l'area visibile quando la selezione raggiunge il bordo superiore
selection:extendDown Shift+Down Estendi la selezione attiva di una riga verso il basso. Scorre l'area visibile quando la selezione raggiunge il bordo inferiore
selection:extendLineStart Shift+Home Estendi la selezione attiva fino all'inizio della riga
selection:extendLineEnd Shift+End Estendi la selezione attiva fino alla fine della riga

Sintassi delle sequenze di tasti

Modificatori

Utilizzare i tasti modificatori con il separatore +:

  • ctrl o control - Tasto Control
  • shift - Tasto Shift
  • alt, opt, option, o meta - Tasto Alt su Windows e Linux, tasto Option su macOS
  • cmd, command, super, o win - Tasto Command su macOS, tasto Windows su Windows, tasto Super su Linux

Il gruppo cmd viene rilevato solo nei terminali che segnalano il modificatore Super, come quelli che supportano il protocollo della tastiera Kitty o la modalità modifyOtherKeys di xterm. La maggior parte dei terminali non lo invia, quindi utilizzare ctrl o meta per i binding che si desidera funzionino ovunque.

Ad esempio:

ctrl+k          Ctrl + K
shift+tab       Shift + Tab
meta+p          Option + P su macOS, Alt + P altrove
ctrl+shift+c    Più modificatori

Lettere maiuscole

Claude Code analizza i nomi dei tasti in modo insensibile alle maiuscole, quindi K è lo stesso binding di k e ctrl+K è lo stesso di ctrl+k. Per associare Shift e una lettera, scrivere shift+k.

Layout di tastiera non US

Scrivere i nomi dei tasti dei scorciatoie Ctrl come caratteri latini anche quando il layout di tastiera attivo digita altri caratteri.

Il modo in cui Claude Code associa il tasto premuto a un binding dipende dal tipo di layout:

  • Sotto un layout non latino come il cirillico, Claude Code associa i scorciatoie Ctrl in base alla posizione del tasto nel layout US quando il terminale utilizza il protocollo della tastiera Kitty e segnala quella posizione. In tale terminale, con un layout russo attivo, premendo Ctrl e il tasto fisico W si attiva ctrl+w. In un terminale che non segnala la posizione, Claude Code associa quello che il terminale invia per la pressione del tasto: un codice di controllo ASCII attiva il scorciatoio latino, e una pressione del tasto che arriva come carattere cirillico non corrisponde a nessun binding
  • Sotto layout che riorganizzano le lettere latine, come AZERTY, Claude Code associa la lettera che il tasto digita, quindi premendo Ctrl e il tasto etichettato A si attiva ctrl+a

Accordi

Gli accordi sono sequenze di tasti separate da spazi:

ctrl+k ctrl+s   Premi Ctrl+K, rilascia, quindi Ctrl+S

Premere ogni sequenza di tasti entro 3 secondi da quella precedente. Se si attende più a lungo, Claude Code annulla l'accordo e mostra un breve avviso che lo comunica.

Tasti speciali

  • escape o esc - Tasto Escape
  • enter o return - Tasto Invio
  • tab - Tasto Tab
  • space - Barra spaziatrice
  • up, down, left, right - Tasti freccia
  • pageup, pagedown - Tasti Pagina Su e Pagina Giù
  • home, end - Tasti Home e Fine
  • backspace, delete - Tasti Canc
  • wheelup, wheeldown - Eventi di scorrimento della rotella del mouse

Annulla l'associazione delle scorciatoie predefinite

Impostare un'azione su null per annullare l'associazione di una scorciatoia predefinita:

{
  "bindings": [
    {
      "context": "Chat",
      "bindings": {
        "ctrl+s": null
      }
    }
  ]
}

Questo funziona anche per i binding degli accordi. Annullare l'associazione di ogni accordo che condivide un prefisso libera quel prefisso per l'uso come binding a tasto singolo. Un accordo in qualsiasi contesto attivo mantiene il suo prefisso riservato, quindi è necessario annullare l'associazione di ogni accordo nel contesto che lo definisce.

Claude Code associa questi accordi predefiniti sul prefisso ctrl+x, per contesto:

  • Chat: ctrl+x ctrl+k, ctrl+x ctrl+e, ctrl+x enter, ctrl+x ctrl+a, ctrl+x ctrl+s e ctrl+x tab
  • Task: ctrl+x ctrl+b
  • DiffPanel: ctrl+x b
  • Pane: ctrl+x left, ctrl+x right, ctrl+x up, ctrl+x down e ctrl+x x
  • PaneField: ctrl+x x

L'accordo ctrl+x enter richiede v2.1.247 o successivo, ctrl+x b, ctrl+x ctrl+a e ctrl+x tab richiedono v2.1.260 o successivo, e ctrl+x ctrl+s richiede v2.1.275 o successivo.

Per reclamare ctrl+x stesso come binding a tasto singolo, annullare l'associazione di tutti loro:

{
  "bindings": [
    {
      "context": "Task",
      "bindings": {
        "ctrl+x ctrl+b": null
      }
    },
    {
      "context": "DiffPanel",
      "bindings": {
        "ctrl+x b": null
      }
    },
    {
      "context": "Pane",
      "bindings": {
        "ctrl+x left": null,
        "ctrl+x right": null,
        "ctrl+x up": null,
        "ctrl+x down": null,
        "ctrl+x x": null
      }
    },
    {
      "context": "PaneField",
      "bindings": {
        "ctrl+x x": null
      }
    },
    {
      "context": "Chat",
      "bindings": {
        "ctrl+x ctrl+k": null,
        "ctrl+x ctrl+e": null,
        "ctrl+x enter": null,
        "ctrl+x ctrl+a": null,
        "ctrl+x ctrl+s": null,
        "ctrl+x tab": null,
        "ctrl+x": "chat:newline"
      }
    }
  ]
}

Se annulli l'associazione di alcuni ma non di tutti gli accordi su un prefisso, premere il prefisso entra comunque in modalità di attesa degli accordi per i binding rimanenti.

Scorciatoie riservate

Queste scorciatoie non possono essere riassociate:

Scorciatoia Motivo
Ctrl+C Interrupt/annullamento hardcoded
Ctrl+D Uscita hardcoded
Ctrl+M Claude Code lo riceve sempre come Invio
Ctrl+[ Claude Code lo riceve sempre come Escape. Nei terminali che utilizzano il protocollo Kitty keyboard, questo richiede v2.1.242 o successivo
Ctrl+I Claude Code lo riceve sempre come Tab
Ctrl+H Invia il byte ASCII backspace. Come Claude Code lo legge su Windows dipende dal vostro terminale e dalla variabile di ambiente CLAUDE_CODE_BS_AS_CTRL_BACKSPACE
Caps Lock Non consegnato alle applicazioni terminali

Conflitti del terminale

Alcune scorciatoie potrebbero entrare in conflitto con i multiplexer di terminale:

Scorciatoia Conflitto
Ctrl+B Prefisso tmux (premere due volte per inviare)
Ctrl+A Prefisso GNU screen
Ctrl+Z Sospensione del processo Unix (SIGTSTP)

Campi di testo

Se associate un carattere, una cifra o uno spazio semplice, potete comunque digitare quel carattere in un campo di testo all'interno di una finestra di dialogo o di un pannello. Uno di questi campi è la risposta Other a una domanda che Claude pone. Mentre il campo ha il focus, un tasto stampabile che premete senza Ctrl, Alt o Cmd va al campo, e Claude Code non lo confronta con le vostre associazioni.

Questi tasti eseguono comunque le loro associazioni mentre il campo ha il focus:

  • Tasti che non digitano un carattere, come Enter, Escape, Tab e i tasti freccia
  • Qualsiasi tasto premuto con Ctrl, Alt o Cmd
  • Il secondo tasto di un accordo già in corso

Al prompt principale, Claude Code confronta ogni tasto rispetto ai contesti attivi, come Chat, e digita il tasto solo quando nessuna associazione lo cattura.

Interazione con la modalità Vim

Quando abiliti la modalità vim con l'impostazione Editor mode in /config, le scorciatoie da tastiera e la modalità vim operano indipendentemente:

  • Modalità Vim gestisce l'input a livello di input di testo: movimento del cursore, modalità e movimenti
  • Scorciatoie da tastiera gestiscono le azioni a livello di componente, come attivare o disattivare le attività o inviare un messaggio
  • Il tasto Esc in modalità vim passa dalla modalità INSERT alla modalità NORMAL; non attiva chat:cancel
  • La maggior parte delle scorciatoie Ctrl+tasto passano attraverso la modalità vim al sistema di scorciatoie da tastiera
  • I tasti Vim non sono rimappabili tramite il file delle scorciatoie da tastiera. Per mappare una sequenza in modalità INSERT a due tasti come jj su Escape, utilizzare l'impostazione vimInsertModeRemaps
  • In modalità vim NORMAL, ? mostra il menu della guida (comportamento vim)
  • In modalità vim NORMAL, / apre la ricerca nella cronologia, lo stesso di Ctrl+R in modalità standard

Nella riga Other di una domanda posta da Claude, in modalità vim Escape non annulla subito la domanda. Tranne che in modalità screen reader, la riga parte in modalità INSERT ogni volta che le dai il focus. Quando premi Escape nella riga Other, la riga passa alla modalità NORMAL oppure scarta un comando vim digitato a metà, e la domanda resta aperta. Premi di nuovo Escape in modalità NORMAL per annullare la domanda.

Annullare una domanda con un solo tasto

Per annullare una domanda con un solo tasto in modalità vim, associa un altro tasto a select:cancel nel contesto Select. Puoi annullare in questo modo dalla riga Other di una domanda in cui selezioni una sola opzione. In modalità screen reader o in una domanda in cui puoi selezionare più opzioni, il tasto associato non annulla, quindi annulla invece con Escape.

Scegli un tasto da premere con Ctrl o Alt. Una lettera o una cifra da sola va invece alla riga Other e non raggiunge le tue scorciatoie da tastiera. Ad esempio, per associare Ctrl+Q, aggiungi questo a ~/.claude/keybindings.json:

{
  "bindings": [
    {
      "context": "Select",
      "bindings": {
        "ctrl+q": "select:cancel"
      }
    }
  ]
}

Dopo aver salvato il file, premi Ctrl+Q nella riga Other di una domanda in cui selezioni una sola opzione. La domanda si chiude sia che la riga sia in modalità INSERT sia in modalità NORMAL.

Convalida

Claude Code convalida i tuoi scorciatoie da tastiera e scrive un avviso nel log di debug per:

  • Errori di analisi (JSON non valido o struttura non valida)
  • Modificatori scritti male, come ctl+k. Claude Code elimina la parte che non riconosce e applica il binding al tasto rimanente, k in questo esempio.
  • Uno spazio accanto a + in una stringa di tasti, come ctrl+ k. Claude Code legge la stringa come un accordo di ctrl+ seguito da k. Nessuna pressione di tasto corrisponde a ctrl+ da solo, quindi il binding non si attiva mai. Rimuovi lo spazio.
  • Nomi di contesto non validi
  • Valori di azione non validi, come un'azione che non è una stringa o null
  • Nomi di azione sconosciuti, come un errore di battitura di un'azione registrata. Claude Code salta il binding e mantiene in vigore qualsiasi binding predefinito per quel tasto.
  • Conflitti di scorciatoie riservate
  • Binding duplicati nello stesso contesto

Avvia Claude Code con --debug per visualizzare i dettagli.