- /settings with provenance
- Settings sit in groups on a rail, or on a tab strip in a narrow terminal, and each group fits one screen at any height. A value that differs from its default shows the layer it came from, and the detail pane says where a change is saved. Press / to filter and m to list only the values you changed.
- /undo and /rewind
- Before a prompt first changes a file, Belai keeps its earlier bytes. /undo restores the last prompt's files, and /rewind restores code, conversation or both to just before any earlier prompt, after you confirm a list of restore, delete and skip. A restore keeps a safety copy so it can be undone. Files a model could not read (denied, credentials, binaries, links, over 20 MiB) are named and not copied, and shell effects the harness cannot see are flagged. On by default with 50 checkpoints, 200 MiB and 7 days (`checkpoints.*`, `-no-checkpoints`), terminal only, and the store goes to no model.
- /relay
- Hands a long or drifted session to a fresh one. A model drafts Goal, State, Next Steps and Open Questions from the transcript and facts the harness collected, the security classifier checks the note, and you accept, edit in $EDITOR, redraft or discard. Accepting starts a new session whose parent is the old one, and the note re-enters as an untrusted user turn. Nothing is stored before you accept. A repository can only turn it off or lower the 16 KiB cap.
- /btw
- /btw <question> is answered on the side by one tool-less call that reads a session summary and the last six messages, never tool results. Neither the question nor the answer joins the conversation, the session file, a compaction or a /relay note. The answer shows as a row marked "side answer, not in history", /btw clear hides it, and it also works mid-turn.
- session toggles per project
- Toggles such as guardrails and ask-permission are saved for each repository.
- session export
- Type /export to write the current session (or another by id) as deterministic Markdown under .vulnetix/exports; belai -export <id> prints it to stdout.
- commit workflow
- Set `commit_mode` to ask or auto, or type /commit [message]. Belai commits only the files the session changed from a clean state. Files you had already edited, credential files, Belai's own state and anything over 8 MiB stay out, and nothing is pushed. In ask mode you see the paths and the message and press y. A moved HEAD, a rebase underway, an unreadable tree or a refusing hook leaves everything as it was. `commit_draft` lets a model write the wording from file names and line counts, never the diff. A repository cannot turn committing on, and headless, ACP and remote sessions never commit this way.
- post-end test pass
- Turn on tests.post_end and a completed goal, plan or session runs the tests Belai detected in the repository. A pass gets a short report from the fast model, and a failure starts a bounded fix loop on the main model with the classified output attached. With tests.each_turn ("test pass each turn" in /settings) it also runs after every agent turn that edited files, so a regression is caught on the turn that caused it. The pass is off until you turn it on, the exit code decides pass or fail, and a repository can only switch it off.
- search reference documents by meaning
- List documents in an agent profile, and Belai also indexes the scanner output in the project's .vulnetix directory and the files you attach with @. Grep, Glob and Read then return the passages that resemble what the agent asked for, beside their usual answer, in every mode and in fleet workers. It is pure Go with nothing to download. Each passage is checked by the security classifier once, when it is indexed, and a search calls no model. Three sizes in /settings set how much a host keeps and returns. With knowledge.source_index on, the repository's own source is searched the same way.
- label and browse what is indexed
- Belai tags each indexed document with its type, language and size, and with the topics it is about, from a vocabulary of about three hundred. A pattern matcher written in Go does this with no model. With a decision backend configured it also shows the backend a sample of the document and picks the topics in one request, and it asks only about documents the security classifier already admitted. /knowledge lists the documents of this project, of every project on the host or of your agents, filters by label such as topic:jwt or type:test, and searches with the same Grep, Glob and Read code a model uses, so you see what it would see. The screen only reads the indexes.
- timestamps and durations in the transcript
- Each transcript row is stamped when its event happened, and tool calls, model replies and classifier decisions record how long they took, so a slow session shows where the time went.
- diff in the approval prompt
- The approval prompt shows the diff of the change as well as the path.
- /help guarded by a test
- A test compares the help text with the real key bindings.
- /skills, /plugin, /mcp and /sandbox
- One command each shows the installed skills, the plugins and their state, the MCP servers and their tools, and the sandbox policy commands run under.