---
title: Keyboard shortcuts (every binding, and how to change them)
---

# Keyboard shortcuts

## What it is

Almost every action in Omniscio has a keyboard shortcut. The defaults are documented below — every one is rebindable from **Settings → Keyboard Shortcuts**, and every action can have **multiple bindings** (up to 25 per action) so you can layer your own shortcuts on top of the defaults instead of replacing them. This now includes the **system-wide (OS-level) hotkeys** — every global hotkey row and every Quick Launch tab (so the **Task** tab, for example, can open from Alt+Space _and_ Alt+T _and_ any others you add). Each key is its own removable pill; press **Add** to record another.

Two layers exist. The **app shortcuts** (everything in this page) fire while Omniscio is the focused window — they're handled by the renderer's keyboard dispatcher. The **global hotkeys** (Ctrl+Shift+M to focus the window, Ctrl+Space to open the Quick Launch floating composer, Ctrl+Shift+J for the Omni briefing, Ctrl+Shift+S to open the Quick scratchpad) fire even when Omniscio is in the background or hidden to the tray, because they're registered with the OS via Electron's `globalShortcut` API. All of the OS-level hotkeys are editable from **Settings → Keyboard Shortcuts → System-wide** (the group pinned at the top of the groups rail, mirrored from their original homes — edits in either location write the same field). That same System-wide group is now the **one place every works-anywhere shortcut lives**: alongside the core hotkeys (Global, Quick Launch, Omni briefing, KMS window, KMS quick find, Supermail window, Team Chat window, Quick scratchpad) it lists a global-hotkey row for **every Quick Launch tab** — Calendar (which ships with a **Ctrl+Alt+J** default), Alarm, Task (which ships with an **Alt+Space** default), Drip, Bookmark, Search, Ask Omniscio, Team Time, and Email (which ships with an **Alt+E** default, active only when Quick Email is on) — and one row per saved **Quick Email contact**. The tab rows mirror **Settings → Quick Launch tabs** and the contact rows mirror **Settings → Quick Email** (edits in either location write the same field). When two enabled global hotkeys are bound to the same combination, each shows an amber **"Also used by …"** note so you never set one that silently loses the slot. And a system-wide hotkey can no longer fail silently: if Windows or another app already owns the combination when Omniscio tries to register it, the row shows a red **"Not active — another app on your system is using this key"** note (live — it appears the moment a rebind fails and clears when you pick a free key), and the first time a given failure is ever seen Omniscio shows one warning toast pointing you here. The warning fires once per problem, not on every launch; the red note stays until the key actually binds. **One Windows-specific case gets its own warning:** if you have a Chinese, Japanese, or Korean keyboard installed, **Ctrl+Space** is also the Windows "switch input method" key — so the default Quick Launch shortcut can open Quick Launch _and_ flip your keyboard's input language at the same time. When Omniscio detects that combination it drops a dismissible inbox notice with a one-click **Rebind Quick Launch** button that moves Quick Launch to the first free shortcut (a typical PC lands on **Ctrl+Alt+Space**), keeping any other Quick Launch keys you've added. The notice clears itself once Quick Launch is off Ctrl+Space, and you can switch the warning off entirely from **Settings → Notifications** (or the "Turn off these warnings" button on the notice itself). Everyone else keeps Ctrl+Space as the default — nothing changes for you unless you have a CJK keyboard. **On macOS the Quick Launch default is ⌘⌥L (Cmd+Option+L), not Cmd+Space** — Cmd+Space is macOS Spotlight, so Omniscio ships a Mac-friendly default there (Windows and Linux keep Ctrl+Space). Macs that already had Cmd+Space keep it, but you can now clear it from **Settings → Keyboard Shortcuts → System-wide** with the X button and it stays cleared across restarts. Their original homes remain functional: **Settings → System → Global Hotkey**, **Settings → Quick Launch → Quick Launch Hotkey**, and **Settings → Voice & Speech → Omni Session Briefing → Global hotkey** for the Omni briefing combo. Everything else lives only in **Settings → Keyboard Shortcuts**. **Each global hotkey can be fully disabled** — clear the field via the X button in its setting (treats empty as "not registered" so it can never intercept your keystrokes), or for Quick Launch / Omni briefing flip the dedicated "Enabled" toggle off.

A few keys behave differently depending on **focus context**: bare letter keys (E to archive, P to pause, H to snooze, C to continue, W to keep waiting) only fire when the composer textarea is NOT focused — typing "perfect" into a reply doesn't pause your sessions, and starting a message with "can you…" types a `c` rather than continuing the session. So that **C** (Continue / Check in) and **W** (Keep waiting) stay reachable, a session in a recovery state (paused / stalled / errored / ended — or parked on a login-expired **"re-authenticate"** screen) lands your cursor on the **conversation** instead of the box on entry — so a bare **C** continues immediately; click the box (or press **R**) to type. A session showing a **tool-permission card** (Allow / Deny) does the same, so **Y** / **Enter** (allow) and **X** (deny) work the moment you open it — a permission card is answered with a button, not by typing, and sending a message there actually *cancels* the request. If the card arrives while you're already mid-message, your cursor is never yanked out of the box: **Enter** still sends what you were writing. Shortcuts with a modifier (Ctrl+W, Alt+S, Ctrl+Shift+P) fire even with the composer focused, which is why most "must work while typing" actions get a modifier.

A small set of **navigation hotkeys are universal** — **Go to Inbox** (Ctrl+Q) and the project/inbox switchers (**Ctrl+1** through **Ctrl+0**) reach their destination from _anywhere_ in the app, even while you're typing inside a Mind Map node, a KMS note, the Question Widget, a pop-up dialog, or an embedded panel that's really its own mini-browser (the in-app browser, plugin panels, Help, Image Studio, Running Apps). No sub-view can intercept them. (The bare letter `I` for Go to Inbox still types normally inside a text box — only the modifier combos punch through.) The only two screens that keep the keyboard to themselves are the first-run setup wizard and the sign-in screen, so a stray Ctrl+1 can't skip them.

Press **?** at any time to open a live cheat-sheet overlay listing the currently-active bindings (it reflects your customizations, not just defaults). On desktop, Omniscio surfaces this once on its own: shortly after your first real session on a machine, a one-time tip toast says _"Tip: press ? anytime to see every keyboard shortcut"_ with a **Show me** button that opens the overlay. It reads your live binding (so it says the right key even if you rebound the overlay), never appears during setup or sign-in, never on phones/tablets, and once dismissed — or once you've opened the overlay yourself — it never returns. Prefer the mouse? The same overlay opens from the toolbar's "More" (`⋯`) menu → **Help & support → Keyboard Shortcuts** (pinnable like any toolbar button).

## Where to find it

The bindings are listed and edited in **Settings → Keyboard shortcuts** — click a binding and press the keys you want. This page is the reference copy of the same list, useful when you are reading outside the app.

## How it behaves

### How to use it

1. **To see the full live list with your overrides.** Press **?** anywhere in the app — or click the toolbar's "More" (`⋯`) menu → **Keyboard Shortcuts** (under _Help & support_). The Keyboard Shortcuts overlay opens with sections for Global, Navigation, Gmail, and Diff Review shortcuts. Press **?** again or **Esc** to close.
2. **To rebind a shortcut.** Open Settings (gear icon) → **Keyboard Shortcuts**. The panel is a **two-pane (master–detail) layout**: a **groups rail** on the left and the selected group's shortcuts on the right. The rail lists a pinned **System-wide** group (the core OS hotkeys — Global, Quick Launch, Omni briefing, KMS window, KMS quick find, Supermail window, Team Chat window, Scratchpad window — plus a row for every Quick Launch tab and every saved Quick Email contact, all of which fire even when Omniscio is in the background) followed by **General** (app-focused everywhere), **Navigation**, **Session**, **Focused message** (while a message cursor is set — see below), **Gmail** (when active project is a Gmail channel), **Diff Review** (when reviewing a session's changes), and **Briefings** (when viewing the Briefings viewer). Each rail row shows a live count, and the header above the list names the group and says when its keys fire. There are no collapsible sections anymore — click a group to view it. A **search box** at the top filters across every group at once: matching shortcuts appear as a flat list (each tagged with its group) and the rail counts update live. **You can search by the key itself, not just the action name** — type a modifier or key (`Ctrl`, `Shift`, `Tab`, `Enter`, `↑`), an alternate spelling (`control`, `return`, `escape`, `win`), or the symbol printed on the cap, and every shortcut whose combination uses that key surfaces, System-wide OS hotkeys included (so `ctrl` finds a `CommandOrControl` hotkey and `win` finds a `Super` one). To rebind: find the action and click **+ Add shortcut** next to it (on an action that already has a shortcut this button stays tucked away until you hover the row or tab to it — so the label no longer repeats down every row; a shortcut-less action shows **+ Set a shortcut** outright), then press the key combination you want — up to 25 bindings per action (the same **Add** flow now works on the System-wide global hotkeys and Quick Launch tab rows, so a global hotkey can hold several keys too). Each shortcut renders as a bounded **pill** (one or two are joined by a quiet "or"; three or more stack one-per-line), and an action you've changed from its defaults shows a small amber **Customized** badge. Conflicts (same combination on two actions in the same scope) show a yellow warning; OS-reserved combinations (Ctrl+R, F5, F11, F12, Ctrl+Shift+I/J, Alt+F4, Ctrl+F4) are rejected with an error so they can't intercept browser/Electron functions. **And if you bind an app shortcut to a combination an enabled system-wide hotkey already owns** (say a Screen Recorder or Quick Launch hotkey), the row shows an amber warning that the system-wide hotkey _runs first — so this shortcut won't fire_; the OS intercepts that combination before Omniscio's window ever sees it, so pick a different combination here or change the system-wide hotkey. To remove a binding, hover its pill and click the **X**; to restore defaults, click the circular-arrow **Reset to defaults** button at the top.
3. **To find the Keyboard Shortcuts panel quickly.** In Settings search, type any of `hotkey`, `hotkeys`, `hot key`, `keyboard shortcut`, `keyboard shortcuts`, `shortcut`, or `shortcuts` — the Keyboard Shortcuts entry is pinned to the top of results for these exact-match queries. Compound queries like `global hotkey` still rank normally so users searching for a specific OS-level field aren't hijacked.
4. **Use the cheat sheet to discover, not memorize.** Press **?**, scan, then close. You don't have to learn everything — most users live with N (new session), Enter (send), Esc (interrupt), Ctrl+K (search), and a couple of letter keys.
5. **Hover a control to see its key.** Any control wired to a keyboard shortcut shows its CURRENT key right in its hover tooltip, drawn as a small physical **key-cap** — automatically, everywhere, with no per-button setup (hovering "Launch agent for this task" shows a **G** cap; the composer's Continue button shows **C**; the AI suggestion chips show **Alt+1** / **Alt+2** / **Alt+3**). This now includes every **pop-up dialog's footer buttons**: **Cancel** (and any close button) shows an **Esc** cap, and the confirm / primary button shows the key that submits it — **Ctrl+Enter** on most dialogs (e.g. the Start-session dialog), or **Enter** on a simple "Are you sure?" confirm — so you can dismiss or confirm any dialog from the keyboard and see how. This is the one universal way Omniscio displays a hotkey: the same key-cap style also renders in the Settings → Keyboard Shortcuts panel, the **?** cheat-sheet, and menu shortcut hints, so a key looks identical wherever you meet it. **On a phone or other keyboard-less touch device these shortcut hints are hidden** — the session **⋯** menu's shortcut badges, a right-click / long-press menu's shortcut column, the search / command pop-up footer legend (↑↓ navigate · Enter select · Esc close), and the Undo toast's "(Ctrl+Z)" all drop out, since there's no key to press. (Tooltips don't open on touch anyway, and the **Settings → Keyboard Shortcuts** screen still shows every key everywhere — there the key IS the thing you're editing.) Every one reads the same resolved bindings as the **?** overlay, so the moment you rebind an action all of them update together — tooltip, panel, and cheat-sheet alike. The key-caps aren't limited to buttons carrying that internal marker — **a shortcut written directly in a tooltip's text is drawn as caps too, automatically**, so a spot that pairs a key with surrounding words shows the key as a cap and the words as plain text. Each **Quick Launch tab** shows its in-window position key alongside its works-anywhere global hotkey as caps with a quiet "works anywhere" note (so **Ctrl+2** and **Ctrl+Alt+J** appear as key-caps, not spelled out), and the **first link in the latest agent reply** — plus the first link in an open drip / alert / digest / weekly-summary / scheduled-message reading pane, or the link on the task row you're focused on in **Tasks** — reads **"Open with Ctrl+Shift+Q"** on hover with the key drawn as caps (rebinding updates it; clearing the binding hides it). (The voice-mic button intentionally shows no hint: clicking it starts _dictation_, whereas Alt+V starts a _voice command_ — two different actions, so advertising that key on the mic would be misleading.)
6. **While a menu is open, its keys belong to the menu.** The arrow keys move through it, **Enter** or **Space** picks the highlighted row, and **Esc** or **Tab** closes just that menu — so a key you press in a menu never acts on the session behind it (single-letter shortcuts like **E** or **J**, and **Tab** for the next session, wait until the menu is closed). Shortcuts with **Ctrl**, **Alt** or **Cmd** still work. This holds for Omniscio's own menus, right-click menus included (plugin panels run their own menus). In the **Quick Launch** window (Ctrl+Space), **Esc** (or **Ctrl+W**, or a second Ctrl+Space) closes whatever is open on top first — a menu, a dropdown, a popover, the emoji picker or a palette — and the next press closes the window.

### Acting on one message — the Focused message keys

You can put a keyboard cursor on a single message in a session's conversation, and then act
on just that message:

| Keys                      | What they do                                                                                                                                                                         |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **Shift+↑** / **Shift+↓** | Move the message cursor up / down the conversation. Until a message is focused, the three keys below do nothing.                                                                      |
| **Ctrl+C**                | Copy the focused message. A real text selection, or the cursor sitting in an input, still wins — this only copies the bubble when nothing is selected and you are not typing.         |
| **Ctrl+Shift+T**          | Toggle the focused message's tool-activity section open or closed.                                                                                                                    |
| **Ctrl+Shift+B**          | **Re-run from focused message** — opens the re-run dialog and forks a new session seeded from that message.                                                                           |

All four live in their own **Focused message** group in **Settings → Keyboard Shortcuts** and are
rebindable like any other shortcut. The group is **scoped**: its keys only do anything while
a message cursor is set, which is what lets **Ctrl+C** mean "copy this message" here without
disturbing ordinary copy everywhere else.

### One-handed layout (opt-in)

Settings → Keyboard Shortcuts has an **Apply one-handed layout** toggle just below **Reset to defaults**. Turn it on to write a left-hand-only layout so you can drive the conversation thread without leaving the home row — handy if your other hand is busy; turn it off to put those keys back to their defaults (your other custom shortcuts stay untouched). The toggle shows **on** whenever the layout is currently applied. It replaces a setup people used to script in AutoHotKey with native Omniscio bindings. Find it fast — search Settings for **one-handed** or **left-handed** and the **One-handed layout** result jumps you straight to it.

What it sets (as editable overrides — your other custom bindings are preserved, and turning the toggle off — or **Reset to defaults** — undoes it):

| Key                       | Does                                                                                                               |
| ------------------------- | ------------------------------------------------------------------------------------------------------------------ |
| **W** / **S**             | Previous / next session                                                                                            |
| **A** / **D**             | Down / up one message in the thread                                                                                |
| **Ctrl+W** / **Ctrl+S**   | Up / down one message in the thread                                                                                |
| **Shift+W** / **Shift+S** | Up / down one message in the thread — the same as **Ctrl+W** / **Ctrl+S**, on the Shift modifier                   |
| **Alt+W** / **Alt+A**     | Jump to the top / bottom of the thread                                                                             |
| **E**                     | Archive · **R** Reply · **Q** Focus the question · **H** Snooze · **G** Jump to attention · **F** Pause            |
| **Z**                     | Keep waiting — re-arm the silent 30-min wait on a timed-out session (moved off **W**, which now switches sessions) |

Because the layout reuses **Ctrl+W** for "up one message" and gives **F** to pause, applying it moves _archive_ onto **E** only. **F** reaches the session-list focus filter nowhere: that filter answers to **Shift+F**, which the layout leaves alone (the toolbar bell is a different feature and does not switch it; rebind the filter in Settings → Keyboard Shortcuts, and while it is on the sidebar banner's **Show all** button turns it off). It also puts message-stepping on the bare **A** / **D** keys (**A** down, **D** up), so _snooze_ moves to **H** and _jump-to-attention_ to **G** — both still one key, just relocated to keep **A**/**D** free. _Keep-waiting_ likewise moves to **Z**, since its default key **W** now switches sessions. The **W**/**S** keys do double duty: pressed bare they move between sessions, and with **Shift** held (**Shift+W**/**Shift+S**) they step one message up/down — the same physical pair as **Ctrl+W**/**Ctrl+S**, on the Shift modifier — so your left hand drives both the session list and the thread from the home row. (As with the other thread-step keys, **A**/**D** and **Shift+W**/**Shift+S** only navigate when the composer isn't focused — while you're typing they just enter the letter.) The one-handed **Alt+W** / **Alt+A** jumps (top / bottom of the thread) fire **even while the message box holds the cursor** — so the jump is reliable no matter where your focus is — and they scroll without pulling the cursor out of the box. Their default siblings **Ctrl+Home** / **Ctrl+End** still fire only when the composer isn't focused, so those keep moving the text cursor to the start / end of your draft while you type.

### Send on Caps Lock (optional)

Right below the **Apply one-handed layout** button is an optional **Send on Caps Lock** toggle, **off by default**. Turn it on and pressing **Caps Lock** in the message box sends your message — exactly like Enter. It's a reachable send key for one-handed use, so your left hand can send without reaching across to Enter. It works whether or not you've applied the one-handed layout, and it doesn't change how **Enter** or **Shift+Enter** behave. Desktop only (phones have no Caps Lock). Find it by searching Settings for **caps lock**. One caveat: pressing Caps Lock still toggles your keyboard's Caps Lock light — the app can't stop that.

### Hotkey training mode (opt-in)

To actively build muscle memory, turn on **Settings → Sessions → "Hotkey training mode."** With it on, the first click on a button that also has a keyboard shortcut is **blocked** and a small **"Press &lt;key&gt;"** bubble shows the shortcut instead. There's a 3-click soft escape hatch for when you're in a hurry: the second click on the same control is still blocked with a **"Click again to allow"** bubble, and the third click goes through with a green **"Allowed ✓"** confirmation. Keyboard shortcuts always work, it never applies on a touch screen, and the Settings gear is never blocked so you can always turn it back off. Full detail: [hotkey-training-mode.md](hotkey-training-mode.md).

## Related

The full list of bindings is long, so it continues on [Keyboard shortcuts — sessions and navigation](keyboard-shortcuts-part-2.md), [Keyboard shortcuts — navigation, search and display](keyboard-shortcuts-part-3.md), and the mechanism behind them on [Keyboard shortcuts — how the binding system works](keyboard-shortcuts-part-4.md).

- [open-settings.md](open-settings.md) — Settings → Keyboard Shortcuts is where rebinding happens
- [send-a-message.md](send-a-message.md) — Submit key (Enter vs Ctrl+Enter) lives under Settings → Sessions
- [snooze-a-session.md](snooze-a-session.md) — H opens the Snooze Palette
- [pause-or-stop-a-session.md](pause-or-stop-a-session.md) — P toggles pause
- [archive-a-session.md](archive-a-session.md) — Ctrl+W / E archives, Ctrl+Z undoes
- [focus-mode.md](focus-mode.md) — Shift+F filters the sidebar to attention-only
- [tray-and-window.md](tray-and-window.md) — Ctrl+Shift+M restores the window from anywhere
- [global-search.md](global-search.md) — Ctrl+K opens search
- [cli-keybindings-control.md](cli-keybindings-control.md) — programmatic keybinding mutations from outside Omniscio
