100xprompt.json and they follow you into every project.
Understand the leader key
Most shortcuts are built on a leader key: a single prefix you press first, then follow with one more key to trigger an action. This keeps the fast, single-stroke keys free for typing while giving you a whole namespace of two-stroke commands that never collide with normal input. The default leader isctrl+x. So the default binding <leader>n means “press ctrl+x, release, then press n” to start a new session. Bindings that use the literal token <leader> inherit whatever you set the leader to - change the leader once and every leader-based shortcut moves with it.
Remap an action
Suppose the default new-session chord fights your muscle memory and you want your own. All keyboard customization lives under thekeybinds object in 100xprompt.json. Each entry maps an action name to the key (or keys) that trigger it. List only the actions you want to change - everything you leave out keeps its default.
- Multiple keys, one action. Separate alternatives with a comma to bind several shortcuts to the same action. For example, the default exit binding is
ctrl+c,ctrl+d,<leader>q- any of the three works. <leader>is a live token. Use it anywhere in a binding and it expands to your current leader key, so rebinding the leader updates every leader chord at once.- Disable a binding with
none. Set any action to"none"to unbind it entirely. Several actions ship unbound (none) by default and become available the moment you assign them a key.
Browse the shortcut categories
The bindings group into a handful of areas - session control, navigation, models and agents, and prompt editing. This map shows the shape of what’s remappable.Reach for the common bindings
These are the shortcuts you’ll use most. Where a default begins with<leader>, press your leader key first (default ctrl+x), then the key shown.
| Action | Config key | Default binding | What it does |
|---|---|---|---|
| New session | session_new | <leader>n | Start a fresh session |
| List sessions | session_list | <leader>l | Open the session picker |
| Compact session | session_compact | <leader>c | Summarize and shrink the conversation |
| Export session | session_export | <leader>x | Send the session to your editor |
| Session timeline | session_timeline | <leader>g | Show the session timeline |
| Interrupt | session_interrupt | escape | Stop the current response |
| Send task to background | task_background | ctrl+b | Move a running task to the background |
| List models | model_list | <leader>m | Open the model picker |
| Next recent model | model_cycle_recent | f2 | Switch to your next recent model |
| List agents | agent_list | <leader>a | Open the agent picker |
| Cycle agent | agent_cycle | tab | Switch to the next agent |
| Cycle permission mode | permission_mode_cycle | <leader>p | Rotate default → acceptEdits → auto → plan |
| List commands | command_list | ctrl+p | Open the command palette |
| List themes | theme_list | <leader>t | Open the theme picker |
| Open editor | editor_open | <leader>e | Compose your prompt in an external editor |
| Toggle sidebar | sidebar_toggle | ctrl+l or <leader>s | Show or hide the sidebar |
| Copy message | messages_copy | <leader>y | Copy the focused message |
| Undo message | messages_undo | <leader>u | Undo the last message |
| Redo message | messages_redo | <leader>r | Redo an undone message |
| Page up / down | messages_page_up / messages_page_down | pageup / pagedown | Scroll the transcript by a page |
| First / last message | messages_first / messages_last | ctrl+g / end | Jump to the top or bottom |
| Submit prompt | input_submit | return | Send the current prompt |
| Insert newline | input_newline | shift+return (among others) | Add a line break without submitting |
| Exit | app_exit | ctrl+c, ctrl+d, or <leader>q | Quit 100xprompt |
This table covers the shortcuts most people customize. There are many more fine-grained bindings - especially for cursor motion and text editing inside the prompt - and every one of them is a key under
keybinds that you can override the same way.Put it together
Here’s a compact setup that moves the leader key toctrl+a, disables a binding, and stacks two shortcuts onto one action:
ctrl+a becomes the leader, both <leader>m and f3 open the model list, and the message-copy shortcut is turned off.
Related
Terminal
Get to know the terminal interface these shortcuts drive.
Settings & Configuration
See how
keybinds fits alongside every other option in 100xprompt.json.