SpyBara
Go Premium

keybindings.md 2026-11-05 23:03 UTC to 2026-11-06 23:01 UTC

No changes for this document in this history range.

2026
Tue 10 21:57

Tastaturkürzel anpassen

Passen Sie Tastaturkürzel in Claude Code mit einer Keybindings-Konfigurationsdatei an.

Claude Code unterstützt anpassbare Tastaturkürzel. Führen Sie /keybindings aus, um Ihre Konfigurationsdatei unter ~/.claude/keybindings.json zu erstellen oder zu öffnen.

Konfigurationsdatei

Die Keybindings-Konfigurationsdatei ist ein Objekt mit einem bindings-Array. Jeder Block gibt einen Kontext und eine Zuordnung von Tastenkombinationen zu Aktionen an.

[!NOTE]

Änderungen an der Keybindings-Datei werden automatisch erkannt und angewendet, ohne Claude Code neu zu starten.

Feld Beschreibung
$schema Optionale JSON-Schema-URL für Editor-Autovervollständigung
$docs Optionale Dokumentations-URL
bindings Array von Binding-Blöcken nach Kontext

Dieses Beispiel bindet Ctrl+E zum Öffnen eines externen Editors im Chat-Kontext und hebt die Bindung von Ctrl+S auf:

{
  "$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
      }
    }
  ]
}

Kontexte

Jeder Bindungsblock gibt einen Kontext an, in dem die Bindungen gelten:

Kontext Beschreibung
Global Gilt überall in der App
Chat Haupteingabebereich des Chats
Autocomplete Das Menü für die automatische Vervollständigung ist geöffnet
Settings Einstellungsmenü
Confirmation Berechtigungs- und Bestätigungsdialoge
Tabs Komponenten für die Tab-Navigation
Help Das Hilfemenü ist sichtbar
Transcript Transkript-Ansicht
HistorySearch Modus für die Verlaufssuche (Ctrl+R)
Task Eine Aufgabe wird im Vordergrund ausgeführt
ThemePicker Dialog zur Theme-Auswahl
Attachments Navigation durch Bildanhänge in Auswahldialogen
Footer Navigation durch Indikatoren in der Fußzeile (Aufgaben, Teams, Diff, Artefakte)
MessageSelector Nachrichtenauswahl im Dialog zum Zurückspulen und Zusammenfassen
DiffDialog Navigation in der Diff-Ansicht
DiffPanel Das Diff-Panel ist geöffnet
ModelPicker Effort-Stufe in der Modellauswahl
EffortSlider Effort-Schieberegler, der mit /effort geöffnet wird
Select Generische Auswahl-/Listenkomponenten
Plugin Plugin-Dialog (durchsuchen, entdecken, verwalten)
AbovePrompt Der Bereich über dem Prompt oder eine Schaltfläche darin hat den Tastaturfokus
AbovePromptInput Ein Eingabefeld im Bereich über dem Prompt oder im Bereich eines Mods hat den Tastaturfokus
AbovePromptSelect Eine Auswahl im Bereich über dem Prompt oder im Bereich eines Mods hat den Tastaturfokus
Pane Ein von einem Mod gezeichneter Bereich hat den Tastaturfokus
PaneField Ein Eingabefeld oder eine Auswahl im Bereich eines Mods hat den Tastaturfokus
Agents Agentenansicht (claude agents)
Scroll Scrollen in der Konversation und Textauswahl im Vollbildmodus

Vor v2.1.205 gab es für den Diagnosebildschirm von /doctor einen Doctor-Kontext und eine doctor:fix-Aktion.

Verfügbare Aktionen

Aktionen folgen dem Format namespace:action, beispielsweise chat:submit zum Senden einer Nachricht oder app:toggleTodos zum Anzeigen der Aufgabenliste. Jeder Kontext verfügt über spezifische verfügbare Aktionen.

App-Aktionen

Im Kontext Global verfügbare Aktionen:

Aktion Standard Beschreibung
app:interrupt Ctrl+C Aktuellen Vorgang abbrechen
app:exit Ctrl+D Claude Code beenden. Zum Bestätigen innerhalb von 800 ms zweimal drücken
app:redraw (nicht belegt) Neuzeichnen des Terminals erzwingen
app:toggleTodos Ctrl+T Sichtbarkeit von Claudes To-do-Checkliste umschalten. Dies ist nicht die Ansicht für Hintergrundaufgaben von /tasks
app:toggleTranscript Ctrl+O Ausführliches Transkript umschalten

Verlaufsaktionen

Aktionen zum Navigieren im Befehlsverlauf:

Aktion Standard Beschreibung
history:search Ctrl+R Verlaufssuche öffnen
history:previous Up Vorheriger Verlaufseintrag
history:next Down Nächster Verlaufseintrag

Chat-Aktionen

Im Kontext Chat verfügbare Aktionen:

Aktion Standard Beschreibung
chat:cancel Escape Aktuelle Eingabe abbrechen
chat:clearInput Ctrl+L Vollständiges Neuzeichnen des Bildschirms erzwingen, wobei Eingabe und Konversation erhalten bleiben
chat:clearScreen Cmd+K Wie chat:clearInput. Unter Konversation leeren erfahren Sie, wie sich Cmd+K in iTerm2 und Terminal.app verhält
chat:killAgents Ctrl+X Ctrl+K Alle laufenden Hintergrund-Subagenten in dieser Sitzung stoppen und automatische Antworten auf Artefakte für den Rest der Sitzung ausschalten. Drücken Sie die Tastenkombination zum Bestätigen innerhalb von 3 Sekunden zweimal. Sie können sie drücken, während die Berechtigungsabfrage eines Hintergrund-Subagenten geöffnet ist
chat:cycleMode Shift+Tab* Berechtigungsmodi durchschalten
chat:modelPicker Meta+P Modellauswahl öffnen
chat:fastMode Meta+O Fast-Modus umschalten
chat:thinkingToggle Meta+T Extended Thinking umschalten
chat:submit Enter Nachricht senden
chat:queueSubmit Ctrl+X Enter Die Nachricht senden, markiert als wartend, bis sie an der Reihe ist: Während Claude arbeitet, reiht Claude Code sie in die Warteschlange ein und unterbricht den Turn nie. Anders als chat:submit sendet diese Aktion den Entwurf auch dann, wenn ein Vorschlag der Autovervollständigung hervorgehoben ist. Erfordert v2.1.247 oder höher
chat:sendNow Ctrl+Enter, Ctrl+X Ctrl+S Ihre Nachrichten in der Warteschlange und Ihren Entwurf sofort senden. Wann Claude Code die Nachrichten in der Warteschlange sendet beschreibt, was mit dem Turn geschieht, an dem Claude gerade arbeitet. Wenn nichts läuft, sendet die Taste den Entwurf, und im Shell-Modus reiht sie den Befehl nur in die Warteschlange ein. Terminals, die erweiterte Tasten nicht melden, liefern Ctrl+Enter als einfaches Enter, daher ist Ctrl+X Ctrl+S die Belegung, die in jedem Terminal funktioniert. Erfordert v2.1.275 oder höher
chat:newline Ctrl+J Einen Zeilenumbruch einfügen, ohne zu senden
chat:undo Ctrl+_, Ctrl+Shift+- Letzte Aktion rückgängig machen
chat:externalEditor Ctrl+G, Ctrl+X Ctrl+E Im externen Editor öffnen. Die Dispatch-Eingabe der Agentenansicht folgt ebenfalls den Einzeltasten-Belegungen dieser Aktion
chat:stash Ctrl+S Aktuellen Prompt zurückstellen
chat:imagePaste Ctrl+V (Alt+V unter Windows und WSL) Bild aus der Zwischenablage einfügen. Unter WSL sind standardmäßig beide Tastenkombinationen belegt
command:<name> (nicht belegt) Den Befehl /<name> ausführen. Beispielsweise bewirkt "meta+g": "command:compact" in einem Chat-Block, dass Meta+G den Befehl /compact ausführt

*Unter Windows ohne VT-Modus (Node <24.2.0/<22.17.0, Bun <1.2.23) lautet der Standard Meta+M.

Autovervollständigungsaktionen

Im Kontext Autocomplete verfügbare Aktionen:

Aktion Standard Beschreibung
autocomplete:accept Tab Vorschlag annehmen
autocomplete:dismiss Escape Menü schließen
autocomplete:previous Up Vorheriger Vorschlag
autocomplete:next Down Nächster Vorschlag

Bestätigungsaktionen

Im Kontext Confirmation verfügbare Aktionen:

Aktion Standard Beschreibung
confirm:yes Enter Aktion bestätigen
confirm:no Escape Aktion ablehnen
confirm:previous Up Vorherige Option
confirm:next Down Nächste Option
confirm:nextField Tab Im Dialog /fast den Fast-Modus ein- oder ausschalten
confirm:previousField (nicht belegt) Claude Code reagiert nicht auf diese Aktion, und eine keybindings.json, die sie nennt, bleibt gültig
confirm:toggle Space Auswahl umschalten
confirm:cycleMode Shift+Tab* Schließt bei einer Berechtigungsabfrage für Dateien ein geöffnetes Kommentarfeld; ist kein Feld geöffnet, wird die Option ausgewählt, die die Aktion für den Rest der Sitzung erlaubt, sofern die Abfrage diese Option anbietet

*Unter Windows ohne VT-Modus (Node <24.2.0/<22.17.0, Bun <1.2.23) lautet der Standard Meta+M.

Vor v2.1.257 zeigte eine Aktion confirm:toggleExplanation, standardmäßig mit Ctrl+E belegt, bei Berechtigungsabfragen für Bash und PowerShell eine vom Modell generierte Erklärung des Befehls an.

Dialoge verwenden confirm:yes und confirm:no zum Annehmen und Abbrechen, auch wenn sie keine Ja-oder-Nein-Frage stellen. Wenn Sie in diesem Kontext einen einzelnen Buchstaben wie y oder n belegen, wirkt der Buchstabe auch in Dialogen, die ihn nie als Taste anzeigen. Ein Dialog, der y und n als seine Tasten anzeigt, liest diese Buchstaben selbst aus und benötigt keine Belegung.

In den meisten Dialogen schließt zweimaliges Drücken von Ctrl+C oder Ctrl+D den Dialog, anstatt Claude Code zu beenden. Der Hinweis nach dem ersten Drücken gibt an, ob das zweite Drücken den Dialog schließt oder Claude Code beendet. Beide Tasten sind reserviert und können nicht neu belegt werden.

Dieses Beispiel belegt y mit confirm:yes und n mit confirm:no:

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

Mit diesen Belegungen geben y und n weiterhin Buchstaben ein, während ein Textfeld den Fokus hat.

Vor v2.1.280 war y standardmäßig auch mit confirm:yes und n mit confirm:no belegt. Wenn Sie Ihre keybindings.json vor v2.1.280 mit /keybindings erstellt haben, listet die Datei beide Belegungen auf, und sie bleiben wirksam, bis Sie diese beiden Zeilen löschen.

Berechtigungsaktionen

Im Kontext Confirmation für Berechtigungsdialoge verfügbare Aktionen:

Aktion Standard Beschreibung
permission:toggleDebug (nicht belegt) Claude Code reagiert nicht auf diese Aktion, und eine keybindings.json, die sie nennt, bleibt gültig

Transkript-Aktionen

Im Kontext Transcript verfügbare Aktionen:

Aktion Standard Beschreibung
transcript:toggleShowAll Ctrl+E Anzeige aller Inhalte umschalten
transcript:exit q, Ctrl+C, Escape Transkriptansicht verlassen

transcript:toggleShowAll gilt nur im klassischen Renderer; im Vollbild-Rendering bietet der Transkript-Viewer keinen Schalter zum Anzeigen aller Inhalte.

Aktionen der Verlaufssuche

Im Kontext HistorySearch verfügbare Aktionen:

Aktion Standard Beschreibung
historySearch:next Ctrl+R Nächster Treffer
historySearch:accept Escape, Tab Auswahl übernehmen
historySearch:cancel Ctrl+C Suche abbrechen
historySearch:execute Enter Ausgewählten Befehl ausführen
historySearch:cycleScope Ctrl+S Bereich durchschalten: Sitzung, Projekt, überall

Die Standardbelegungen von historySearch:next, historySearch:accept, historySearch:cancel und historySearch:execute gelten für die Inline-Verlaufssuche im klassischen Renderer, die immer Prompts aus allen Projekten durchsucht. historySearch:cycleScope wirkt nur im Vollbild-Rendering, wo Ctrl+R stattdessen einen Suchdialog öffnet und Ctrl+S dessen Bereich durchschaltet. Die übrigen Tasten des Dialogs sind fest und können nicht neu belegt werden: Enter oder Tab übernimmt den hervorgehobenen Treffer in die Prompt-Eingabe, und Esc bricht ab.

Aufgabenaktionen

Im Kontext Task verfügbare Aktionen:

Aktion Standard Beschreibung
task:background Ctrl+B, Ctrl+X Ctrl+B Aktuelle Aufgabe in den Hintergrund verschieben

Theme-Aktionen

Im Kontext ThemePicker verfügbare Aktionen:

Aktion Standard Beschreibung
theme:toggleSyntaxHighlighting Ctrl+T Syntaxhervorhebung umschalten

Hilfeaktionen

Im Kontext Help verfügbare Aktionen:

Aktion Standard Beschreibung
help:dismiss Escape Hilfemenü schließen

Tab-Aktionen

Im Kontext Tabs verfügbare Aktionen:

Aktion Standard Beschreibung
tabs:next Tab, Right Nächster Tab
tabs:previous Shift+Tab, Left Vorheriger Tab

In einem Dialog mit Tabs wechseln tabs:next und tabs:previous die Tabs, während die Tab-Leiste den Fokus hat. In einigen Dialogen, etwa /help und /sandbox, funktionieren die Tasten zum Wechseln der Tabs auch innerhalb des Tab-Inhalts.

Up und Down verschieben den Fokus zwischen der Tab-Leiste und dem Tab-Inhalt, und eine Liste im Inhalt reagiert nur auf Tasten, solange sie den Fokus hat.

Anhangsaktionen

Im Kontext Attachments verfügbare Aktionen:

Aktion Standard Beschreibung
attachments:next Right Nächster Anhang
attachments:previous Left Vorheriger Anhang
attachments:remove Backspace, Delete Ausgewählten Anhang entfernen
attachments:exit Down, Escape Anhangsnavigation verlassen

Fußzeilenaktionen

Im Kontext Footer verfügbare Aktionen:

Aktion Standard Beschreibung
footer:next Right Nächstes Fußzeilenelement
footer:previous Left Vorheriges Fußzeilenelement
footer:up Up, Ctrl+P In der Fußzeile nach oben navigieren (hebt die Auswahl oben auf)
footer:down Down, Ctrl+N In der Fußzeile nach unten navigieren
footer:openSelected Enter Ausgewähltes Fußzeilenelement öffnen
footer:clearSelection Escape Fußzeilenauswahl aufheben
footer:close x Den ausgewählten Agenten oder Workflow stoppen oder seine Zeile ausblenden, wenn er nicht mehr läuft
footer:dismiss (nicht belegt) Eine Tastenbelegung für diese Aktion hat keine Wirkung, und eine keybindings.json, die sie nennt, bleibt gültig. Vor v2.1.281 waren Backspace und Delete mit ihr belegt und blendeten den ausgewählten Artefakt-Link aus der Fußzeile aus.

Während ein Fußzeilenelement ausgewählt ist, etwa eine Zeile im Agentenbereich unterhalb des Prompts, öffnet Enter es auch dann, wenn Sie Enter im Kontext Chat mit chat:queueSubmit oder chat:newline neu belegen.

Chat-Belegungen auf Tasten, die der Kontext Footer nicht belegt, etwa Shift+Tab für chat:cycleMode, funktionieren weiterhin, während ein Element ausgewählt ist.

Aktionen der Nachrichtenauswahl

In der Nachrichtenliste des Rewind-Menüs bewegen Sie sich mit den Select-Aktionen und deren Standardtasten durch die Nachrichten und wählen eine aus. Ihre Select-Belegungen für diese Aktionen gelten dort ebenfalls. Der Kontext MessageSelector hat keine eigenen Aktionen oder Standardbelegungen. Verwenden Sie ihn, um eine Taste nur für diese Liste zu ändern, indem Sie eine Select-Aktion wie select:accept in einem MessageSelector-Block belegen.

Dieses Beispiel belegt o so, dass die hervorgehobene Nachricht im Rewind-Menü ausgewählt wird, ohne eine andere Liste zu ändern:

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

Vor v2.1.283 ignorierte diese Liste Select-Belegungen und hatte eigene Aktionen: messageSelector:up, messageSelector:down, messageSelector:top, messageSelector:bottom und messageSelector:select. Wenn Ihre keybindings.json einen dieser Namen belegt, funktioniert die Belegung in dieser Liste weiterhin als die Select-Aktion, die dasselbe bewirkt. Home und End springen an das jeweilige Ende der Liste; vor v2.1.283 taten dies standardmäßig Tasten wie Shift+K und Shift+J.

Diff-Aktionen

Diese Aktionen wirken nur im früheren Diff-Viewer von Claude Code, den /diff außerhalb des Vollbild-Renderings öffnet, nachdem Sie den Mod cc-plugin-diff in /plugin deaktiviert haben. Solange dieser Mod aktiviert ist, öffnet /diff stattdessen den Diff-Dialog. Eine keybindings.json, die diese Aktionen nennt, wird in beiden Fällen fehlerfrei geladen.

Im Kontext DiffDialog verfügbare Aktionen:

Aktion Standard Beschreibung
diff:dismiss Escape Diff-Viewer schließen; aus der Detailansicht wird stattdessen zur Dateiliste zurückgekehrt
diff:previousSource Left Vorherige Diff-Quelle
diff:nextSource Right Nächste Diff-Quelle
diff:previousFile Up, K Vorherige Datei in der Dateiliste; in der Detailansicht eine Zeile nach oben scrollen
diff:nextFile Down, J Nächste Datei in der Dateiliste; in der Detailansicht eine Zeile nach unten scrollen
diff:back (nicht belegt) Im Diff-Viewer zurückgehen. Escape führt die Zurück-Aktion über diff:dismiss aus. Die frühere Standardbelegung Left in der Detailansicht wurde in v2.1.203 entfernt

Die Dateiliste reagiert auch auf die Select-Aktionen, über deren Standardtasten und Ihre Select-Belegungen. select:previous und select:next wechseln zur vorherigen bzw. nächsten Datei, und Enter öffnet den Diff der ausgewählten Datei über select:accept. Um eine dieser Tasten nur für die Dateiliste zu ändern, belegen Sie die Select-Aktion in einem DiffDialog-Block.

Vor v2.1.283 ignorierte die Dateiliste Select-Belegungen, und Enter öffnete den Diff der ausgewählten Datei über eine separate Aktion diff:viewDetails. Wenn Ihre keybindings.json diff:viewDetails belegt, funktioniert die Belegung in der Dateiliste weiterhin als select:accept.

Die Diff-Detailansicht belegt außerdem Pager-typische Tasten mit den standardmäßigen Scroll-Aktionen. Diese Belegungen gehören zum Kontext DiffDialog und gelten nur in der Detailansicht; die unter Scroll-Aktionen aufgeführten Standardbelegungen des Kontexts Scroll bleiben unverändert.

Aktion Standard Beschreibung
scroll:pageUp PageUp Einen halben Anzeigebereich nach oben scrollen
scroll:pageDown PageDown Einen halben Anzeigebereich nach unten scrollen
scroll:fullPageUp Shift+Space, B Einen ganzen Anzeigebereich nach oben scrollen
scroll:fullPageDown Space Einen ganzen Anzeigebereich nach unten scrollen
scroll:top G, Home Zum Anfang springen
scroll:bottom Shift+G, End Zum Ende springen

Aktionen des Diff-Bereichs

Aktionen für den Diff-Bereich, den /diff im Vollbild-Rendering öffnet. app:cycleDiffBase gehört zum Kontext DiffPanel, der aktiv ist, solange der Bereich geöffnet ist; die übrigen gehören zu Global.

Der integrierte Mod cc-plugin-diff zeichnet diesen Bereich und verarbeitet app:cycleDiffBase, app:diffFileListUp und app:diffFileListDown. app:toggleReplTab, app:toggleDiffNoiseFilter und app:toggleDiffPreSession wirken nur im früheren Bereich von Claude Code, den /diff öffnet, nachdem Sie cc-plugin-diff in /plugin deaktiviert haben.

Aktion Standard Beschreibung
app:toggleReplTab (nicht belegt) Diff-Bereich öffnen oder schließen
app:cycleDiffBase Ctrl+X B Vergleichsbasis des Bereichs durchschalten: diese Sitzung, nicht committet, dann Branch
app:diffFileListUp Ctrl+Up, Meta+Up Dateiliste des Bereichs nach oben scrollen, wenn sie überläuft
app:diffFileListDown Ctrl+Down, Meta+Down Dateiliste des Bereichs nach unten scrollen, wenn sie überläuft
app:toggleDiffNoiseFilter (nicht belegt) Test- und generierte Dateien im Bereich ein- oder ausblenden
app:toggleDiffPreSession (nicht belegt) Die Änderungen aus der Zeit vor dieser Sitzung auf- oder zuklappen

Aktionen der Modellauswahl

Im Kontext ModelPicker verfügbare Aktionen:

Aktion Standard Beschreibung
modelPicker:decreaseEffort Left Effort-Stufe verringern
modelPicker:increaseEffort Right Effort-Stufe erhöhen
modelPicker:thisSessionOnly s Hervorgehobenes Modell nur auf diese Sitzung anwenden

Aktionen des Effort-Schiebereglers

Im Kontext EffortSlider verfügbare Aktionen, also im Schieberegler, der sich öffnet, wenn Sie /effort ohne Argumente ausführen. Die Tasten Enter und Escape des Schiebereglers können nicht neu belegt werden.

Aktion Standard Beschreibung
effortSlider:decreaseEffort Left Den Schieberegler auf die nächstniedrigere Effort-Stufe setzen. Erfordert v2.1.284 oder höher
effortSlider:increaseEffort Right Den Schieberegler auf die nächsthöhere Effort-Stufe setzen. Erfordert v2.1.284 oder höher
effortSlider:toggleUltracode Tab Ultracode für diese Sitzung ein- oder ausschalten, wenn der Schieberegler es anbietet. Erfordert v2.1.284 oder höher
effortSlider:thisSessionOnly s Die fokussierte Effort-Stufe nur auf diese Sitzung anwenden. Erfordert v2.1.257 oder höher

Select-Aktionen

Im Kontext Select verfügbare Aktionen:

Aktion Standard Beschreibung
select:next Down, J, Ctrl+N Nächste Option
select:previous Up, K, Ctrl+P Vorherige Option
select:pageUp PageUp Eine Seite Optionen nach oben
select:pageDown PageDown Eine Seite Optionen nach unten
select:first Home Erste Option
select:last End Letzte Option
select:accept Enter Auswahl übernehmen
select:cancel Escape Auswahl abbrechen

In Listenbereichen wie /skills, /mcp und /tasks wendet Claude Code Ihre Belegungen für select:pageUp, select:pageDown, select:first und select:last an. In den meisten anderen Listen, etwa der Modellauswahl /model, gelten Ihre Belegungen für select:first und select:last. PageUp und PageDown blättern in diesen Listen unabhängig von Ihren Belegungen durch die Optionen.

Vor v2.1.280 ignorierten diese anderen Listen Home, End sowie Ihre Belegungen für select:first und select:last.

Vor v2.1.283 blätterte die Tool-Liste von /mcp unabhängig von Ihren Belegungen mit fest zugeordneten Tasten PageUp und PageDown.

Plugin-Aktionen

Im Kontext Plugin verfügbare Aktionen:

Aktion Standard Beschreibung
plugin:toggle Space Plugin-Auswahl umschalten
plugin:install I Ausgewählte Plugins installieren
plugin:favorite F Das ausgewählte Plugin als Favorit markieren, sodass es im Tab „Installed“ weit oben einsortiert wird

Aktionen oberhalb des Prompts

Aktionen für das Band oberhalb des Prompts, den gemeinsamen Streifen, in dem Mods Schaltflächen, Eingabefelder und Auswahllisten zeichnen. abovePrompt:toggle und abovePrompt:focus gelten im Kontext Chat. Die übrigen Aktionen gelten im Kontext dessen, was im Band oder in einem Bereich den Tastaturfokus hat.

Aktion Standard Beschreibung
abovePrompt:toggle Ctrl+X Ctrl+A Das Band auf einen einzeiligen Hinweis reduzieren oder wieder ausklappen
abovePrompt:focus Ctrl+X Tab Den Tastaturfokus in das Band verschieben, dann in jeden geöffneten Bereich und vom letzten Bereich zurück zum Prompt
abovePrompt:next Tab Das nächste Steuerelement fokussieren
abovePrompt:previous Shift+Tab Das vorherige Steuerelement fokussieren
abovePrompt:press Enter Die fokussierte Schaltfläche drücken, das fokussierte Eingabefeld absenden oder die hervorgehobene Option in einer Auswahlliste wählen
abovePrompt:leave Escape Den Tastaturfokus an den Prompt zurückgeben
abovePrompt:highlightNext Down Die nächste Option in einer fokussierten Auswahlliste hervorheben
abovePrompt:highlightPrevious Up Die vorherige Option in einer fokussierten Auswahlliste hervorheben

Im Kontext AbovePrompt führen Right und Left standardmäßig ebenfalls abovePrompt:next und abovePrompt:previous aus, und Space führt ebenfalls abovePrompt:press aus.

Der Kontext AbovePrompt belegt außerdem Up, Down, PageUp, PageDown, Home und End mit den Scroll-Aktionen für Bereiche pane:scrollUp bis pane:bottom. Um eine dieser Tasten für das Band zu ändern, belegen Sie daher die Scroll-Aktion in einem AbovePrompt-Block.

Bereichsaktionen

Aktionen für einen Bereich, der von einem Mod gezeichnet wird. Die Aktionen zum Scrollen, Ändern der Größe und Schließen gelten im Kontext Pane. pane:close gilt auch im Kontext PaneField und funktioniert daher, während eines der Felder des Bereichs den Fokus hat. pane:next und pane:previous gelten im Kontext Global, solange mehr als ein Bereich geöffnet ist.

Aktion Standard Beschreibung
pane:scrollUp Up Den Bereich nach oben scrollen, wenn er mehr Zeilen hat, als er anzeigen kann
pane:scrollDown Down Den Bereich nach unten scrollen, wenn er mehr Zeilen hat, als er anzeigen kann
pane:pageUp PageUp Den Bereich eine Seite nach oben scrollen
pane:pageDown PageDown Den Bereich eine Seite nach unten scrollen
pane:top Home Zum Anfang des Bereichs springen
pane:bottom End Zum Ende des Bereichs springen
pane:grow Ctrl+X Left, Ctrl+X Up Dem Bereich mehr Platz geben: Breite, wenn er neben dem Transkript liegt, Höhe, wenn er über dem Prompt liegt
pane:shrink Ctrl+X Right, Ctrl+X Down Dem Bereich weniger Platz geben: Breite, wenn er neben dem Transkript liegt, Höhe, wenn er über dem Prompt liegt
pane:close Ctrl+X X Den Bereich schließen
pane:next (nicht belegt) Den nächsten geöffneten Bereich anzeigen
pane:previous (nicht belegt) Den vorherigen geöffneten Bereich anzeigen

Der Kontext Pane belegt außerdem Tab, Shift+Tab, Enter und Escape mit denselben Aktionen oberhalb des Prompts wie das Band, und die Eingabefelder und Auswahllisten eines Bereichs verwenden die Kontexte AbovePromptInput und AbovePromptSelect. Unter Tastaturfokus und Hotkeys ist aufgeführt, was jede Taste in einem Bereich bewirkt.

Einstellungsaktionen

Im Kontext Settings verfügbare Aktionen. Die Aktionen select:accept und confirm:no werden aus den Kontexten Select und Confirmation mit einstellungsspezifischem Verhalten wiederverwendet: Änderungen werden auf jede Einstellung angewendet, sobald Sie sie ändern, sodass Escape den Bereich schließt und Ihre Änderungen gespeichert bleiben, statt sie abzulehnen.

Aktion Standard Beschreibung
settings:search / Suchmodus aufrufen
settings:retry R Laden der Nutzungsdaten bei einem Fehler erneut versuchen
settings:fixUsage F Ihrer Sitzung die /usage-Empfehlungen senden, die Claude Code anwenden kann, wenn die Fußzeile von /usage eine Korrektur anbietet. Erfordert v2.1.305 oder höher
select:accept Enter, Space Die ausgewählte Einstellung ändern oder ihr Untermenü öffnen
confirm:no Escape Den Bereich schließen. Änderungen sind bereits gespeichert

Agentenaktionen

Im Kontext Agents verfügbare Aktionen, der in der Agentenansicht gilt, die mit claude agents geöffnet wird. Erfordert v2.1.257 oder höher.

Aktion Standard Beschreibung
agents:switchView Ctrl+S Sitzungsgruppierung zwischen Status und Verzeichnis wechseln
agents:togglePin Ctrl+T Die ausgewählte Sitzung anheften oder lösen
agents:find Ctrl+F Sitzungen nach Namen suchen, mit dem Filter n:. Erfordert v2.1.288 oder höher
agents:rename Ctrl+R Die ausgewählte Sitzung umbenennen. Erfordert v2.1.288 oder höher
agents:previousGroup Ctrl+Up, Meta+Up Zur vorherigen Gruppenüberschrift springen. Erfordert v2.1.288 oder höher
agents:nextGroup Ctrl+Down, Meta+Down Zur nächsten Gruppenüberschrift springen. Erfordert v2.1.288 oder höher

Solange die Agentenansicht geöffnet ist, verwendet Claude Code für jede Taste, die der Kontext Agents belegt, die Agents-Belegung und ignoriert eine Chat- oder Global-Belegung derselben Taste. Beispielsweise wechselt das Drücken von Ctrl+S in der Agentenansicht die Sitzungsgruppierung, statt das standardmäßige chat:stash auszulösen.

Die Tastenkombination für den externen Editor in der Dispatch-Eingabe ist keine Agents-Aktion. Die Agentenansicht folgt der Belegung von chat:externalEditor im Kontext Chat, standardmäßig Ctrl+G.

Belegungen werden in der Agentenansicht bei einzelnen Tastenanschlägen ausgelöst, daher öffnet die mit chat:externalEditor belegte Tastenfolge Ctrl+X Ctrl+E dort den Editor nicht.

Sprachaktionen

Im Kontext Chat verfügbare Aktionen, wenn Sprachdiktat aktiviert ist:

Aktion Standard Beschreibung
voice:pushToTalk Space Einen Prompt diktieren. Je nach /voice-Modus gedrückt halten oder antippen

Scroll-Aktionen

Im Kontext Scroll verfügbare Aktionen, wenn Vollbild-Rendering aktiviert ist:

Aktion Standard Beschreibung
scroll:lineUp wheelup Eine Zeile nach oben scrollen. Scrollen mit dem Mausrad löst diese Aktion aus
scroll:lineDown wheeldown Eine Zeile nach unten scrollen. Scrollen mit dem Mausrad löst diese Aktion aus
scroll:pageUp PageUp Um die halbe Höhe des Anzeigebereichs nach oben scrollen
scroll:pageDown PageDown Um die halbe Höhe des Anzeigebereichs nach unten scrollen
scroll:top Ctrl+Home Zum Anfang der Konversation springen
scroll:bottom Ctrl+End Zur neuesten Nachricht springen und automatisches Mitverfolgen wieder aktivieren
scroll:halfPageUp (nicht belegt) Um die halbe Höhe des Anzeigebereichs nach oben scrollen. Gleiches Verhalten wie scroll:pageUp, bereitgestellt für Belegungen im vi-Stil
scroll:halfPageDown (nicht belegt) Um die halbe Höhe des Anzeigebereichs nach unten scrollen. Gleiches Verhalten wie scroll:pageDown, bereitgestellt für Belegungen im vi-Stil
scroll:fullPageUp (nicht belegt) Um die volle Höhe des Anzeigebereichs nach oben scrollen
scroll:fullPageDown (nicht belegt) Um die volle Höhe des Anzeigebereichs nach unten scrollen
selection:copy Ctrl+Shift+C / Cmd+C Den ausgewählten Text in die Zwischenablage kopieren
selection:clear (nicht belegt) Die aktive Textauswahl aufheben. Erfordert v2.1.234 oder höher
selection:extendLeft Shift+Left Die aktive Auswahl um eine Spalte nach links erweitern
selection:extendRight Shift+Right Die aktive Auswahl um eine Spalte nach rechts erweitern
selection:extendUp Shift+Up Die aktive Auswahl um eine Zeile nach oben erweitern. Scrollt den Anzeigebereich, wenn die Auswahl den oberen Rand erreicht
selection:extendDown Shift+Down Die aktive Auswahl um eine Zeile nach unten erweitern. Scrollt den Anzeigebereich, wenn die Auswahl den unteren Rand erreicht
selection:extendLineStart Shift+Home Die aktive Auswahl bis zum Zeilenanfang erweitern
selection:extendLineEnd Shift+End Die aktive Auswahl bis zum Zeilenende erweitern

Syntax für Tastenanschläge

Modifikatortasten

Verwenden Sie Modifikatortasten mit dem Trennzeichen +:

  • ctrl oder control - Control-Taste
  • shift - Shift-Taste
  • alt, opt, option oder meta - Alt-Taste unter Windows und Linux, Option-Taste unter macOS
  • cmd, command, super oder win - Command-Taste unter macOS, Windows-Taste unter Windows, Super-Taste unter Linux

Die cmd-Gruppe wird nur in Terminals erkannt, die den Super-Modifikator melden, etwa in Terminals, die das Kitty-Tastaturprotokoll oder den modifyOtherKeys-Modus von xterm unterstützen. Die meisten Terminals senden ihn nicht. Verwenden Sie daher ctrl oder meta für Tastenbelegungen, die überall funktionieren sollen.

Zum Beispiel:

ctrl+k          Ctrl + K
shift+tab       Shift + Tab
meta+p          Option + P unter macOS, sonst Alt + P
ctrl+shift+c    Mehrere Modifikatoren

Großbuchstaben

Claude Code wertet Tastennamen ohne Berücksichtigung der Groß- und Kleinschreibung aus, sodass K dieselbe Tastenbelegung ist wie k und ctrl+K dasselbe ist wie ctrl+k. Um Shift und einen Buchstaben zu belegen, schreiben Sie shift+k.

Nicht-US-Tastaturlayouts

Schreiben Sie die Tastennamen von Ctrl-Tastenkombinationen als lateinische Zeichen, auch wenn Ihr aktives Tastaturlayout andere Zeichen eingibt.

Wie Claude Code die gedrückte Taste einer Tastenbelegung zuordnet, hängt von der Art des Layouts ab:

  • Bei einem nicht-lateinischen Layout wie Kyrillisch ordnet Claude Code Ctrl-Tastenkombinationen anhand der Position der Taste im US-Layout zu, wenn das Terminal das Kitty-Tastaturprotokoll verwendet und diese Position meldet. In einem solchen Terminal löst bei aktivem russischem Layout das Drücken von Ctrl und der physischen W-Taste ctrl+w aus. In einem Terminal, das die Position nicht meldet, ordnet Claude Code das zu, was das Terminal für den Tastendruck sendet: Ein ASCII-Steuercode löst die lateinische Tastenkombination aus, und ein Tastendruck, der als kyrillisches Zeichen ankommt, entspricht keiner Tastenbelegung
  • Bei Layouts, die lateinische Buchstaben anders anordnen, wie etwa AZERTY, ordnet Claude Code den Buchstaben zu, den die Taste eingibt, sodass das Drücken von Ctrl und der mit A beschrifteten Taste ctrl+a auslöst

Akkorde

Akkorde sind Folgen von Tastenanschlägen, die durch Leerzeichen getrennt sind:

ctrl+k ctrl+s   Ctrl+K drücken, loslassen, dann Ctrl+S

Drücken Sie jeden Tastenanschlag innerhalb von 3 Sekunden nach dem vorherigen. Wenn Sie länger warten, bricht Claude Code den Akkord ab und zeigt einen kurzen entsprechenden Hinweis an.

Sondertasten

  • escape oder esc - Escape-Taste
  • enter oder return - Enter-Taste
  • tab - Tab-Taste
  • space - Leertaste
  • up, down, left, right - Pfeiltasten
  • pageup, pagedown - Page-Up- und Page-Down-Tasten
  • home, end - Home- und End-Tasten
  • backspace, delete - Löschtasten
  • wheelup, wheeldown - Scroll-Ereignisse des Mausrads

Standardkürzel aufheben

Setzen Sie eine Aktion auf null, um ein Standardkürzel aufzuheben:

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

Dies funktioniert auch für Akkord-Bindings. Das Aufheben aller Akkorde, die ein Präfix teilen, gibt dieses Präfix für die Verwendung als Single-Key-Binding frei. Ein Akkord in einem beliebigen aktiven Kontext behält sein Präfix reserviert, daher müssen Sie jeden Akkord in dem Kontext aufheben, der ihn definiert.

Claude Code bindet diese Standard-Akkorde auf dem ctrl+x-Präfix, nach Kontext:

  • Chat: ctrl+x ctrl+k, ctrl+x ctrl+e, ctrl+x enter, ctrl+x ctrl+a, ctrl+x ctrl+s und 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 und ctrl+x x
  • PaneField: ctrl+x x

Der ctrl+x enter-Akkord erfordert v2.1.247 oder später, ctrl+x b, ctrl+x ctrl+a und ctrl+x tab erfordern v2.1.260 oder später, und ctrl+x ctrl+s erfordert v2.1.275 oder später.

Um ctrl+x selbst als Single-Key-Binding zurückzugewinnen, heben Sie alle auf:

{
  "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"
      }
    }
  ]
}

Wenn Sie einige, aber nicht alle Akkorde auf einem Präfix aufheben, führt das Drücken des Präfix immer noch in den Akkord-Wartmodus für die verbleibenden Bindings ein.

Reservierte Kürzel

Diese Kürzel können nicht neu gebunden werden:

Kürzel Grund
Ctrl+C Hardcodierter Interrupt/Abbruch
Ctrl+D Hardcodierter Ausstieg
Ctrl+M Claude Code empfängt es immer als Enter
Ctrl+[ Claude Code empfängt es immer als Escape. In Terminals, die das Kitty-Tastaturprotokoll verwenden, ist v2.1.242 oder später erforderlich
Ctrl+I Claude Code empfängt es immer als Tab
Ctrl+H Sendet das ASCII-Backspace-Byte. Wie Claude Code es unter Windows liest hängt von Ihrem Terminal und der Umgebungsvariablen CLAUDE_CODE_BS_AS_CTRL_BACKSPACE ab
Caps Lock Nicht an Terminalanwendungen übermittelt

Terminal-Konflikte

Einige Kürzel können mit Terminal-Multiplexern in Konflikt geraten:

Kürzel Konflikt
Ctrl+B tmux-Präfix (zweimal drücken zum Senden)
Ctrl+A GNU Screen-Präfix
Ctrl+Z Unix-Prozess-Suspend (SIGTSTP)

Textfelder

Wenn Sie einen einzelnen Buchstaben, eine Ziffer oder die Leertaste binden, können Sie dieses Zeichen trotzdem in einem Textfeld in einem Dialog oder Panel eingeben. Ein solches Feld ist die Other-Antwort auf eine Frage, die Claude stellt. Während das Feld den Fokus hat, geht ein druckbares Zeichen, das Sie ohne Strg, Alt oder Cmd drücken, in das Feld, und Claude Code gleicht es nicht gegen Ihre Bindungen ab.

Diese Tasten führen ihre Bindungen aus, während das Feld den Fokus hat:

  • Tasten, die kein Zeichen eingeben, wie Eingabe, Escape, Tab und die Pfeiltasten
  • Jede Taste, die mit Strg, Alt oder Cmd gedrückt wird
  • Der zweite Tastendruck eines Akkords, der bereits läuft

Bei der Haupteingabeaufforderung gleicht Claude Code jede Taste gegen die aktiven Kontexte, wie Chat, ab und gibt die Taste nur ein, wenn keine Bindung sie übernimmt.

Vim-Modus-Interaktion

Wenn Sie den Vim-Modus über die Einstellung Editor-Modus in /config aktivieren, arbeiten Tastenkombinationen und Vim-Modus unabhängig voneinander:

  • Vim-Modus verarbeitet Eingaben auf der Texteingabeebene: Cursor-Bewegung, Modi und Bewegungen
  • Tastenkombinationen verarbeiten Aktionen auf der Komponentenebene, etwa das Umschalten von Aufgaben oder das Senden einer Nachricht
  • Die Escape-Taste wechselt im Vim-Modus vom INSERT- in den NORMAL-Modus; sie löst kein chat:cancel aus
  • Die meisten Ctrl+Taste-Kürzel werden durch den Vim-Modus zum Keybinding-System weitergeleitet
  • Vim-Tasten können nicht über die Keybindings-Datei neu zugeordnet werden. Um eine zwei-Tasten-INSERT-Modus-Sequenz wie jj auf Escape abzubilden, verwenden Sie die Einstellung vimInsertModeRemaps
  • Im Vim-NORMAL-Modus zeigt ? das Hilfemenü an (Vim-Verhalten)
  • Im Vim-NORMAL-Modus öffnet / die Verlaufssuche, dasselbe wie Ctrl+R im Standardmodus

In der Zeile Other einer Frage, die Claude stellt, bricht Escape die Frage im Vim-Modus nicht sofort ab. Außer im Screenreader-Modus startet die Zeile jedes Mal im INSERT-Modus, wenn Sie sie fokussieren. Wenn Sie in der Zeile Other Escape drücken, wechselt die Zeile in den NORMAL-Modus oder verwirft einen halb eingegebenen Vim-Befehl, und die Frage bleibt geöffnet. Drücken Sie im NORMAL-Modus erneut Escape, um die Frage abzubrechen.

Eine Frage mit einem einzigen Tastendruck abbrechen

Um eine Frage im Vim-Modus mit einem einzigen Tastendruck abzubrechen, binden Sie eine andere Taste an select:cancel im Kontext Select. Auf diese Weise können Sie aus der Zeile Other einer Frage abbrechen, bei der Sie eine Option auswählen. Im Screenreader-Modus oder bei einer Frage, bei der Sie mehrere Optionen auswählen können, bricht die gebundene Taste nicht ab; brechen Sie stattdessen mit Escape ab.

Wählen Sie eine Taste, die Sie mit Ctrl oder Alt drücken. Ein einzelner Buchstabe oder eine einzelne Ziffer geht stattdessen in die Zeile Other und erreicht Ihre Tastenkombinationen nicht. Um beispielsweise Ctrl+Q zu binden, fügen Sie Folgendes zu ~/.claude/keybindings.json hinzu:

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

Nachdem Sie die Datei gespeichert haben, drücken Sie Ctrl+Q in der Zeile Other einer Frage, bei der Sie eine Option auswählen. Die Frage wird geschlossen, unabhängig davon, ob sich die Zeile im INSERT- oder NORMAL-Modus befindet.

Validierung

Claude Code validiert Ihre Keybindings und schreibt eine Warnung in das Debug-Protokoll für:

  • Parse-Fehler (ungültiges JSON oder Struktur)
  • Falsch geschriebene Modifizierer, wie ctl+k. Claude Code verwirft den Teil, den es nicht erkennt, und wendet die Bindung auf den verbleibenden Tastendruck an, k in diesem Beispiel.
  • Ein Leerzeichen neben + in einer Tastenzeichenfolge, wie ctrl+ k. Claude Code liest die Zeichenfolge als Akkord aus ctrl+ gefolgt von k. Kein Tastendruck entspricht ctrl+ allein, daher wird die Bindung nie ausgelöst. Entfernen Sie das Leerzeichen.
  • Ungültige Kontextnamen
  • Ungültige Aktionswerte, wie eine Aktion, die keine Zeichenkette oder null ist
  • Unbekannte Aktionsnamen, wie ein Tippfehler einer registrierten Aktion. Claude Code überspringt die Bindung und behält alle Standard-Bindungen für diese Taste bei.
  • Reservierte Kürzel-Konflikte
  • Doppelte Bindings im selben Kontext

Starten Sie Claude Code mit --debug, um die Details zu sehen.