Skip to content

user cli

github-actions[bot] edited this page Oct 28, 2026 · 8 revisions

CLI reference

This reference assumes steiner is installed. See Installation for release binaries.

Modes

Interactive mode launches the TUI:

steiner

Single-shot mode runs one request and exits:

steiner --exec "explain the auth package"

Select a raw provider/model reference for a one-shot request:

steiner --model ollama/qwen2.5-coder:14b --exec "explain the auth package"

The same selection can be set for the active orchestrator with STEINER_MODEL:

STEINER_MODEL=ollama/qwen2.5-coder:14b steiner --exec "explain the auth package"

Commands

Command What it does
version Print build version; --short prints script-friendly output
config Print resolved configuration
login codex Authenticate with OpenAI Codex via OAuth
login codex status Show current Codex authentication status
model inspect <alias> Show resolved configuration for a model alias
models refresh Refresh model discovery caches
models status Show model discovery cache status
cache refresh Refresh model metadata and provider model caches
oneshot [task] Run an autonomous oneshot task; --list, --resume <id>
update / upgrade Self-update to the latest release
tools List configured tools and approval status
skills List discovered skills
worktrees --list List delegation worktrees
worktrees --prune <id> Remove one delegation worktree
worktrees --prune-all Remove all delegation worktrees
--help Print all flags and usage

Version output

steiner --version and steiner version print build metadata. Use steiner version --short to print only the raw version string for scripts and CI.

Global flags

Common flags; steiner --help lists all of them.

Flag What it does
--config <path> Use a specific project config file
--model <ref> Override the active orchestrator model
--profile <name> Select a model profile
--exec Run a single request and exit
--unsafe Disable sandboxing (bubblewrap) for tool execution
--trust-project-config Trust this project's config for this run without prompting
--verbose Enable verbose logging
--log-file <path> Write full session logs to a file
--dev Select the dev channel for steiner update

Interactive commands

Type / to open the command and skill list, and press Ctrl+F1 to toggle the help overlay with keybindings.

Use /compact or /compact <focus text> to compact the conversation. Use /recall to view the current session's history archived by compaction. Use /model to change the active orchestrator model, or press alt+m to open the model picker. Press alt+p to open the profile picker. Both work with a draft in the composer and during a run. Switching the model or its reasoning in a conversation that already has messages asks for confirmation first, because it invalidates the prompt cache. During a run, the switch applies to the next run. For example, enter /model ollama/qwen2.5-coder:14b to select a raw reference. Use /profile <name> to select a profile for future role assignments. Use /mode [plan|build] to switch execution mode. See Execution modes.

A configured alias is an optional alternate for a model with persistent customization, such as --model careful when careful is defined under models.definitions with reasoning or retry settings. Raw references are the normal path when no such customization is needed.

For the full configuration and flag reference, see Configuration. For provider setup, see Provider and model setup.

Copying text

Selecting text in the transcript with the mouse copies it to the clipboard when you release the button. Double-click copies a word and triple-click copies a line. In the dev log overlay, press y to copy the log.

Steiner tries wl-copy (when WAYLAND_DISPLAY is set), then xclip or xsel (when DISPLAY is set). If none of them succeeds, it sends an OSC 52 escape sequence, which asks your terminal emulator to set the clipboard.

Over SSH, the clipboard tools usually aren't available or would copy on the remote host, so copying relies on OSC 52:

  • Terminals with OSC 52 support, such as kitty, WezTerm, Alacritty, foot, Ghostty, and recent Konsole, work without extra setup.
  • VTE-based terminals, such as Terminator, GNOME Terminal, Ptyxis, and Tilix, ignore OSC 52. Use X11 forwarding instead: connect with ssh -X (or set ForwardX11 yes in ~/.ssh/config), allow X11Forwarding yes on the server, and install xclip or xsel on the remote host. Steiner then copies through the forwarded DISPLAY to your local clipboard.
  • Inside tmux, OSC 52 from applications is ignored by default. Add set -s set-clipboard on to your tmux config.

If copied text lands in the remote host's clipboard, WAYLAND_DISPLAY or DISPLAY is set in the remote shell and points at a remote desktop session. Unset it before starting steiner.

Clone this wiki locally