/keybindings para criar ou abrir seu arquivo de configuração em ~/.claude/keybindings.json.
Arquivo de configuração
O arquivo de configuração de atalhos de teclado é um objeto com um arraybindings. Cada bloco especifica um contexto e um mapa de sequências de teclas para ações.
As alterações no arquivo de atalhos de teclado são detectadas automaticamente e aplicadas sem reiniciar Claude Code.
Este exemplo vincula
Ctrl+E para abrir um editor externo no contexto de chat e desvincula Ctrl+U:
Contextos
Cada bloco de vinculação especifica um contexto onde as vinculações se aplicam:
Antes da v2.1.205, um contexto
Doctor e uma ação doctor:fix existiam para a tela de diagnósticos /doctor.
Ações disponíveis
As ações seguem um formatonamespace:action, como chat:submit para enviar uma mensagem ou app:toggleTodos para mostrar a lista de tarefas. Cada contexto tem ações específicas disponíveis.
Ações do aplicativo
Ações disponíveis no contextoGlobal:
Ações de histórico
Ações para navegar no histórico de comandos:Ações de chat
Ações disponíveis no contextoChat:
*No Windows sem modo VT (Node <24.2.0/<22.17.0, Bun <1.2.23), o padrão é Meta+M.
Ações de autocompletar
Ações disponíveis no contextoAutocomplete:
Ações de confirmação
Ações disponíveis no contextoConfirmation:
*No Windows sem modo VT (Node <24.2.0/<22.17.0, Bun <1.2.23), o padrão é Meta+M.
Antes da v2.1.257, uma ação
confirm:toggleExplanation, vinculada a Ctrl+E por padrão, mostrava uma explicação gerada por modelo do comando em prompts de permissão Bash e PowerShell.
Ações de permissão
Ações disponíveis no contextoConfirmation para diálogos de permissão:
Ações de transcrição
Ações disponíveis no contextoTranscript:
transcript:toggleShowAll se aplica apenas no renderizador clássico; na renderização em tela cheia, o visualizador de transcrição não oferece um toggle de mostrar tudo.
Ações de busca de histórico
Ações disponíveis no contextoHistorySearch:
Os padrões
historySearch:next, historySearch:accept, historySearch:cancel e historySearch:execute se aplicam à busca de histórico inline no renderizador clássico, que sempre busca prompts de todos os projetos. historySearch:cycleScope entra em vigor apenas na renderização em tela cheia, onde Ctrl+R abre um diálogo de busca em vez disso e Ctrl+S cicla seu escopo. As outras teclas do diálogo são fixas e não podem ser rebindadas: Enter ou Tab coloca a correspondência destacada na entrada do prompt e Esc cancela.
Ações de tarefa
Ações disponíveis no contextoTask:
Ações de tema
Ações disponíveis no contextoThemePicker:
Ações de ajuda
Ações disponíveis no contextoHelp:
Ações de abas
Ações disponíveis no contextoTabs:
Ações de anexos
Ações disponíveis no contextoAttachments:
Ações de rodapé
Ações disponíveis no contextoFooter:
Ações do seletor de mensagem
Ações disponíveis no contextoMessageSelector:
Ações de diff
Ações disponíveis no contextoDiffDialog:
A visualização de detalhes do diff também vincula atalhos de teclado no estilo pager às ações de rolagem padrão. Essas vinculações fazem parte do contexto
DiffDialog e se aplicam apenas na visualização de detalhes; os padrões do contexto Scroll listados em Ações de rolagem permanecem inalterados.
Ações do painel de diff
Ações para o painel de diff que/diff abre na renderização em tela cheia. app:cycleDiffBase está no contexto DiffPanel, que está ativo enquanto o painel está aberto; os outros estão em Global. O painel requer Claude Code v2.1.260 ou posterior.
Ações do seletor de modelo
Ações disponíveis no contextoModelPicker:
Ações do controle deslizante de esforço
Ações disponíveis no contextoEffortSlider, o controle deslizante que abre quando você executa /effort sem argumentos. As teclas Left, Right, Enter e Escape do controle deslizante não podem ser rebindadas.
Ações de seleção
Ações disponíveis no contextoSelect:
Claude Code aplica suas vinculações
select:pageUp, select:pageDown, select:first e select:last no menu /skills. Na maioria das outras listas, como o seletor /model, Claude Code pagina com PageUp e PageDown independentemente de suas vinculações e ignora Home e End.
Ações de plugin
Ações disponíveis no contextoPlugin:
Ações de configurações
Ações disponíveis no contextoSettings. As ações select:accept e confirm:no são reutilizadas dos contextos Select e Confirmation com comportamento específico de Configurações: as alterações se aplicam a cada configuração assim que você a altera, portanto Escape fecha o painel com suas alterações salvas em vez de recusar.
Ações de agentes
Ações disponíveis no contextoAgents, que se aplica na visualização do agente, aberta com claude agents. Requer v2.1.257 ou posterior.
Enquanto a visualização do agente está aberta, Claude Code usa a vinculação
Agents para qualquer tecla que o contexto Agents vincula, e ignora uma vinculação Chat ou Global na mesma tecla. Por exemplo, pressionar Ctrl+S na visualização do agente alterna o agrupamento de sessão em vez de disparar o padrão chat:stash.
O atalho de editor externo da entrada de despacho não é uma ação Agents. A visualização do agente segue a vinculação chat:externalEditor do contexto Chat, Ctrl+G por padrão.
As vinculações disparam em pressionamentos de tecla únicos na visualização do agente, portanto o acorde Ctrl+X Ctrl+E vinculado a chat:externalEditor não abre o editor lá.
Ações de voz
Ações disponíveis no contextoChat quando a ditação por voz está ativada:
Ações de rolagem
Ações disponíveis no contextoScroll quando a renderização em tela cheia está ativada:
Sintaxe de sequência de teclas
Modificadores
Use teclas modificadoras com o separador+:
ctrloucontrol- Tecla Controlshift- Tecla Shiftalt,opt,option, oumeta- Tecla Alt no Windows e Linux, tecla Option no macOScmd,command,super, ouwin- Tecla Command no macOS, tecla Windows no Windows, tecla Super no Linux
cmd é detectado apenas em terminais que relatam o modificador Super, como aqueles que suportam o protocolo de teclado Kitty ou o modo modifyOtherKeys do xterm. A maioria dos terminais não o envia, portanto use ctrl ou meta para atalhos de teclado que você deseja que funcionem em qualquer lugar.
Por exemplo:
Letras maiúsculas
Claude Code analisa nomes de teclas sem distinção entre maiúsculas e minúsculas, portantoK é o mesmo atalho de teclado que k e ctrl+K é o mesmo que ctrl+k. Para vincular Shift e uma letra, escreva shift+k.
Layouts de teclado não-US
Escreva os nomes das teclas de atalhos Ctrl como caracteres latinos mesmo quando seu layout de teclado ativo digita outros caracteres. A forma como Claude Code corresponde à tecla que você pressiona a um atalho de teclado depende do tipo de layout:- Sob um layout não-latino, como Cirílico, Claude Code corresponde aos atalhos de teclado Ctrl pela posição da tecla no layout US quando o terminal usa o protocolo de teclado Kitty e relata essa posição. Em tal terminal, com um layout russo ativo, pressionar Ctrl e a tecla W física dispara
ctrl+w. Em um terminal que não relata a posição, Claude Code corresponde ao que o terminal envia para o pressionamento de tecla: um código de controle ASCII dispara o atalho de teclado latino, e um pressionamento de tecla que chega como o caractere cirílico não corresponde a nenhum atalho de teclado - Sob layouts que reorganizam letras latinas, como AZERTY, Claude Code corresponde à letra que a tecla digita, portanto pressionar Ctrl e a tecla rotulada A dispara
ctrl+a
Acordes
Acordes são sequências de sequências de teclas separadas por espaços:Teclas especiais
escapeouesc- Tecla Escapeenteroureturn- Tecla Entertab- Tecla Tabspace- Barra de espaçoup,down,left,right- Teclas de setapageup,pagedown- Teclas Page Up e Page Downhome,end- Teclas Home e Endbackspace,delete- Teclas de exclusãowheelup,wheeldown- Eventos de rolagem da roda do mouse
Desassociar atalhos de teclado padrão
Defina uma ação comonull para desassociar um atalho de teclado padrão:
ctrl+x: ctrl+x ctrl+k, ctrl+x ctrl+e, ctrl+x enter, ctrl+x ctrl+a e ctrl+x tab em Chat, ctrl+x ctrl+b em Task e ctrl+x b em DiffPanel. O acorde ctrl+x enter requer v2.1.247 ou posterior, e ctrl+x b, ctrl+x ctrl+a e ctrl+x tab requerem v2.1.260 ou posterior. Para recuperar ctrl+x em si como um atalho de teclado de uma única tecla, desassocie todos eles:
Atalhos reservados
Estes atalhos não podem ser revinculados:Conflitos de terminal
Alguns atalhos podem entrar em conflito com multiplexadores de terminal:Interação com modo vim
Quando o modo vim está ativado via/config → Editor mode, atalhos de teclado e modo vim operam independentemente:
- Modo vim manipula entrada no nível de entrada de texto (movimento do cursor, modos, motions)
- Atalhos de teclado manipulam ações no nível de componente (alternar tarefas, enviar, etc.)
- A tecla Escape no modo vim muda INSERT para NORMAL; ela não dispara
chat:cancel - A maioria dos atalhos Ctrl+key passam pelo modo vim para o sistema de atalhos de teclado
- As chaves vim não são remapeáveis através do arquivo de atalhos de teclado. Para mapear uma sequência de dois-key no modo INSERT como
jjpara Escape, use a configuraçãovimInsertModeRemaps - No modo NORMAL do vim,
?mostra o menu de ajuda (comportamento vim) - No modo NORMAL do vim,
/abre a busca de histórico, o mesmo que Ctrl+R no modo padrão
Validação
Claude Code valida seus atalhos de teclado e mostra avisos para:- Erros de análise (JSON inválido ou estrutura)
- Nomes de contexto inválidos
- Valores de ação inválidos, como uma ação que não é uma string ou
null - Nomes de ação desconhecidos, como um erro de digitação de uma ação registrada. Claude Code pula a vinculação e mantém qualquer vinculação padrão para essa tecla em vigor. Antes da v2.1.246, uma vinculação com um nome de ação desconhecido desativava silenciosamente essa tecla
- Conflitos de atalho reservado
- Vinculações duplicadas no mesmo contexto
--debug para ver os detalhes.