Keybindings
The shortcuts you can rebind, how rebinding works, and the substantial list of shortcuts that work but don't appear on this page.
Settings → Keybindings. Two sections — Editor and Agentic chat — showing the
app's shortcuts and letting you change most of them.
Rebinding#
Click the shortcut, then press the new keys. The chip reads Press keys… while it's listening,
and every keystroke is captured rather than acted on, so you can't accidentally trigger something
mid-rebind.
Escape cancels, and so does clicking anywhere else.
Your combination must include Ctrl (or Cmd) or Alt. A bare letter or function key is
rejected and the chip keeps waiting — these are global bindings, and a bare key would hijack typing
everywhere.
If the combination is already used by another shortcut on this page, nothing is saved and the row
tells you which one has it: Already used by "Toggle terminal". If it's a combination your browser
or OS normally owns — Ctrl+W, Ctrl+R, Ctrl+Q and friends — an amber ⚠ names the clash but
the binding is saved. That's a judgement call left to you.
A small reset arrow appears at the left of any row you've changed, to put it back. There's no reset-all.
Note
Keybindings are stored per project. Rebind something here and other projects keep the defaults.
What you can rebind#
Everything in this group is driven by this page, and takes effect immediately.
| Shortcut | Row | Does |
|---|---|---|
Ctrl+J |
Toggle terminal | Show/hide the bottom panel |
Ctrl+Shift+F |
Open search | Open the Search panel and focus its box |
Ctrl+, |
Open settings | Open Settings, or jump to it if it's already open |
Ctrl+B |
Toggle Explorer | Show/hide the explorer panel |
Ctrl+Shift+A |
Toggle Agent panel | Show/hide the agent panel (does nothing in runs mode) |
Ctrl+Shift+G |
Toggle Navigation | Show/hide the graph's navigation dial and camera buttons |
F11 |
Full screen (Esc also exits) | Full screen; the panels stay as they were |
Ctrl+T |
New chat | Start a new conversation |
Ctrl+Tab / Ctrl+Shift+Tab |
Next / Previous chat tab | Cycle conversations |
Ctrl+Shift+→ / Ctrl+Shift+← |
Next / Previous chat tab (alt) | The same, second binding |
Ctrl+Shift+↓ / Ctrl+Shift+↑ |
Minimize / Restore all run cards | Runs mode only |
What you can't#
These appear on the page greyed out, with the tooltip Not remappable yet. They work; they just can't be changed.
| Shortcut | Does |
|---|---|
Ctrl+S |
Save the open file |
F2 |
Rename the focused item in the explorer |
Delete |
Delete the selected explorer items |
Enter |
Open the focused file or folder in the explorer |
Ctrl+←/→/↑/↓ |
Snap the active floating window to a half of the screen |
Ctrl + / - |
Zoom the interface and editor fonts together |
Ctrl+1–9 |
Jump to chat tab N (9 is always the last) |
Space Space |
Collapse/expand the runs-mode command bar |
Enter |
Send the chat message (Shift+Enter for a newline) |
Escape |
Stop the agent |
Shortcuts that aren't on this page at all#
This is the part worth reading, because the page looks like a complete list and isn't. All of these work, none of them appear there, and none can be rebound.
(Enter and Escape do appear on the page — but only for sending, opening a file, and stopping
the agent. The other jobs they do below are listed nowhere.)
In the editor
| Shortcut | Does |
|---|---|
F12 |
Go to definition |
Ctrl+F |
Find in this file |
Ctrl+G / Shift+Ctrl+G, F3 / Shift+F3 |
Find next / previous |
Ctrl+Z / Ctrl+Y |
Undo / redo (Ctrl+Shift+Z also redoes on Linux, ⌘⇧Z on macOS) |
Ctrl+/ |
Toggle comment |
Ctrl+D |
Select the next occurrence |
Ctrl+Shift+L |
Select all matches |
Alt+↑ / Alt+↓ |
Move the line up / down |
Shift+Alt+↑ / Shift+Alt+↓ |
Copy the line up / down |
Ctrl+Alt+↑ / Ctrl+Alt+↓ |
Add a cursor above / below |
Ctrl+Shift+K |
Delete the line |
Ctrl+[ / Ctrl+] |
Outdent / indent |
Ctrl+Alt+G |
Go to line |
Tab |
Expand an Emmet abbreviation, or indent |
In the explorer — Ctrl+C, Ctrl+X, Ctrl+V copy, cut and paste files and folders.
Over the 3D view — Escape first cancels a highlight in progress, then closes the open node
card, and only then leaves full screen.
In the chat composer (desktop app only) — Ctrl+Z undo, Ctrl+Shift+Z or Ctrl+Y redo,
Ctrl+Shift+←/→ extends the selection by a word, Ctrl+Shift+↑/↓ by a line.
Everywhere — Escape closes menus, dropdowns, dialogs, the image viewer and the project picker;
↑ ↓ Enter Escape drive the search panel and inline rename fields.
Important
The conflict check only knows about the shortcuts on this page. You can rebind something onto
F12, Ctrl+F or Ctrl+Z with no warning at all, and then have two things happen at once.
Check this list before choosing.
Some shipped defaults already overlap, without you doing anything: in a code editor or the
chat box, Ctrl+Shift+←/→ extends the selection by a word and switches chat tab; in the chat
box Ctrl+Shift+↑/↓ extends the selection and minimises or restores the run cards; and in the
editor Ctrl+Shift+G finds the previous match and toggles the navigation dial. None of that is
flagged anywhere.
Things that will look like bugs#
Ctrl+O does nothing. The project chip's menu shows Open Project with Ctrl+O next to it,
but there's no shortcut behind it. Use the menu item.
The menu bar doesn't follow your rebinds. The shortcut in each icon's tooltip is fixed text.
Rebind Toggle Explorer to something else and the Explorer panel tooltip still says Ctrl+B
forever.
On Linux, the Super key also triggers everything. Every Ctrl+… shortcut here answers to
Super+… as well. If a shortcut fires when you meant to do something with your window manager,
that's why.
The terminal eats almost every Ctrl shortcut. Ctrl+J is the only combination it hands back
to the app — so that the toggle keeps working while you're in it, at the cost of never being able to
send a literal Ctrl+J to a program running there. Everything else that maps to a control character
— Ctrl+B, Ctrl+T, Ctrl+S — belongs to the terminal while it has focus and never reaches
Semantix, rebound or not.
Note
Ctrl+Tab and Ctrl+1–9 are taken by the browser when Studio runs in a browser tab. They only
reach the app in the desktop build.