Tastenkürzel
Claude Code keybindings.json konfigurieren: 17 Kontexte, Tastenkombinations-Syntax, Chord-Sequenzen, Modifier-Kombinationen und wie du jeden Standard-Shortcut sofort deaktivierst.
Hören Sie auf zu konfigurieren. Fangen Sie an zu bauen.
SaaS-Builder-Vorlagen mit KI-Orchestrierung.
Konfiguriere eigene Tastenkürzel in Claude Code. Referenz für alle 17 Kontexte, Tastenkombinations-Syntax und keybindings.json-Beispiele.
Dein Muskelgedächtnis sagt, Ctrl+K öffnet eine Befehlspalette. Claude Code sieht das anders. Jedes Mal, wenn du nach einem vertrauten Kürzel greifst und die falsche Aktion bekommst, verlierst du den Fokus und deinen Flow.
Diese Reibung summiert sich. Entwickler, die stundenlange Claude Code-Sessions verbringen, bauen unbewusste Gewohnheiten rund um Tastenkürzel auf. Wenn die Standardbelegungen nicht zu deinem mentalen Modell passen, kämpfst du gegen das Tool statt es zu nutzen. Kommst du aus VS Code, Vim, Emacs oder einem terminal-lastigen Workflow, hast du bereits jahrelange Shortcut-Muster in deinen Fingern. Dich zu zwingen, neue zu lernen, ist reine Verschwendung kognitiver Energie.
Claude Code löst das mit einem vollständig anpassbaren Keybinding-System. Du definierst jeden Shortcut in einer einzigen JSON-Datei, geordnet nach Kontext, mit Unterstützung für Chord-Sequenzen, Modifier-Kombinationen und der Möglichkeit, jeden Standard zu deaktivieren. Änderungen gelten sofort ohne Neustart. So richtest du es ein und machst Claude Code zu einer echten Verlängerung deines bestehenden Workflows.
Erste Schritte mit eigenen Keybindings
Führe den Slash-Befehl /keybindings innerhalb von Claude Code aus. Das erstellt (oder öffnet) deine Konfigurationsdatei unter ~/.claude/keybindings.json. Wenn du Claude Code-Konfiguration noch nicht kennst: Diese Datei liegt neben deinen anderen Einstellungen im ~/.claude/-Verzeichnis.
Die Dateistruktur ist simpel:
{
"$schema": "https://platform.claude.com/docs/schemas/claude-code/keybindings.json",
"$docs": "https://code.claude.com/docs/en/keybindings",
"bindings": [
{
"context": "Chat",
"bindings": {
"ctrl+e": "chat:externalEditor",
"ctrl+u": null
}
}
]
}Drei oberste Felder steuern alles:
$schema- Optional. Zeig das auf Claudes JSON-Schema-URL und dein Editor gibt dir Autovervollständigung und Validierung gratis. Lohnt sich.$docs- Optional. Dokumentations-URL für schnelle Nachschläge.bindings- Das Array, in dem alle deine eigenen Shortcuts leben. Jeder Eintrag zielt auf einen bestimmten Kontext ab.
Das $schema-Feld allein macht die Konfiguration deutlich einfacher. Nutzt du VS Code oder einen Editor mit JSON-Schema-Support, bekommst du inline Vorschläge für jede gültige Aktion und jeden Kontextnamen.
Änderungen an keybindings.json werden automatisch erkannt und angewendet. Kein Neustart nötig. Bearbeiten, speichern, und deine neuen Shortcuts sind sofort aktiv.
Kontexte verstehen
Jedes Binding gehört zu einem Kontext, der Claude Code sagt, wann dieser Shortcut aktiv ist. Ein Shortcut im Chat-Kontext feuert nur, wenn du gerade im Haupt-Chat-Eingabefeld tippst. Dieselbe Tastenkombination kann in verschiedenen Kontexten verschiedene Dinge tun.
Claude Code hat 17 Kontexte:
| Kontext | Wann aktiv |
|---|---|
Global | Überall in der App |
Chat | Haupt-Chat-Eingabebereich |
Autocomplete | Autovervollständigungs-Menü ist offen |
Settings | Einstellungsmenü ist offen |
Confirmation | Berechtigungs- und Bestätigungsdialoge |
Tabs | Tab-Navigationskomponenten |
Help | Hilfe-Menü ist sichtbar |
Transcript | Transkript-Viewer |
HistorySearch | Verlaufssuche-Modus (Ctrl+R) |
Task | Hintergrundaufgabe läuft |
ThemePicker | Theme-Picker-Dialog |
Attachments | Bild/Anhang-Leiste Navigation |
Footer | Footer-Indikatoren Navigation |
MessageSelector | Zurückspulen-Dialog Nachrichtenauswahl |
DiffDialog | Diff-Viewer Navigation |
ModelPicker | Modell-Picker Aufwandsstufe |
Select | Generische Auswahl-/Listenkomponenten |
Plugin | Plugin-Dialog (durchsuchen, entdecken, verwalten) |
Der Global-Kontext ist besonders. Bindings hier gelten überall, unabhängig davon, welcher Dialog oder welche Ansicht aktiv ist. Verwende ihn sparsam. Bindest du Ctrl+K global, feuert es sowohl im Chat als auch beim Durchsuchen von Autovervollständigungs-Vorschlägen oder beim Überprüfen von Diffs.
Vollständige Aktions-Referenz
Aktionen folgen dem Format namespace:action. Hier sind alle Aktionen in jedem Kontext, zusammen mit der Standardbelegung.
Globale Aktionen
Diese funktionieren überall in Claude Code:
| Aktion | Standard | Was es tut |
|---|---|---|
app:interrupt | Ctrl+C | Aktuelle Operation abbrechen |
app:exit | Ctrl+D | Claude Code beenden |
app:toggleTodos | Ctrl+T | Aufgabenliste umschalten |
app:toggleTranscript | Ctrl+O | Ausführliches Transkript umschalten |
Nutzt du Task-Management-Funktionen, ist app:toggleTodos eine, die du ständig brauchst. Bind sie auf etwas Zugänglicheres, wenn Ctrl+T in deinem Terminal zu Konflikten führt.
Chat-Aktionen
Der Haupt-Eingabebereich, in dem du die meiste Zeit verbringst:
| Aktion | Standard | Was es tut |
|---|---|---|
chat:cancel | Escape | Aktuelle Eingabe abbrechen |
chat:cycleMode | Shift+Tab | Berechtigungsmodi durchschalten |
chat:modelPicker | Cmd+P / Meta+P | Modell-Picker öffnen |
chat:thinkingToggle | Cmd+T / Meta+T | Extended Thinking umschalten |
chat:submit | Enter | Nachricht absenden |
chat:undo | Ctrl+_ | Letzte Aktion rückgängig machen |
chat:externalEditor | Ctrl+G | Im externen Editor öffnen |
chat:stash | Ctrl+S | Aktuellen Prompt sichern |
chat:imagePaste | Ctrl+V (Alt+V auf Windows) | Bild einfügen |
Hinweis: chat:cycleMode ist auf Meta+M voreingestellt auf Windows ohne VT-Modus (Node-Versionen vor 24.2.0/22.17.0, oder Bun vor 1.2.23).
Verlaufs-Aktionen
Durch deinen Befehlsverlauf navigieren:
| Aktion | Standard | Was es tut |
|---|---|---|
history:search | Ctrl+R | Verlaufssuche öffnen |
history:previous | Up | Vorheriges Verlaufselement |
history:next | Down | Nächstes Verlaufselement |
Autovervollständigungs-Aktionen
Wenn das Autovervollständigungs-Menü erscheint:
| Aktion | Standard | Was es tut |
|---|---|---|
autocomplete:accept | Tab | Vorschlag annehmen |
autocomplete:dismiss | Escape | Menü schließen |
autocomplete:previous | Up | Vorheriger Vorschlag |
autocomplete:next | Down | Nächster Vorschlag |
Bestätigungs-Aktionen
Berechtigungs- und Bestätigungsdialoge:
| Aktion | Standard | Was es tut |
|---|---|---|
confirm:yes | Y, Enter | Aktion bestätigen |
confirm:no | N, Escape | Aktion ablehnen |
confirm:previous | Up | Vorherige Option |
confirm:next | Down | Nächste Option |
confirm:nextField | Tab | Nächstes Feld |
confirm:previousField | (nicht belegt) | Vorheriges Feld |
confirm:cycleMode | Shift+Tab | Berechtigungsmodi durchschalten |
confirm:toggleExplanation | Ctrl+E | Berechtigungserklärung umschalten |
permission:toggleDebug | Ctrl+D | Berechtigungs-Debug-Info umschalten |
Transkript-Aktionen
| Aktion | Standard | Was es tut |
|---|---|---|
transcript:toggleShowAll | Ctrl+E | Alle Inhalte anzeigen umschalten |
transcript:exit | Ctrl+C, Escape | Transkript-Ansicht beenden |
Verlaufssuche-Aktionen
| Aktion | Standard | Was es tut |
|---|---|---|
historySearch:next | Ctrl+R | Nächster Treffer |
historySearch:accept | Escape, Tab | Auswahl annehmen |
historySearch:cancel | Ctrl+C | Suche abbrechen |
historySearch:execute | Enter | Ausgewählten Befehl ausführen |
Task-Aktionen
| Aktion | Standard | Was es tut |
|---|---|---|
task:background | Ctrl+B | Aktuelle Aufgabe in den Hintergrund |
Theme-, Hilfe- und Einstellungs-Aktionen
| Aktion | Kontext | Standard | Was es tut |
|---|---|---|---|
theme:toggleSyntaxHighlighting | ThemePicker | Ctrl+T | Syntax-Highlighting umschalten |
help:dismiss | Help | Escape | Hilfe-Menü schließen |
settings:search | Settings | / | Suchmodus öffnen |
settings:retry | Settings | R | Nutzungsdaten neu laden |
Navigations-Aktionen
Diese decken Tabs, Anhänge, Footer, Diffs, Modell-Picker, Auswahllisten und den Nachrichtenauswähler ab:
| Aktion | Kontext | Standard | Was es tut |
|---|---|---|---|
tabs:next | Tabs | Tab, Right | Nächster Tab |
tabs:previous | Tabs | Shift+Tab, Left | Vorheriger Tab |
attachments:next | Attachments | Right | Nächster Anhang |
attachments:previous | Attachments | Left | Vorheriger Anhang |
attachments:remove | Attachments | Backspace, Delete | Anhang entfernen |
attachments:exit | Attachments | Down, Escape | Anhang-Leiste verlassen |
footer:next | Footer | Right | Nächstes Footer-Element |
footer:previous | Footer | Left | Vorheriges Footer-Element |
footer:openSelected | Footer | Enter | Ausgewähltes Element öffnen |
footer:clearSelection | Footer | Escape | Auswahl aufheben |
messageSelector:up | MessageSelector | Up, K | In Liste nach oben |
messageSelector:down | MessageSelector | Down, J | In Liste nach unten |
messageSelector:top | MessageSelector | Ctrl+Up, Shift+Up | Zum Anfang springen |
messageSelector:bottom | MessageSelector | Ctrl+Down, Shift+Down | Zum Ende springen |
messageSelector:select | MessageSelector | Enter | Nachricht auswählen |
diff:dismiss | DiffDialog | Escape | Diff-Viewer schließen |
diff:previousSource | DiffDialog | Left | Vorherige Diff-Quelle |
diff:nextSource | DiffDialog | Right | Nächste Diff-Quelle |
diff:previousFile | DiffDialog | Up | Vorherige Datei |
diff:nextFile | DiffDialog | Down | Nächste Datei |
diff:viewDetails | DiffDialog | Enter | Details anzeigen |
modelPicker:decreaseEffort | ModelPicker | Left | Aufwandsstufe senken |
modelPicker:increaseEffort | ModelPicker | Right | Aufwandsstufe erhöhen |
select:next | Select | Down, J, Ctrl+N | Nächste Option |
select:previous | Select | Up, K, Ctrl+P | Vorherige Option |
select:accept | Select | Enter | Auswahl bestätigen |
select:cancel | Select | Escape | Auswahl abbrechen |
plugin:toggle | Plugin | Space | Plugin umschalten |
plugin:install | Plugin | I | Plugins installieren |
Tastenkombinations-Syntax
Claude Code nutzt eine lesbare Syntax für Tastenkombinationen.
Modifier-Tasten
Modifier-Tasten mit + kombinieren:
ctrlodercontrolfür die Strg-Tastealt,optoderoptionfür Alt/Optionshiftfür Shiftmeta,cmdodercommandfür Meta/Command
Beispiele:
ctrl+k Einzelner Modifier + Taste
shift+tab Shift + Tab
meta+p Command/Meta + P
ctrl+shift+c Mehrere ModifierGroßbuchstaben und Shift
Ein alleinstehendes Großbuchstabe impliziert Shift. K in deinen Bindings zu schreiben ist dasselbe wie shift+k. Das ist besonders nützlich für Vim-artige Bindings, wo j und J (oder k und K) verschiedene Dinge tun.
Ein wichtiges Detail: Großbuchstaben mit Modifiern implizieren KEIN Shift. ctrl+K ist also identisch mit ctrl+k. Das Großbuchstabe wird bei vorhandenen Modifiern als rein stilistisch behandelt.
Chord-Sequenzen
Chords erlauben dir mehrgliedrige Shortcuts. Die Tastenanschläge mit einem Leerzeichen trennen:
ctrl+k ctrl+s Ctrl+K drücken, loslassen, dann Ctrl+S drücken
Das gibt dir einen viel größeren Namespace für Shortcuts. Wenn dir die Einzeltasten-Kombinationen ausgehen, eröffnen Chords Hunderte von Möglichkeiten ohne Konflikte mit bestehenden Bindings.
Sondertasten
Diese Namen für Nicht-Buchstaben-Tasten verwenden:
escapeoderescenteroderreturntabspaceup,down,left,rightbackspace,delete
Standard-Shortcuts deaktivieren
Setze eine Aktion auf null, um sie zu deaktivieren:
{
"bindings": [
{
"context": "Chat",
"bindings": {
"ctrl+s": null
}
}
]
}Das ist nützlich, wenn ein Standard-Shortcut mit deinem Terminal, deinem OS oder einem Tool kollidiert, das du neben Claude Code benutzt. Du kannst auch einen Standard deaktivieren und dann dieselbe Taste einer anderen Aktion neu zuweisen.
Reservierte Shortcuts
Zwei Shortcuts sind fest einprogrammiert und können nicht neu belegt werden:
| Shortcut | Grund |
|---|---|
| Ctrl+C | Fest einprogrammierter Interrupt/Abbruch |
| Ctrl+D | Fest einprogrammierter Exit |
Versuch nicht, diese neu zu belegen. Claude Code akzeptiert das nicht, und das aus gutem Grund. Ctrl+C als Interrupt und Ctrl+D als Exit sind Unix-Konventionen, die jeder Terminal-Benutzer erwartet.
Terminal-Multiplexer-Konflikte
Läufst du Claude Code innerhalb von tmux, GNU screen oder einem anderen Multiplexer, pass auf Präfix-Taste-Konflikte auf:
| Shortcut | Konflikt |
|---|---|
| Ctrl+B | tmux-Präfix (zweimal drücken zum Durchleiten) |
| Ctrl+A | GNU screen-Präfix |
| Ctrl+Z | Unix-Prozess-Suspend (SIGTSTP) |
Die Standard-Aktion task:background nutzt Ctrl+B, was direkt mit tmux kollidiert. Bist du tmux-Nutzer, belege es sofort neu:
{
"bindings": [
{
"context": "Task",
"bindings": {
"ctrl+b": null,
"ctrl+shift+b": "task:background"
}
}
]
}Das ist eine der häufigsten Verwirrungsquellen für Entwickler, die Claude Code innerhalb von Terminal-Sessions mit Multiplexern betreiben.
Vim-Modus-Interaktion
Wenn der Vim-Modus aktiviert ist (umschalten mit /vim), arbeiten Keybindings und Vim-Modus auf verschiedenen Ebenen:
- Vim-Modus steuert die Texteingabe: Cursorbewegung, Modi (INSERT, NORMAL), Motions und Text-Objekte
- Keybindings steuern Anwendungsaktionen: Aufgabenliste umschalten, Nachrichten absenden, Modell-Picker öffnen
Der entscheidende Unterschied ist die Escape-Taste. Im Vim-Modus wechselt Escape von INSERT nach NORMAL. Es löst nicht chat:cancel aus. Die meisten Ctrl+Taste-Shortcuts werden durch den Vim-Modus an das Keybinding-System weitergegeben, also schaltet Ctrl+T noch immer deine Aufgabenliste um, auch wenn du im NORMAL-Modus bist.
Im NORMAL-Modus zeigt ? das Hilfe-Menü (Standard-Vim-Verhalten), nicht die Claude Code-Hilfe.
Validierung und Diagnose
Claude Code validiert deine Keybindings-Datei automatisch und warnt dich bei:
- Parse-Fehlern in JSON-Syntax oder Struktur
- Ungültigen Kontext-Namen, die nicht zu den 17 unterstützten Kontexten passen
- Reservierten Shortcut-Konflikten, wenn du Ctrl+C oder Ctrl+D neu belegen willst
- Terminal-Multiplexer-Konflikten bei Ctrl+B, Ctrl+A und Ctrl+Z
- Doppelten Bindings im selben Kontext
Führe /doctor aus, um alle Keybinding-Warnungen auf einmal zu sehen. Das ist der schnellste Weg zu diagnostizieren, warum ein Shortcut nicht wie erwartet funktioniert.
Praktische Konfigurationsbeispiele
Hier sind reale Konfigurationen, die häufige Probleme lösen.
VS Code-Nutzerkonfiguration
Kommst du aus VS Code und willst vertraute Shortcuts:
{
"$schema": "https://platform.claude.com/docs/schemas/claude-code/keybindings.json",
"bindings": [
{
"context": "Chat",
"bindings": {
"ctrl+k ctrl+s": "chat:stash",
"ctrl+shift+p": "chat:modelPicker",
"ctrl+g": "chat:externalEditor"
}
},
{
"context": "Global",
"bindings": {
"ctrl+shift+t": "app:toggleTodos"
}
}
]
}tmux-freundliches Setup
Vermeidet alle tmux-Präfix-Konflikte:
{
"$schema": "https://platform.claude.com/docs/schemas/claude-code/keybindings.json",
"bindings": [
{
"context": "Task",
"bindings": {
"ctrl+b": null,
"ctrl+shift+b": "task:background"
}
}
]
}Minimales Ablenkungssetup
Deaktiviere Shortcuts, die du versehentlich immer wieder drückst:
{
"$schema": "https://platform.claude.com/docs/schemas/claude-code/keybindings.json",
"bindings": [
{
"context": "Chat",
"bindings": {
"ctrl+s": null,
"ctrl+u": null
}
}
]
}Chord-basiertes Power-User-Setup
Chords nutzen, um weniger häufig verwendete Funktionen zu erreichen, ohne einzelne Tasten zu blockieren:
{
"$schema": "https://platform.claude.com/docs/schemas/claude-code/keybindings.json",
"bindings": [
{
"context": "Chat",
"bindings": {
"ctrl+k ctrl+t": "chat:thinkingToggle",
"ctrl+k ctrl+m": "chat:modelPicker",
"ctrl+k ctrl+e": "chat:externalEditor"
}
}
]
}So bleiben deine meistgenutzten Einzeltasten-Shortcuts sauber, während du trotzdem schnellen Zugriff auf alles andere hast.
Deine eigene Konfiguration aufbauen
Fang klein an. Versuche nicht, alles auf einmal umzumappen. Hier ist ein praktischer Ansatz:
/keybindingsausführen, um die Konfigurationsdatei zu erstellen- Deine top 3 Schmerzpunkte identifizieren (kollidierte Shortcuts, fehlende Shortcuts, versehentliche Auslöser)
- Diese zuerst beheben mit gezielten Bindings
/doctorausführen, um zu validieren- Claude Code für eine vollständige Session nutzen und verbleibende Reibung notieren
- Iterieren durch Hinzufügen oder Anpassen von Bindings nach Bedarf
Das Ziel ist nicht, jeden möglichen Shortcut anzupassen. Es geht darum, die Reibung zwischen deinem Muskelgedächtnis und Claude Codes Verhalten zu beseitigen. Die meisten Entwickler brauchen nur 5-10 eigene Bindings, um sich völlig zu Hause zu fühlen. ClaudeFasts Code Kit kommt mit einer voreingestellten settings.json, die keybinding-freundliche Standardwerte zusammen mit Slash-Befehlen und Hooks enthält, damit du mit einer soliden Basis startest statt von Null.
Wenn du ein umfassenderes Claude Code-Setup aufbaust, arbeiten deine Keybindings neben CLAUDE.md-Konfiguration und eigenen Slash-Befehlen zusammen, um eine vollständig personalisierte Umgebung zu schaffen. Die Keybindings steuern die physische Schnittstelle. Die Konfigurationsdateien steuern die Verhaltensschnittstelle. Zusammen lassen sie Claude Code so anfühlen, als wäre es speziell für deinen Workflow gebaut worden.
Hören Sie auf zu konfigurieren. Fangen Sie an zu bauen.
SaaS-Builder-Vorlagen mit KI-Orchestrierung.