Docs / Reference
Slash commands and keys
Every command you can type in the session's prompt, every key the session binds, and how to move a key with keybindings.json.
Slash commands
Type these in the prompt of the session that ivralo opens. /help prints the same list, with the keys under it. Words in square brackets are optional; words in angle brackets are yours to fill in.
Conversation and model
| Command | What it does |
|---|---|
/new | Start a fresh conversation. The old one stays in the database. |
/sessions | List recent conversations. |
/title [text] | Show what this conversation is called, or name it yourself. /title auto lets the model name it again. |
/model [ref] | Show the models in use, or switch this session's main model to another one (anthropic:…, or an Ollama tag). .env is not touched. |
/context | How full the model's context window is. |
/compact <focus> | Summarize older turns to free context, paying attention to what you name. |
/memory | What the model remembered about you. /memory forget <n> removes one, /memory clear removes all. |
/export [html or md] | Write this conversation as one file, every turn and tool call. HTML when you name no format. |
/detach | Fold the run in flight away and have the prompt back. Again brings it back. |
exit | Leave the session. |
Team, skills and documents
| Command | What it does |
|---|---|
/agents | Who is on the team. |
/skills | What the team knows: every skill on the shelf. |
/skill <name> <request> | Send the request straight to the skill's owner. |
/skill show <name> | Preview what a skill teaches. |
/skill install <source> | Install a skill from GitHub. |
/index | Embed the workspace's documents for the Librarian. /index rebuild starts it over; /index rebuild all starts every workspace's index and the vector table over. |
/find <query> | Search the knowledge index by hand: the hits the Librarian would see. |
/paste | Attach the image on the clipboard, for a terminal that keeps the paste key for itself. |
/img <path> | Attach an image from the workspace. |
/show <file> | Show a workspace image, large. A turn's new pictures preview by themselves. |
Approvals and trust
| Command | What it does |
|---|---|
/confirm | Toggle asking before a call runs. Off, tool calls run without asking; turning asking back on also turns off accept-edits. |
/accept-edits | Toggle asking before a file is edited. Shell commands still ask. |
/permissions | What the permissions files allow and deny. /permissions remove <n> takes entry n out of this repository's file. |
/trust | Whether this folder is trusted. /trust yes trusts it, /trust revoke forgets the answer. |
See Approvals and permissions.json.
Plans, changes and jobs
| Command | What it does |
|---|---|
/plan <request> | Draft a step plan, approve it, then run it step by step. |
/plan | Toggle plan mode: every message is planned first. |
/plan --job <request> | Draft a plan, approve it, then run it as a job that outlives the session. |
/changes | What each turn changed, file by file. The same panel Ctrl+D toggles. |
/diff [n] | The newest turn's change in the diff viewer; n opens an older one. |
/changeset [on or off] | Stage each turn's edits as one changeset, or stop. With no word, reopen the pending changeset. |
/history [file] | The versions kept before a file was overwritten. |
/restore <file> [stamp] | Bring a kept version back. It asks first. |
/jobs [id] | This workspace's jobs. With an id, answer a parked job in the dialog, or show it. |
/instances | The session's open instances, working or with a report ready. /instances stop <n> or /instances stop all ends them. |
Runs and incidents
| Command | What it does |
|---|---|
/trace | Open the last run's tool calls, with what each returned. |
/why <claim> | Where a number or a phrase in the last answer came from, traced through the record. |
/incident [bundle] | Investigate an evidence bundle (incident/ by default) and file a report. Nothing is edited. |
/help | The list of commands, and the keys under it. |
Typing a prefix completes to the first match in the order /help lists, so /co gives /confirm and /ch gives /changes.
Keys
These are the session's keys and their defaults. The footer and /help show the keys actually bound, so a key you moved shows where it went.
| Action name | Default key | What it does |
|---|---|---|
quit | Ctrl+C | Leave the session. |
cancel_turn | Esc | Cancel the run in flight. Your message comes back to edit. |
detach_turn | Ctrl+B | Fold the run in flight away and have the prompt back; again brings it back. |
new_session | Ctrl+N | Start a fresh conversation. |
toggle_all | Ctrl+O | Open the last turn's steps, or close every step. |
toggle_files | Ctrl+P | The workspace file tree. A file you click is named in your message. |
toggle_team | Ctrl+T | Who is working right now, and who took part this turn. |
toggle_changes | Ctrl+D | What each turn changed, file by file, line by line. |
context | Ctrl+G | How full the model's context window is. |
toggle_plan_mode | Shift+Tab | Plan every message first, on or off. |
search | Ctrl+F, Ctrl+K | Search sent messages, replies and workspace files. |
paste_image | Ctrl+V | Attach the image on the clipboard. |
toggle_plan_board | Ctrl+L | Show every step of a long plan on the board, or fold it back to what is moving. |
In the prompt, Up and Down step through the messages you sent before.
In the dialogs
| Where | Keys |
|---|---|
| Approving a call | y this call, a the rest of this turn, s every edit for the session (edits only), p always allow this shell command or host in this repository, n or Esc no with a note, d open the diff viewer. PageUp, PageDown and the arrows scroll the dialog. |
| A plan | Enter or y runs it, r revises it in words, e reloads the plan file, Esc or n drops it. |
| A failed plan step | r revises from the trace, b rolls back, Esc stops. |
| Trusting a folder | y yes, n no, l or Esc not now. |
| A coder's patch | y or Enter applies it, s applies it and stops asking about edits for the rest of the session, d opens the diff, Esc or n refuses. |
| The diff viewer | Left and Right move between files, v flips the layout, q or Esc goes back. |
An answer broader than the call is missing from a call that must always ask, such as a send. On a high-risk call Enter is not bound, so it takes a deliberate y. A parked job's question offers only y, s and n. See Approvals.
keybindings.json
To move a key, put keybindings.json in your ivralo home, beside brand.json. It is a JSON object from an action name in the table above to one key, or to a list of keys:
{
"search": "ctrl+s",
"toggle_files": ["ctrl+r", "f2"]
}
A key is Ctrl with a letter (ctrl+a to ctrl+z), f1 to f12, shift+tab, or one of escape, enter, tab, space, backspace, delete, insert, home, end, pageup, pagedown, up, down, left and right. Case and spaces do not matter, and the way /help writes a key (Ctrl+F, Esc, PgUp) is accepted.
The file is read once, when the session starts, and a mistake in it never stops the session. Each entry is judged on its own; a bad one is reported in a sentence at the start and in ivralo doctor, and that action keeps its default. An entry is refused when:
- the action does not exist;
- the value is not a key name, or is a key that would type a character into the prompt;
- the key is Ctrl+H, Ctrl+I or Ctrl+M, which most terminals send as Backspace, Tab and Enter;
- the key is already taken, or the file gives one key to two actions.
A clash is never settled silently: the actions the file moved onto a shared key go back to their defaults, and the message says which.