Keybindings
View the active chords with /hotkeys, customize remaps in ~/.gjc/agent/keybindings.json, and reference the common namespaced action IDs and their defaults.
Gajae-Code (gjc) ships a set of interactive keybindings. The exact chords depend on your build, any remaps you have loaded, and bindings added by extensions.
See the active bindings
Run /hotkeys inside a gjc session to see the active chords for your current build. The list reflects any remaps loaded from disk plus any bindings contributed by extensions, so it is always the authoritative view for your environment.
Customize keybindings
User remaps live in:
~/.gjc/agent/keybindings.jsonThe file is a JSON object whose keys are keybinding action IDs and whose values are either one chord string or an array of chord strings. It is not read from ~/.gjc/agent/config.yml, and there is no nested keybindings object.
{
"app.model.cycleForward": "Ctrl+P",
"app.model.selectTemporary": "Alt+P",
"app.plan.toggle": "Alt+Shift+P"
}Chord names are case-insensitive and use the same notation shown in the UI, such as Ctrl+P, Alt+Shift+P, Shift+Enter, and Ctrl+Backspace.
Set an action to an empty array to disable it:
{
"app.stt.toggle": []
}Older unqualified action names are migrated when keybindings.json is loaded, but new configs should use the namespaced action IDs below.
Common action IDs
| Action ID | Default | Meaning |
|---|---|---|
app.model.cycleForward | Ctrl+P | Cycle role models forward |
app.model.cycleBackward | Shift+Ctrl+P | Cycle role models backward |
app.model.selectTemporary | Alt+P | Pick a model temporarily for this session |
app.model.select | Ctrl+L | Open the model selector and set roles |
app.plan.toggle | Alt+Shift+P | Toggle plan mode |
app.history.search | Ctrl+R | Search prompt history |
app.tools.expand | Ctrl+O | Toggle tool-output expansion |
app.thinking.toggle | Ctrl+T | Toggle thinking-block visibility |
app.thinking.cycle | Shift+Tab | Cycle thinking level |
app.editor.external | Ctrl+G | Edit the draft in $VISUAL / $EDITOR |
app.message.followUp | Ctrl+Enter | Queue a follow-up message |
app.message.queue | Alt+Enter | Explicitly queue a message for the next turn |
app.message.dequeue | Alt+Up | Dequeue a queued message back into the editor |
app.clipboard.pasteImage | Ctrl+V (Alt+V on Windows) | Paste an image from the system clipboard |
app.clipboard.copyLine | Alt+Shift+L | Copy the current line |
app.clipboard.copyPrompt | Alt+Shift+C | Copy the whole prompt |
app.stt.toggle | Alt+H | Toggle speech-to-text recording |
These are the common bindings; run /hotkeys for the complete, build-accurate list including extension-contributed actions. The registry intentionally reuses some default chords across different focused contexts, such as Enter, Ctrl+C, and Ctrl+P; only the active component dispatches its binding.
Related pages
Environment variables
Categorized reference for Gajae-Code environment variables — provider credentials, base-URL overrides, web-search keys, and storage and behavior toggles.
Status line & usage HUD
Configure the gjc status-line HUD through statusLine in config.yml, enable the 5h/7d Anthropic usage segment, and read live limits with the /usage command.