Tables of every CLI flag, slash command, key binding, environment variable, and config.toml field. For behaviour, see Modes and Tools.
CLI flags
| Flag | Argument | Effect |
|---|
--version | | Print the version and exit. |
--resume | [id] (positional) | Resume a session. Without an id, reopens the most recent. |
Slash commands
| Command | Args | Effect |
|---|
/help | | Show the slash-command overlay. |
/clear | | Drop history and rotate to a new session. |
/resume | | Open the resume picker. |
/model | | Open the model picker (provider, then model). |
/theme | | Open the theme picker (auto / light / dark). |
/compact | | Rewrite the full chat into one compact memory summary. |
/truncate | [keep] | Drop old turns. Default keep is 4 user turns. A /compact memory summary is always kept. |
/plan | | Switch to plan mode. |
/normal | | Switch to normal mode. |
/auto | | Switch to auto mode. |
Key bindings
| Key | Effect |
|---|
| Enter | Send the current input. |
| Ctrl+J or Shift+Enter | Insert a newline. |
| Tab | Complete a slash command from the suggestion panel. |
| Shift+Tab | Cycle mode (Plan -> Auto -> Normal -> Plan). |
| Ctrl+C | Cancel the running turn. |
| Ctrl+D | Quit. |
| PgUp or Shift+Up | Scroll the transcript up. |
| PgDn or Shift+Down | Scroll the transcript down. |
| Ctrl+S | Toggle native text-selection mode (releases mouse capture). |
History recall (Up / Down) navigates previously sent inputs. The textarea otherwise behaves like a multi-line text field.
Themes
| Variant | Behaviour |
|---|
auto | Detects the terminal background at startup. |
light | Light palette. |
dark | Dark palette. |
Set the theme with /theme (which also writes the [ui] theme field), or by editing config.toml directly.
Mode colours are fixed across themes:
- Plan: orange.
- Auto: purple.
- Normal: theme primary.
Environment variables
| Variable | Field overridden |
|---|
OPERAIDE_CODE_CONFIG | Config file path. |
OPERAIDE_CODE_PROVIDER | default_provider. |
OPERAIDE_CODE_MODEL | default_model. |
ANTHROPIC_API_KEY | [providers.anthropic] api_key. |
OPENAI_API_KEY | [providers.openai] api_key. |
OPERAIDE_LLM_BASE_URL | [providers.openai] base_url. |
OLLAMA_ENDPOINT | [providers.ollama] endpoint. |
AZURE_OPENAI_API_KEY | [providers.azure] api_key. |
AZURE_OPENAI_ENDPOINT | [providers.azure] base_url. |
AZURE_OPENAI_API_VERSION | [providers.azure] api_version. |
AZURE_AI_API_KEY | [providers.azureAI] api_key. |
AZURE_AI_ENDPOINT | [providers.azureAI] base_url. |
MISTRAL_API_KEY | [providers.mistral] api_key. |
MISTRAL_BASE_URL | [providers.mistral] base_url. |
An empty variable is ignored, so EMPTY_VAR="" does not clobber a TOML value.
config.toml schema
Top-level keys:
| Key | Type | Meaning |
|---|
default_provider | string | Provider name used at startup. |
default_model | string | Model id within default_provider. |
[providers.<name>] block:
| Key | Type | Required | Meaning |
|---|
type | string | Sometimes | One of openai, anthropic, ollama, azure, azureAI, mistral. Inferred from <name> for openai, anthropic, ollama. |
api_key | string | Yes | API key. May be a Personal Access Key when pointed at a Studio proxy. |
base_url | string | Sometimes | OpenAI-compatible base URL. Required for azure, azureAI. |
endpoint | string | No | Alternative spelling of base_url. Used by Ollama. |
models | string array | Yes | Available model ids. For azure, deployment names. |
model | string | No | Legacy single-model field. Merged into models. |
api_version | string | Sometimes | Required for azure. |
[ui] block:
| Key | Type | Meaning |
|---|
theme | string | auto, light, or dark. |
| Tool | Plan | Normal | Auto |
|---|
read_file | Allow | Allow | Allow |
ls | Allow | Allow | Allow |
glob | Allow | Allow | Allow |
grep | Allow | Allow | Allow |
search_handbook | Allow | Allow | Allow |
run_check | Allow | Allow | Allow |
present_plan | Allow | Allow | Allow |
bash | Ask | Ask | Allow |
write_file | Deny (hidden) | Ask | Allow |
edit_file | Deny (hidden) | Ask | Allow |
File locations
| Path | Purpose |
|---|
~/.operaide-code/config.toml | User-level config. Created on first run. |
./.operaide-code/config.toml | Workspace-local config. Wins over user-level. |
~/.operaide-code/sessions/<id>/transcript.json | Per-session transcript. |
~/.operaide-code/sessions/<id>/meta.toml | Per-session metadata (provider, model, working dir, token usage). |
~/.config/operaide-code/keys/<workspace>.key | Studio: persisted PAK for the refresh task. Mode 0600. |
/usr/local/bin/operaide-code | Binary, in a Studio container. |
<repo>/operaide-code/bin/operaide-code | Binary, in local Studio dev. |
Bash allowlist
| Binary | Notes |
|---|
npm | All subcommands. |
node | All subcommands. |
npx | All subcommands. |
tsc | All subcommands. |
eslint | All subcommands. |
prettier | All subcommands. |
git | Only status, diff, log, show. |
Refused: ;, &, |, >, <, $, `. Default timeout 120 seconds. Output cap 256 KB per stream.