πomp guide

Getting started

Verified against the omp release in data/version.txt; drift from newer releases is tracked automatically in the issues.

Install

curl -fsSL https://omp.sh/install | sh          # macOS / Linux
brew install can1357/tap/omp                    # Homebrew
bun install -g @oh-my-pi/pi-coding-agent        # Bun >= 1.3.14
irm https://omp.sh/install.ps1 | iex            # Windows PowerShell, native
mise use -g github:can1357/oh-my-pi             # pinned versions

Add completions: eval "$(omp completions zsh)" (also bash, fish).

First session

cd your-repo
omp

omp setup runs onboarding and installs optional dependencies. omp update keeps you current.

Log in to a provider with /login inside the TUI. omp routes across providers by role (default, smol, slow, plan, advisor, …), so you can mix a strong model for planning with a cheap one for grunt work. /models shows what is available; Alt+M opens the selector and assigns roles.

The four inputs that matter on day one

Input What it does
/plan Read-only planning mode. The agent writes an execution spec to local://<slug>-plan.md and hands you the approval. Read the file.
Shift+Tab Cycle the thinking (reasoning) level live. A bare ultrathink in your prompt buys one maximum-depth turn.
Ctrl+P Cycle role models forward (Shift+Ctrl+P back, Alt+P temporary pick).
/omfg The agent just did the annoying thing? This forges a permanent stream rule from your complaint. Free until it fires.

Give it context, once

Two files, two jobs, both discovered from the nearest ancestor of your cwd:

Never commit or push unless I explicitly ask.
Do not edit generated files.

Project files such as CLAUDE.md, AGENTS.md, Cursor rules, or .clinerules load natively. Standalone CLAUDE.md files in the project or its ancestors load alongside AGENTS.md; user-level provider config sources are opt-in through enabledProviders. Nothing to migrate; native .omp files win on collision.

Attach things

omp @spec.md @screenshot.png "implement this"

@path attaches files to the first message, including images and videos. Inside the TUI, paste images with Ctrl+V; read can inspect videos with ffmpeg, and selectors such as :412 or :1h5m42s extract a frame.

Headless, when you are ready

omp -p "summarize the changes in this diff" --mode json --tools read,grep,glob --max-time 5m --no-session

Same engine, no TUI. See the cheat sheet for the full flag list.

Where to go next