Skip to main content
Claude Code suporta atalhos de teclado personalizáveis. Execute /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 array bindings. 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 formato namespace: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 contexto Global:

Ações de histórico

Ações para navegar no histórico de comandos:

Ações de chat

Ações disponíveis no contexto Chat: *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 contexto Autocomplete:

Ações de confirmação

Ações disponíveis no contexto Confirmation: *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 contexto Confirmation para diálogos de permissão:

Ações de transcrição

Ações disponíveis no contexto Transcript: 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 contexto HistorySearch: 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 contexto Task:

Ações de tema

Ações disponíveis no contexto ThemePicker:

Ações de ajuda

Ações disponíveis no contexto Help:

Ações de abas

Ações disponíveis no contexto Tabs:

Ações de anexos

Ações disponíveis no contexto Attachments: Ações disponíveis no contexto Footer:

Ações do seletor de mensagem

Ações disponíveis no contexto MessageSelector:

Ações de diff

Ações disponíveis no contexto DiffDialog: 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 contexto ModelPicker:

Ações do controle deslizante de esforço

Ações disponíveis no contexto EffortSlider, 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 contexto Select: 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 contexto Plugin:

Ações de configurações

Ações disponíveis no contexto Settings. 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 contexto Agents, 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 contexto Chat quando a ditação por voz está ativada:

Ações de rolagem

Ações disponíveis no contexto Scroll quando a renderização em tela cheia está ativada:

Sintaxe de sequência de teclas

Modificadores

Use teclas modificadoras com o separador +:
  • ctrl ou control - Tecla Control
  • shift - Tecla Shift
  • alt, opt, option, ou meta - Tecla Alt no Windows e Linux, tecla Option no macOS
  • cmd, command, super, ou win - Tecla Command no macOS, tecla Windows no Windows, tecla Super no Linux
O grupo 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, portanto K é 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
Antes da v2.1.247, pressionar um atalho de teclado Ctrl sob um layout não-latino não disparava seu atalho de teclado em terminais que usam o protocolo de teclado Kitty, como Ghostty, Kitty, WezTerm e iTerm2.

Acordes

Acordes são sequências de sequências de teclas separadas por espaços:
Pressione cada sequência de teclas dentro de 3 segundos da anterior. Se você esperar mais tempo, Claude Code cancela o acorde e mostra um breve aviso dizendo isso.

Teclas especiais

  • escape ou esc - Tecla Escape
  • enter ou return - Tecla Enter
  • tab - Tecla Tab
  • space - Barra de espaço
  • up, down, left, right - Teclas de seta
  • pageup, pagedown - Teclas Page Up e Page Down
  • home, end - Teclas Home e End
  • backspace, delete - Teclas de exclusão
  • wheelup, wheeldown - Eventos de rolagem da roda do mouse

Desassociar atalhos de teclado padrão

Defina uma ação como null para desassociar um atalho de teclado padrão:
Isso também funciona para atalhos de teclado de acordes. Desassociar cada acorde que compartilha um prefixo libera esse prefixo para uso como um atalho de teclado de uma única tecla. Um acorde em qualquer contexto ativo mantém seu prefixo reservado, portanto você deve desassociar cada acorde no contexto que o define. Claude Code vincula esses acordes padrão no prefixo 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:
Se você desassociar alguns, mas não todos os acordes em um prefixo, pressionar o prefixo ainda entra no modo de espera de acorde para as associações restantes.

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 jj para Escape, use a configuração vimInsertModeRemaps
  • 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
Claude Code relata avisos quando o arquivo é carregado e escreve cada um no log de depuração. Inicie Claude Code com --debug para ver os detalhes.