opensre (needs a real terminal). Type a /command, or describe what you want in plain language.
/ and browse with the arrow keys, the hint line above the prompt shows the highlighted command’s description.
Confirmation prompts come from
/auto (tool-approval autonomy) and from
elevated slash commands. Default /auto is high (alpha: no tool prompts).
/trust on skips approval prompts for the rest of the session. Outside a TTY,
actions that would ask are blocked.How the REPL works
TTY vs non-TTY: Interactive menus, confirmations, and onboarding wizards need a real terminal. Piping input or running in CI is non-interactive — prefer explicit CLI commands outside the REPL for automation.
Unknown commands: Typos suggest the closest registered command (
Did you mean /integrations?). Run /help for the authoritative list — it always matches your installed OpenSRE version.
Keyboard shortcuts:
Every launch starts guided onboarding and asks which demo to run. The four
choices cover repository analysis, recurring CI/CD checks, the upcoming managed
service, and Slack setup. Escape skips onboarding; “Or type your own answer…”
lets you submit a different request. Type
/demo to start again.
See CI/CD analytics demo.
The banner and prompt show CI/CD fixes: distinct GitHub repairs whose pushed
checks passed, including merge-conflict repairs. A repair can count before it is
merged; check the target branch before assuming it is green. Fixes in this shell
update the prompt immediately. Use /clear to pick up fixes saved by another
OpenSRE process in the same deployment. Zero also covers an unavailable count;
the total is best-effort and can decrease after restarting if a save failed.
Quick reference
Help and exit
Session
Integrations, models, and tools
Privacy and history
Tasks and background work
Agents and alerts
CLI parity
These commands delegate to the same Click CLI you would run outside the REPL.System
Commands with interactive menus (TTY)
Bare invocation opens a picker or submenu:/model keeps its menu running: picking show prints the current models and
hands you back to the menu, so leave it with done or Esc.
Commands
Help
/help
/help
Help categories mirror the REPL grouping: Quick Access, Session, Integrations/Models/Tools, Privacy, Tasks, Agents, Alerts, CLI parity, and System.Quick Access duplicates frequently used commands (
/integrations, /model, /health, /status, /help) for faster discovery in the picker./?
/?
Shortcut for
/help. Same forms and picker behavior.Session
/status
/status
Shows a snapshot of the current REPL session:Typical fields:
Use
/status for session state. Use /health for integration connectivity./cost
/cost
Shows LLM usage tracked locally for the current REPL session. This is not cloud-provider billing and does not read your vendor invoice.Example output (measured + estimated mix):
Measured vs estimated:
When any estimate is included, the table title notes
(includes estimates) and rows show measured vs estimated splits.What increments the counter: Normal LLM chat turns and planner calls. What does not: Non-LLM command handling such as history recall or prompt rendering.Token totals reset on /new or when session identity is rotated. They do not carry across /resume. See Session History./context
/context
Displays key/value infra metadata collected during chat — typically Context is inherited across turns in the same session (and restored by
service, cluster, region, or similar fields extracted from alert text and tool results./resume), so the agent does not re-ask for environment details you already established./effort
/effort
Set reasoning depth for OpenAI and Codex providers in this REPL session only.
Bare
/effort prints the current level, the config default for your provider/model, and supported choices. /status includes the same field.Other providers (Anthropic, Ollama, etc.) ignore /effort; the shell prints a hint suggesting /model set openai or /model set codex. Set OPENSRE_REASONING_EFFORT in the environment for non-interactive defaults. See LLM providers./auto
/auto
Set how often the REPL asks before running agent tools. Shown on the status line as
Auto (Med) · …./auto is not a shell-command allowlist: under alpha, shell strings still run when approved (or when High skips the prompt). Lower levels only promote the existing ask confirmation hook by tool_type.With /trust: /trust on skips approval prompts even when /auto would ask. Turn trust off to restore /auto prompts.Session preference only — not restored by /resume. Bare /auto prints the current level, the default, and each caption./trust
/trust
Trust mode skips execution confirmation prompts for elevated commands (In a TTY, bare
/cancel, /uninstall, integration remove, etc.)./trust opens an interactive on/off menu. Trust mode is a session preference — it is not restored by /resume./verbose
/verbose
Toggle
TRACER_VERBOSE logging for the REPL process (deeper internal logs to stderr). Also shows the per-turn tool-call log above each reply; by default it is hidden and only reachable with Ctrl+O./clear
/clear
Clears the terminal and re-renders the OpenSRE banner. Does not reset session state, token usage, LLM conversation context, or accumulated infra context.
/compact
/compact
Summarizes older conversation context, keeps recent messages, and persists a If there are not enough messages to compact, the command reports nothing to compact. OpenSRE also compacts automatically before a shell turn when the replayed branch context exceeds the runtime threshold.
compaction entry in the session file. Future /resume calls replay the summary before the kept messages./sessions
/sessions
List up to 20 recent sessions stored on disk, newest first:
The current row updates duration live. Sessions with no name show
(current) or ↩ <resumed-from> when applicable./resume
/resume
Restore LLM conversation context and accumulated infra context from a previous session.
Current session: If the ID prefix matches the session you are already in,
/resume is a no-op — OpenSRE prints a hint to pick a previous session from /sessions.When you resume a different session, OpenSRE:- Switches the active session file to the target session
- Restores
cli_agent_messagesso the assistant remembers prior turns - Restores
accumulated_contextkeys - Reprints conversation history (user prompts, assistant replies, slash commands)
Warning: Resuming a different session replaces the current session’s LLM context if messages already exist.Session replay reads the current version-2 session tree format. Older session files are ignored by
/sessions and /resume. See Session History./new
/new
Rotate to a new session file while keeping the current LLM conversation thread and accumulated context.
Use
/new after a long /resume so /sessions stays tidy without losing your place in the conversation./goal
/goal
Set a finish line and keep working toward it across turns:Bare
/goal shows the current goal. /goal set starts work immediately.
See Goals for the full workflow.Integrations, models, and tools
Choosing the right diagnostic command
Choosing the right diagnostic command
/health
/health
Read-only pass/fail report for the local OpenSRE agent, LLM connectivity, and each configured integration.Runs live verification against the integration store. Use before incidents to confirm Datadog/Grafana/K8s credentials still work. For integration-only checks without the full agent/LLM report, prefer
/verify./verify
/verify
Shortcut for integration connectivity checks (same as
opensre integrations verify / make verify-integrations)./integrations
/integrations
Bare
/integrations opens an interactive menu in a TTY with service pickers for show/remove./mcp
/mcp
MCP-capable integrations only (subset of the full integration catalog).
/model
/model
Show the active hosted model. An authenticated interactive shell is account-managed, so local provider/model changes are locked until sign-out; signing out closes the shell.
Account lock:
set, restore, and toolcall set explain that the model is managed by the OpenSRE account and make no change. The account route overrides local provider variables for every model role while the session is signed in.Bare /model: in a terminal this opens a menu rather than printing the table. The menu stays open: show prints the current models and hands you back to it, so leave with done or Esc. set, restore and toolcall close it once the change succeeds. Use /model show when you only want the table.Reasoning vs toolcall model: Reasoning model drives chat and planning; toolcall model drives tool invocation when the provider exposes a separate slot (common on Anthropic/OpenAI).See LLM providers./tools
/tools
List tools available to the chat and action surfaces in this build (name, source, surfaces).There is no global
/list command — use domain-specific list commands (see Natural language actions).Privacy and history
Command history (up-arrow recall) is separate from session history (/sessions). Full redaction patterns and env vars: Interactive Shell Privacy.
/history
/history
Bare
/history opens an interactive menu in a TTY (presets: 100, 500, 1000, 5000 for retention)./privacy
/privacy
Tasks and background
Long-running work is tracked in a per-session task registry surfaced by/tasks.
Human todos and reminders are tracked separately by /work.
Task kinds
Task kinds
Task statuses
Task statuses
/gateway
/gateway
Control the background OpenSRE gateway daemon, which runs the web health app, Telegram chat, and the task scheduler. Scheduled work needs a scheduler running: this daemon, or
opensre cron start in the foreground.Logs are written to
~/.opensre/gateway/gateway.log. Same daemon as opensre gateway./tasks
/tasks
/cancel./work
/work
/tasks (runtime jobs). See Work Management.You can also ask naturally:/cancel
/cancel
- Matches task id by prefix (must be unique among active/recent tasks)
- Only running tasks accept cancellation
/stop
/stop
Prints guidance only — does not kill processes:
Agents and alerts
Fleet coordination is documented further on Agents. Register discovered agents withopensre fleet scan --register before /fleet trace targets them.
/fleet
/fleet
Kill confirmation: Without
--force, prompts [y/N]. --force skips prompt (still elevated tier unless trust mode)./choose
/choose
Reopen the selection menu the agent is waiting on. Useful when the menu scrolled away, or you dismissed it with Esc and want it back.Prints
No selection menu is pending. when the agent has not asked anything. Outside a TTY it lists the options as text for you to answer in a reply instead of opening a picker — except for a pending onboarding demo choice, which it drops with “Guided demo selection is unavailable here”, leaving you to ask for what you want directly./alerts
/alerts
If the listener is inactive, prints a warning. Incoming alerts also appear in
/status as incoming alerts. Post alerts to your configured webhook/listener URL during setup; the REPL triages them in chat.Setup and ops (CLI parity)
These spawnopensre … subprocesses. Output is captured into the REPL buffer for non-interactive subcommands; wizards attach to the real TTY.
/account
/account
/account usage, opens your browser; from a chat it replies with the link), or sign out. Same as opensre account. The browser opens the OpenSRE sign-up page, where you can use email or any enabled sign-in provider. The shell starts only for an active account state. /account logout revokes the saved session, invalidates the hosted-model route, and closes the shell before another turn. If OPENSRE_ACCOUNT_TOKEN is set in the environment, it overrides the token saved by login until you unset it./setup
/setup
--dev for a webapp running at http://localhost:3000. Setup requires exclusive stdin because browser authorization prompts on the real TTY./auth
/auth
opensre auth. Interactive login prompts on the real TTY./login
/login
/auth login. Same provider flows as opensre auth login./onboard
/onboard
/remote
/remote
/remote-sync
/remote-sync
/config
/config
~/.opensre/config.yml. Prefer env vars for secrets; use config for structured interactive-shell settings./cron
/cron
/loops
/loops
--mode agent when the tick should act with tools (for example edit and push CI fixes). Onboarding creates draft examples such as a weekday morning report; active loops run through the cron scheduler when the gateway or opensre cron start is running.Agent-mode prompts must contain the complete task and name the tools to use; each tick starts a fresh session without loading workflow skills. For the CLI equivalent, use opensre cron add --kind manual_loop --mode agent with your prompt and schedule. Existing loops retain their stored mode; check /loops show <id> before reusing one.The list shows each loop’s latest finding and run status, plus its next scheduled time in your local timezone. Failed and quiet runs replace the previous result in the table.Use /loops show to pick a loop, or pass its name or ID directly. Details contain the full report, recent runs, and configuration. Open an earlier report with the run ID shown in its history. New reports are retained even when delivery fails; older reports may be unavailable.You can also ask naturally:/sentry
/sentry
/messaging
/messaging
/guardrails
/guardrails
/update
/update
/posthog
/posthog
Run or schedule automated PostHog per-metric summary reports. Requires the PostHog integration; see PostHog.A scheduled report only fires while a scheduler is running, so pair it with
/gateway start or opensre cron start. Same as opensre posthog./runbooks
/runbooks
Manage the trusted runbook sources the agent may read during guided investigations. See Runbook-guided investigations.The agent reads runbooks only from sources listed here; an untrusted repository, an unsafe path, or a non-Markdown document is rejected. Same as
opensre runbooks./debug
/debug
opensre debug --help./uninstall
/uninstall
System
/doctor
/doctor
Environment diagnostic distinct from Checks Python version, venv, config paths, Docker availability, credential presence, and related local prerequisites. Each row:
/health:ok, warn, or error with detail text.Use /doctor before first install debugging; use /health before an incident to verify integrations./theme
/theme
Choose the shell colour theme. The choice persists to Bare
interactive.theme in ~/.opensre/config.yml, so it survives restarts./theme opens a picker with the current theme preselected, and needs a TTY. Passing a name sets it directly and reports an unknown name with the full list.Installed themes: green, blue, amber, mono, red, pink, purple, orange, teal, lime, nord, dracula, solarized, gruvbox, webflux, sunset. The default is purple./version
/version
/exit and /quit
/exit and /quit
/resume hint. Prefer this over killing the terminal so session files flush cleanly./exit, /quit, double Ctrl+C, or Ctrl+D (empty prompt) all print something like:Trust mode, /auto, and confirmations
Two controls decide whether the REPL prompts before an action:
Non-TTY: actions that would ask fail closed (error message, no side effect).
Natural language actions
You do not need to memorize every slash command. Examples:
List intents — there is no global
/list:
When the planner is uncertain, it asks for clarification or falls back to help — it does not silently run elevated commands.
Compound requests (“health then integrations”) execute as an ordered sequence of slash actions.
Common workflows
First-time setup
opensre setup must establish the account before this workflow is reachable. Every launch opens the demo picker — Escape continues to the prompt. The recommended option analyzes CI/CD performance; see CI/CD analytics demo.
Incident triage (local)
Pick up yesterday’s thread
Inspect account and model state
Debug integration failures
Troubleshooting
Related docs
- Goals —
/goalset, pause, resume, edit, clear - Session History — persistence format, privacy,
/newvs/clear - Interactive Shell Privacy — redaction, env vars, threat model
- LLM providers —
/modeland/effort - Agents — fleet dashboard, bus, trace, budgets
- Cron —
/cronscheduled deliveries - Sync to your own object store —
/remote-sync
Scheduled CI repair demo
Choose scheduled CI repair from/demo to try a tiny failure in the private
opensre-onboarding-ci-repair-demo repository. OpenSRE creates that repository
once and reuses it, with a fresh branch and PR for each completed demonstration.
An existing unrelated repository with that name stops setup.
The demo starts on the next scheduled minute and has a ten-minute total limit.
It uses the macOS or Linux background scheduler so it can finish after you close
the terminal. Configure GitHub and authenticate your coding agent before starting.
The initial run also needs permission to create a private repository and workflow.
- Read the complete outcome and evidence links with
/loops show <task-id>. - Stop an active repair with
/loops stop <task-id>. - Starting the demo again while it is active returns the same run and deadline.
- Successful runs close the demo PR and remove its branch. Unsuccessful runs keep the PR, branch, and diagnostics. The repository and stopped loop history remain.