Core Tools
The core tools are the local slash commands that drive the client itself: discovering commands, switching server and model, managing sessions, browsing the workspace, building the project, and reviewing changes. They are handled locally and are never sent to the model, so they keep working even when the server or model status in the header is red.
Every command also accepts the natural-language aliases listed in its Examples. Recognized phrases are matched only for these built-in commands; any other input is sent to the model as an ordinary prompt.
/help#
Shows the list of available commands with a one-line description of each, grouped the same way as in this manual. It is the fastest way to rediscover a command name or its arguments without leaving the prompt, and it works regardless of server or model state.
Examples
/help
Natural-language forms:
help
show help
show commands
show available commands
/tools#
Lists the model-facing workspace tools (read_file, edit_file, list_directory, fetch_url, and run_shell_command) that the active model may call. /tools is purely informational and is separate from the local /list_files command.
Examples
/tools
Natural-language forms:
tools
show tools
list tools
show local tools
/model#
Selects the model used for requests on the active server. With no argument it lists the server's models (active model in green, others in red). With a name it switches to that model. Tab after /model cycles through the models the server reports.
Examples
/model
/model llama3.1:8b
Natural-language forms:
models
list models
show models
model
current model
use model llama3.1:8b
switch model to llama3.1:8b
/server#
Selects the server orangu talks to. With no argument it lists the configured servers with the active one in green. With a name it switches to that server and re-detects an available model, refreshing the model status in the header. Tab after /server cycles through configured server names.
Examples
/server
/server local-llama
Natural-language forms:
use server local-llama
switch server to local-llama
set server to local-llama
/disconnect#
Disconnects from the current server. The server status turns red and free-form prompts are blocked, but all local commands continue to work. Use /server or /reload to reconnect.
Examples
/disconnect
/reload#
Restores the configured model and server from the configuration file, undoing any runtime switches. Also clears the in-memory conversation history, so it doubles as a way to start a clean exchange.
Examples
/reload
Natural-language forms:
reload
reload configuration
reset session
/restart#
Restarts orangu in place, resuming the same workspace and session. The current session is saved first, then the running process is replaced with the same binary. This is the recommended way to pick up a freshly built binary or an edited configuration file without losing conversation context.
Examples
/restart
Natural-language forms:
restart
restart orangu
/prune#
Deletes session directories from ~/.orangu/sessions/. The active session is never deleted regardless of strategy.
- With a UUID: deletes that single session
- With
all: deletes every session except the active one - With
--workspace <path>or-w <path>: deletes all sessions whose recorded workspace path contains<path> - With
--older-than <days>or-o <days>: deletes all sessions whoselast_updated_attimestamp is more than<days>days in the past
Tab completion after /prune cycles through session UUIDs newest-first.
Examples
/prune 550e8400-e29b-41d4-a716-446655440000
/prune all
/prune -w myproject
/prune -o 30
Natural-language forms:
prune session 550e8400-e29b-41d4-a716-446655440000
prune all
prune sessions in myproject
prune sessions older than 30
/session#
Lists, switches, and opens sessions. With no argument it lists all sessions under ~/.orangu/sessions/, one line per session with aligned columns: UUID, start date, last-updated date, command count, branch, and workspace path. Sessions are sorted most-recent first.
UUID STARTED LAST CMDS BRANCH WORKSPACE
550e8400-e29b-41d4-a716-446655440000 202605220910 202605221143 42 feature/my-pr /home/user/myproject
The argument is resolved in order:
- If it matches a session UUID, switches to that session.
- Otherwise treated as a workspace match: if exactly one session matches it switches; if several do, it lists only those.
- If the argument resolves to a real directory, opens it as a new workspace.
Tab completion after /session cycles UUIDs newest-first, then distinct workspace paths, then falls back to filesystem directory completion.
Examples
/session
/session myproject
/session 550e8400-e29b-41d4-a716-446655440000
/session ~/PostgreSQL/pgagroal/official
Natural-language forms:
session
sessions
switch session
list sessions
show sessions
/list_files#
Lists the workspace files as a tree. This is a local convenience command for quickly orienting yourself in the workspace; it is separate from the model-facing list_directory tool.
Examples
/list_files
Natural-language forms:
list files
show files
list workspace files
/open_file#
Opens a workspace file in your $EDITOR. The command is workspace-scoped; paths outside the workspace are rejected. It launches the editor in a separate window so orangu stays usable, and it never waits for the editor to close.
Tab completion after /open_file searches the workspace recursively. Quoted paths (/open_file "...") are supported.
Examples
/open_file README.md
/open_file src/main.rs
Natural-language forms:
open README.md
open file README.md
edit src/main.rs
/show_file#
Shows the contents of a workspace file, optionally at a specific Git ref and with per-line blame columns.
/show_file [--hash] [--author] <path> [<ref>]
Without a ref, shows the current workspace file (using bat if installed). With a ref, retrieves the file at that ref via git show <ref>:<path>. --hash and --author add per-line blame columns. Because source lines may be wider than the terminal, output is laid out on the full virtual canvas and can be panned horizontally with Alt+Left/Alt+Right.
Examples
/show_file src/main.rs
/show_file --hash --author src/main.rs
/show_file src/main.rs HEAD~3
Natural-language forms:
show README.md
show file README.md
/build#
Builds the workspace project, detecting the toolchain from the workspace root. Each step is reported individually and the pipeline stops on the first failure:
- Rust (
Cargo.toml): runscargo fmt,cargo clippy,cargo build, andcargo test - C (
CMakeLists.txt): runsclang-format.shif present, creates abuild/directory if needed, runscmake ..on the first build, thenmake - Java (
pom.xml): installs frontend dependencies withnpm ciwhen outdated, runsnpm run fixandnpm run checkfor the frontend (ifsrc/frontend/exists), thenmvn package
Examples
/build
Natural-language forms:
build
build project
run build
/review#
Opens a full-screen, two-pane view for reviewing the changes on the current branch before sharing them, with the status bar and input window kept at the bottom so you can ask the model for help. Available inside a Git repository; has no gh dependency.
What is reviewed
The review shows everything the current branch adds on top of the default branch, including both committed changes and local uncommitted changes (staged and unstaged). The comparison is made against the merge base with the default branch (origin/main → origin/master → main → master).
Layout
The view is split into two panes:
- Left pane: diff of the selected file, rendered through the configured pager (e.g.
delta) when set. Scrolls independently. - Right pane: checklist of changed files. Each row begins with a review-status box:
[ ]not yet reviewed, a green dot once approved (Alt+a), a red dot once rejected (Alt+r).
Asking the model and commenting
Type a request in the input window and press Alt+o to send it together with the selected file's diff to the model; the reply opens in a feedback window and is added to your session. Press Alt+c on a line to attach a category-tagged comment to it, or Alt+e to open the file in your $EDITOR. On exit a category-grouped report is written to the output window and copied to the clipboard, so it can be posted with /comment <number> with review or saved with /export review.
Examples
/review
Natural-language forms:
review
review changes
code review
review branch
/auto_review#
Runs an LLM-driven review of the current branch in the same two-pane view as /review. The model reviews the changes overall and each file on its own, sorts what it finds into the Overall, Code, Security, Memory, Performance, Test Suite, and Documentation categories, and marks every file approved or rejected. Requires a connected LLM server.
The same change set as /review is reviewed — committed and uncommitted changes against the merge base with the default branch — and the branch must be rebased first. Lock files and binary assets are approved with no request; documentation files are reviewed only for the Documentation category; every other file is scanned for all categories. Each finding is prefixed with its location as file:line, and a status bar tracks progress, elapsed time, and an estimate of the time remaining.
Reviewing a single file
/auto_review <file> reviews one file instead of the whole branch. On main/master the whole file is read and reviewed; on any other branch only its changes against the default branch are. The file argument Tab-completes on the file's name, not its path.
After the run
The report stays on screen for browsing: Alt+j/Alt+k move through the files, Alt+a approves a file (dropping its findings), Alt+r rejects it with a category and a Markdown comment, Up/Down move through the findings, and - removes the highlighted item. On exit the report is rendered to the output window and its Markdown is copied to the clipboard, ready to post with /comment <number> with auto review or save with /export review.
Examples
/auto_review
/auto_review src/tui.rs
Natural-language forms:
auto review
auto review src/tui.rs
/export#
Writes a buffer to a PDF in the workspace root, so a session's output or a review can be shared outside the terminal.
/exportor/export console: the console output window — everything currently in the main output window, with the terminal styling removed./export review: the review buffer — the Markdown of the last/review(or, failing that, the last/auto_review) report from this session.
The file is saved as {repository}-{branch}-console.pdf or {repository}-{branch}-review.pdf (a branch such as feature/x becomes feature-x); an existing file of the same name is overwritten and the saved path is printed. Every page carries a header band with {repository}-{branch} and a footer band with orangu {version} ({model}). Text is set in the embedded Red Hat Text font, so no system fonts are needed. The review export opens with a summary page (per-category finding counts and an Approved/Rejected banner) and a table of contents, then sets one category per page.
Examples
/export
/export console
/export review
Natural-language forms:
export
export console
export review