TUI commands and keyboard shortcuts
Look up Orek's interactive commands, aliases, pickers, and keyboard controls.
Enter these commands in Orek’s composer. Start Orek with orek from your
project directory; see Using Orek for a walkthrough.
Type / and press Tab to discover commands and their arguments. Some
commands, such as /init, /plan, and /workflow run, start or queue work
for the model.
If orek starts without an active license or trial, a license menu opens
before the chat so you can activate a key, import a signed code, save an
offline request, or open your account.
Help and navigation
| Command | Alias | Behavior |
|---|---|---|
/help |
? |
Open command help in a full-width reader above the composer. |
/keys |
/keybindings, /shortcuts, /keymap |
Open the interactive keymap editor. /keys list (also show or help) opens the read-only shortcut reference, and /keys reset opens the editor on the confirmation that restores every default binding. |
/themes [name] |
/theme |
Open the theme picker or change the current theme. |
/quit |
/exit |
Exit Orek. Stops every subagent, pauses running workflows, and stops background jobs and deletes their output; file changes stay. |
Themes
/themes opens the picker, /themes list prints every theme, and
/themes <name> switches for the current session. To keep a theme, save it
with /config set ui.theme <name>.
| Name | Theme | Appearance |
|---|---|---|
auto |
Follow OS Appearance | Orek Night in dark mode, Aurelian Bloom in light mode. The default. |
dark |
Orek Night | Midnight base, emerald prompts, indigo-purple accents, warm gold highlights. |
verdigris |
Verdigris Dusk | Spruce-charcoal base, patina green, smoked violet, hammered brass. |
light |
Aurelian Bloom | Warm parchment base, forest green, deep indigo, antique gold. |
forge |
Orek Forge | Coal-black base, phosphor-green prompts, flame attention, rune-violet accents. |
dracula |
Dracula | Plum-violet base with neon pink, cyan, and lime. |
tokyo-night |
Tokyo Night | Deep navy with soft neon accents. |
solarized-dark |
Solarized Dark | The classic low-contrast teal base. |
solarized-light |
Solarized Light | The classic cream base, accents deepened for contrast. |
github-dark |
GitHub Dark | GitHub’s dark editor palette. |
github-light |
GitHub Light | GitHub’s light editor palette. |
ayu-dark |
Ayu Dark | Near-black base with warm orange accents. |
ayu-light |
Ayu Light | Off-white base with warm orange accents. |
atom-one-dark |
Atom One Dark | Atom’s slate-gray editor palette. |
xcode-light |
Xcode Light | Xcode’s white editor palette. |
Other spellings also work, for example orek-forge for forge and tokyo
for tokyo-night, both in /themes and in ui.theme.
Colors adapt to your terminal. On a 16-color terminal, or with NO_COLOR set,
themes use the terminal’s named colors: success, warning, and error keep their
own colors, and background shading is dropped.
Setup, models, and configuration
| Command | Alias | Behavior |
|---|---|---|
/setup [provider [id]] |
— | Bare /setup opens the setup wizard and saves your provider, credential, pinned model and provider, and theme. /setup provider [id] adds a provider or replaces its credential without changing pins or theme. Both work only while Orek is idle, then reload the session from your saved settings. |
/model [selector] [--effort level] |
— | Open the model picker, choose a model for this session (<provider>/<model>), or show the catalog with /model list (or ls, show). /model auto or /model dynamic returns to automatic model selection. --effort=level also works. If the conversation is already too long for the model you pick, Orek offers to compact it first. |
/effort [level] |
/thinking |
Choose a reasoning effort the model supports (auto, none, minimal, low, medium, high, xhigh, or max). |
/routing [show|status] |
— | Show your pins, routes, and the latest model choice. |
/config [action] |
— | Bare /config, list, ls, or show lists supported keys. get <key>, set <key> <value>, and unset <key> read or change settings; path or paths shows where settings are saved, init creates a project config, and policy shows approval rules. |
/doctor |
— | Open diagnostics for configuration, providers, the index, local models (the GPUs Orek found and whether local models run on the GPU or the CPU), and command execution. |
/feedback [options] |
— | Preview or save a local feedback report; accepts --rating, --category, --comment and --output as in the CLI. Review it, then submit it yourself through support. |
/support |
— | Show the support contact link and exact preview/save instructions. Generate diagnostic bundles with the standalone recovery command orek bug-report. |
/config show lists supported keys; run orek config show in your shell for
all of your settings. /config set and unset save to the key’s usual
location and say whether the change applies now or in the next session.
Changing routing.pinned_model or routing.pinned_provider switches the
running session immediately. Model changes and routing.* changes are refused
while the index is being built, updated, or repaired. A change to
agent.reasoning_replay takes effect at the next model switch; if you started
Orek with --reasoning-replay, that flag wins until Orek exits. Don’t add the
CLI’s --scope flag to /config. See
Configuration.
Context and results
| Command | Alias | Behavior |
|---|---|---|
/index [action] |
— | Index help; supports build, update, repair [--dry-run] [--yes] [--verbose], status (including whether local models run on the GPU or the CPU), watch, and query <text>. |
/retrieval |
— | Show automatic retrieval status (status); on/off change it for this session, clear undoes that, and persist on/persist off saves your default. |
/context [view] |
— | Show what the latest request sent: token counts (reported or estimated), the input window, the compaction limit, and, after a model switch, which earlier reasoning was resent, translated, filled in, or dropped. Views are show (default), raw, summary, and breakdown. |
/detail [id|#id|list] |
— | Open the latest or a chosen tool result in the full-width detail reader; list shows recent result IDs. |
/collapse |
— | Fold or restore inline previews on every tool and agent card. |
/copy [n] |
/yank |
Copy fenced code block n (a positive number, default 1), counting from the newest message and, within a message, from the top. |
/compact |
— | Summarize earlier conversation to free context, keeping recent messages. The transcript stays visible, with a Context compacted marker. Typed during a turn, it runs after the turn ends. Takes no arguments. |
/usage |
— | Show token use and cost: a By segment table with one row for each stretch of conversation on one model (model, reasoning replay method, requests, tokens including reasoning, cost), then a By model table of totals. * marks incomplete costs and -- unknown ones. |
/log [options] |
— | Show the last 50 lines of Orek’s log; -n N or --lines N changes the count. --path shows where the log is and --clear empties it. |
/index watch status, /index watch start, and /index watch stop control
whether this session keeps the index updated as files change. When
provider web tools are on, their search
and fetch cards and clickable source links appear in the transcript and detail
reader, and stay there when you resume the session. See
Manage context.
After a model switch, the line under your message names the new model and what
happened to earlier reasoning, for example
openai/gpt-6-luna · earlier reasoning dropped (drop). If Orek has to stop
sending Claude’s earlier reasoning for another reason, such as a change in
available tools, the transcript shows a one-line notice. See
After a model switch.
Conversations and work
| Command | Alias | Behavior |
|---|---|---|
/sessions |
/resume |
Open the full-width session browser for this project (/ filters, Space/i previews, t opens the full transcript, Enter resumes). |
/add-dir <PATH> [persist] |
— | Attach another workspace directory to this session. The prompt, file and shell confinement, and the broker adopt the wider root set together; the conversation and session stay as they are. persist also saves the complete root set as this project’s default for future sessions. |
/clear |
— | Start a new conversation. Stops every subagent, pauses running workflows, and stops background jobs and deletes their output. Workspace directories reset to the --add-dir set Orek started with, or else this project’s saved default; directories attached with /add-dir alone are dropped. Not available while a workflow command such as pause, resume, or cancel is still finishing. |
/export [path] |
/save |
Save the conversation as Markdown. |
/undo |
— | Remove your latest exchange from the screen only. The model’s history, the saved session, and file changes stay as they are. |
/init |
— | Ask Orek to study the project and write an AGENTS.md, subject to your permission rules. |
/plan [task] |
— | Enter Plan mode, optionally with a task; waits for the next turn if one is running. exit leaves Plan mode and keeps plan files; clear leaves it and clears the active plan. |
/workflows [action] |
/workflow |
Open the full-width workflows view with four tabs ([1 Overview], [2 Tasks], [3 Runs & Agents], [4 Recipes]). list shows recipes, and run <recipe> [prompt] (or %<recipe> [prompt] in the composer) asks the selected thread’s model to run one. status [run-id], pause <run-id>, resume <run-id>, and cancel <run-id> control runs; approve <run-id> <request-id> and deny <run-id> <request-id> answer a step’s pending gate. |
/auto-continue [action] |
— | Show status (status); on/off change it for this session, clear undoes that, and persist on/persist off saves agent.auto_continue to your user settings. Each automatic continuation shows an Auto-continue: notice, which is saved with the conversation and reappears when you resume it. |
/motion [action] |
— | Show status (status); auto, full, reduced, and off change it for this session, clear undoes that, and persist <level> saves ui.motion to your user settings. reduced slows animation and off shows still symbols; a [motion:reduced] or [motion:off] chip appears in the status bar when the level isn’t full. |
/steer <instruction> |
— | Send text guidance to the running turn after its current batch of tool calls, before the next model request. Attached images are not sent; recall the item before it is delivered to keep them. If the turn ends first, the guidance starts the next turn. |
/agent [target|subcommand] |
— | profiles [name] lists or shows subagent profiles. Bare /agent lists this session’s subagents with their task, activity, and changed files; main or <target> (switch <target>) switches views. send <target> <message> sends a message (starting a new turn if the subagent is idle or closed), close <target> stops its running turn, and export <target> [path] saves its conversation. |
Resuming a session replaces the current conversation, so check the selected
row before pressing Enter. /export writes Markdown; use
orek session export in your shell for JSONL. Cancelling, /undo, and
/clear don’t undo file edits. See
Workflow runs for workflow controls
and recovery.
/add-dir ../lib attaches ../lib (quote paths that contain spaces; persist
goes after the closing quote, so /add-dir "my dir persist" names a directory
literally called my dir persist) for the rest of this session: Orek validates
the path, plans the new root set, saves the project grant when persist is used,
checkpoints the session journal, ends the running session, rebuilds the prompt,
tool path validation, and command broker against the one combined root set, and
installs the result without changing the conversation or session id. If any
durable write fails, the command rolls back the stores it already touched and
installs nothing; the failure message names the grant, journal, and live runtime
state separately. /add-dir ../lib persist additionally saves the complete
resulting root set as a per-project default in your user configuration
(workspace-roots/<project-hash>.toml, never the checkout’s .orek/config.toml);
new sessions for this project start with it unless --add-dir says otherwise, and
resuming this session restores the root set the journal recorded. The open project
index is reused and same-conversation status-bar telemetry and agent-loop session
state (title latch, last served model, replay state) are preserved. Additional roots
widen file, shell, and workspace confinement and the prompt’s workspace context only
— indexing, language-server roots, MCP consent, project hashing, and session storage
stay anchored to the project root. /add-dir needs an idle session (no running turn,
compaction, approval, question, queued prompt, running or idle subagent, or index
job); a session without persistence can still attach roots live, but only persist
survives to future sessions.
Integrations and execution controls
| Command | Alias | Behavior |
|---|---|---|
/skills [import <candidate-id>] |
— | Bare /skills lists active skills and skills you can import from other tools. import <candidate-id> imports one. |
/mcp |
— | Open the full-width MCP panel and its four-tab server view. status, resources [name], consent <name> [confirm], enable <name>, disable <name>, reload [name], auth <name>, and logout <name> manage your servers. |
/lsp |
— | Show language-server status; trust <server> [confirm], revoke <server>, reset [confirm], and restart [server] manage trust and restarts. |
/sandbox [action] |
— | Turn the OS sandbox on or off for commands Orek runs (off by default). It filters environment variables and, on macOS, confines commands with Seatbelt; [sandbox] shows in the status bar while it is on. Bare /sandbox opens a picker; on or off applies to this session (and survives /clear, /sessions, and /setup), and persist on|off saves exec.sandbox_runtime_enabled to your user settings. Setting OREK_SANDBOX=off forces the sandbox off and shows ⚠ OREK_SANDBOX=off. |
/permissions [mode] |
— | Open the approval-mode picker or set default, auto_review, or yolo (Alt+Y turns yolo on or off and approves waiting requests). Choosing auto_review checks that the local Shieldstral review model and its llama-server are ready, and shows [AUTO-REVIEW: DEGRADED] if shell commands will need manual approval instead. Shells that are neither POSIX-compatible nor PowerShell (such as fish) always ask outside yolo. In Plan mode, the model stays read-only until planning ends; see Shell commands for commands you run yourself. |
Consents and credentials are saved. Turning an MCP server on or off with
/mcp lasts only for the session; add servers in your configuration. There is
no /lsp check, /mcp add, or /license command. MCP servers that provide
prompts can add their own slash completions.
Keyboard shortcuts
| Where | Keys | Action |
|---|---|---|
| Composer | Enter | Accept the selected completion if one is showing; otherwise send the request or command. |
| Composer | Ctrl+J; Shift+Enter where supported | Insert a newline. |
| Completion | Tab or Enter; Esc | Apply a completion (Enter also applies a selected model); dismiss the list. |
| Composer | Alt+Up/Down; Ctrl+R | Recall drafts; search input history. With an empty composer, Alt+Up recalls pending input first. |
| Composer, empty draft | Shift+Left | Recall the latest pending input for editing, with its images and chosen skill mentions. |
| Composer, empty draft | Shift+Delete | Discard the latest pending input without cancelling the running work. |
| Composer | Alt+O | Open the external editor set by VISUAL/EDITOR. |
| Composer | Ctrl+V or Ctrl+Alt+V | Paste an image from the clipboard. |
| Conversation | PageUp/PageDown; mouse wheel | Scroll. |
| Conversation | Cmd/Ctrl+click (or Alt+click on macOS and Linux) | Open a web link from the transcript in your browser. |
| Conversation | Ctrl+F | Search the conversation. |
| Conversation | Ctrl+O; Ctrl+T | Expand or collapse thinking (or the focused card); open or close the full-width detail reader. |
| Tool cards | Alt+P/Alt+N (or Alt+[/Alt+]); Alt+Enter | Focus a card; open it in the full-width detail reader. |
| Focused card | j/k; Enter/Space/o; Alt+Enter/Ctrl+T; y; Esc | Move focus; expand or collapse inline; open the full-width detail reader; copy; clear focus. |
| Model picker | Up/Down; Left/Right; Enter | Choose a model; change reasoning effort where supported; apply. |
| Session browser | Up/Down or j/k; /; Space/i; t; Enter |
Move; filter (Enter/Esc leave the filter); show or hide the preview; read the full transcript; resume the selected session. |
| Session browser | s; o; Ctrl+O; c; Esc or q | Change sorting; change density for this session; change density and save it as your default; copy the resume command; clear the filter or close. |
| MCP control panel | Up/Down or j/k; /; Enter/i; 1–4 or Tab |
Move; filter; open the server view (Tools, Prompts, Resources, Config & Status); switch its tabs. |
| MCP control panel | e/d; r/R; c; a/o; Esc or q | Enable, or disable/cancel; reload everything or reconnect; preview or confirm consent; sign in or out with OAuth; clear the filter or close. Disable, reconnect, sign-in, and sign-out need a second press of the same key (Esc cancels). |
| Workflows navigator | 1–4 or Tab/Shift+Tab; Up/Down or j/k; Space |
Switch tabs (Overview, Tasks, Runs & Agents, Recipes); select; expand or collapse details. |
| Workflows navigator | Enter; f; p; x; Esc | Open the selected subagent or fill in /workflow run <recipe> ; follow the active run; pause or resume a run; cancel a run or close a subagent; close. |
| Keymap editor | Up/Down or j/k; PageUp/PageDown; Home/End or g/G; /; Esc or q |
Move; page; jump to the first or last row; filter; clear the filter or close. These movement keys belong to the editor and keep working however you rebind other screens. |
| Keymap editor | Enter or e; c; l; Esc | Rebind the selected action with a single key; with a two-stroke chord; with a leader suffix (the next key after the leader). Pick the mode before you press anything: while capturing, every key including Tab and Shift+Tab is recorded, and only Esc cancels. |
| Keymap editor | r; u, Delete, or Backspace; R | Reset the selected action to its default; unbind it (Backspace edits the filter while one is active); reset every keybinding after a y/n confirmation (R works only while browsing the list, not while filtering or capturing). |
| Approval/plan modal | Tab/Shift+Tab or Left/Right; Enter | Choose an option; confirm it. Up/Down scrolls the dialog. |
| Approval/plan modal | Alt+Y; Alt+N or Esc | Approve or accept; deny or keep planning. |
| Active work/input | Ctrl+C | Cancel the running work, or clear your input when idle. |
| Threads | Alt+Left/Right | Switch between the main conversation and subagents. |
Keys depend on what is focused: Enter in an approval dialog confirms the
highlighted option, which isn’t necessarily approval. Pending-input shortcuts
apply to the selected thread, give way to dialogs and focused cards, and leave
a draft you have started alone. Shift+Left needs Shift alone, without Ctrl or
Alt. Check the on-screen hints and /keys list in your installed version.
Changing and resetting keybindings
/keys (or /keymap) opens the keymap editor. The first row, ⟲ Reset all
keybindings to defaults, is pinned above the actions. Press Enter on it,
or R while you are browsing the list (not while filtering or capturing a
key), to open a y/n confirmation. y removes
the whole [ui.keymap] table from your user config, including the leader and
chord timeout, and shows “All keybindings restored to defaults.” Nothing is
reset until you confirm, and the reset works even when the saved keymap is
invalid. /keys reset opens the editor already showing that confirmation.
Each change is validated against the same rules as orek config set and saved
to your user config at once. If a hand-edited [ui.keymap] stops Orek from
starting, the error ends with the fix: run orek config unset ui.keymap. If an
invalid [ui.keymap] is found while Orek is running, Orek keeps the built-in
keys and warns you; edits in the editor are rejected until you run
/keymap reset (or press R), because every change is validated together
with the saved keymap.
Configuration lists the keymap settings.
Rebound keys follow these runtime rules:
- Chords that include Cmd, Super, Hyper, or Meta are ignored, never treated as the bare key.
- A held chord prefix stays pending without extending the chord timeout. Where
your terminal reports key releases (Windows and kitty-protocol terminals),
pressing the prefix again counts as a new keystroke only after you let go of
it. A finished chord, including a doubled stroke such as
y y, is never treated as key auto-repeat. - In a question, any key or chord bound to
toggle_optiontoggles the option. A bare printable binding on a focused Other row toggles it instead of typing. - In the
/sessionsand/mcppickers, the key bound toclose_or_backclears a non-empty filter first and then closes. In filter mode only plain Esc and Enter leave the filter, so a modified binding such asctrl+enterstill fires. - The
/mcpteardown prompt, footer, and status pills show your binding for the action.
Saved readable reasoning reappears as finished Thought cards when you resume a
session, without elapsed times. ui.show_thinking controls whether they show
and ui.thinking_expanded whether they start expanded; Ctrl+O toggles
them.
With ui.clickable_links = true (the default), web links in the transcript are
terminal hyperlinks, so Cmd+click (macOS) or Ctrl+click (Windows and
Linux) opens the full URL even when it is shortened on screen. On macOS and
Linux, Orek also supports mouse input, bracketed paste, and Alt+click. On
Windows these are off, so scroll with PageUp/PageDown.
Pending input
Messages and commands that have to wait appear in the pending tray above the
composer (or as Pending:N on small screens) until Orek picks them up:
- During a turn, after the current batch of tool calls: plain-text
messages to the main thread and
/steerguidance. If the turn ends first, they start the next turn. If the provider is still finishing its own web search or fetch, delivery waits for the next batch. - After the turn ends: prompts with images and queued commands such as
/compact,/index build,/index update,/index repair,/plan, and/init.
Other commands run immediately or explain why they can’t run yet. Text sent while a subagent is selected goes to that subagent; images can only go to the main thread.
/steer and /plan always go to the main thread. While an item is in the
tray, press Shift+Left or Alt+Up with an empty composer to bring it back
with its attachments and skill mentions, or Shift+Delete to discard it.
Shell commands
Start the composer with ! to run a command in your shell (! git status, or
! Write-Output 'hello' in PowerShell). The composer switches to Shell mode
with a different border color; deleting ! switches back. Completion, $skill
mentions, and images don’t work in Shell mode.
These commands run without approval prompts, even in Plan mode, but follow your
OS sandbox setting. Run them from the main thread when no turn, approval,
compaction, or index job is in progress. A command can’t read keyboard input
(so it can’t answer prompts such as ssh passphrases) and runs until it exits,
you press Ctrl+C, or an hour passes. While it runs, the transcript shows a
shell card with its latest output; when it finishes, the result replaces the
card. The command and its output, limited in size and with secrets hidden, are
saved to the conversation as one message without starting a model turn. The
live progress is only shown to you, never sent to the model.
If saving the result fails, /quit keeps the session open so you don’t lose
the output: press Ctrl+C to retry saving without running the command again,
or run /export to save a Markdown copy before you exit.
Use the CLI reference for scripting, license commands, session exports, and other shell commands.