Skip to content
ivralo
Sections

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

CommandWhat it does
/newStart a fresh conversation. The old one stays in the database.
/sessionsList 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.
/contextHow full the model's context window is.
/compact <focus>Summarize older turns to free context, paying attention to what you name.
/memoryWhat 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.
/detachFold the run in flight away and have the prompt back. Again brings it back.
exitLeave the session.

Team, skills and documents

CommandWhat it does
/agentsWho is on the team.
/skillsWhat 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.
/indexEmbed 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.
/pasteAttach 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

CommandWhat it does
/confirmToggle asking before a call runs. Off, tool calls run without asking; turning asking back on also turns off accept-edits.
/accept-editsToggle asking before a file is edited. Shell commands still ask.
/permissionsWhat the permissions files allow and deny. /permissions remove <n> takes entry n out of this repository's file.
/trustWhether this folder is trusted. /trust yes trusts it, /trust revoke forgets the answer.

See Approvals and permissions.json.

Plans, changes and jobs

CommandWhat it does
/plan <request>Draft a step plan, approve it, then run it step by step.
/planToggle 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.
/changesWhat 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.
/instancesThe session's open instances, working or with a report ready. /instances stop <n> or /instances stop all ends them.

Runs and incidents

CommandWhat it does
/traceOpen 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.
/helpThe 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 nameDefault keyWhat it does
quitCtrl+CLeave the session.
cancel_turnEscCancel the run in flight. Your message comes back to edit.
detach_turnCtrl+BFold the run in flight away and have the prompt back; again brings it back.
new_sessionCtrl+NStart a fresh conversation.
toggle_allCtrl+OOpen the last turn's steps, or close every step.
toggle_filesCtrl+PThe workspace file tree. A file you click is named in your message.
toggle_teamCtrl+TWho is working right now, and who took part this turn.
toggle_changesCtrl+DWhat each turn changed, file by file, line by line.
contextCtrl+GHow full the model's context window is.
toggle_plan_modeShift+TabPlan every message first, on or off.
searchCtrl+F, Ctrl+KSearch sent messages, replies and workspace files.
paste_imageCtrl+VAttach the image on the clipboard.
toggle_plan_boardCtrl+LShow 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

WhereKeys
Approving a cally 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 planEnter or y runs it, r revises it in words, e reloads the plan file, Esc or n drops it.
A failed plan stepr revises from the trace, b rolls back, Esc stops.
Trusting a foldery yes, n no, l or Esc not now.
A coder's patchy 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 viewerLeft 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.