Agent stack build plans · oh-my-pi · 2 of 5

Set it up

Twenty minutes, four steps. Commands verified against the omp README and docs at v17.0.9 (July 2026) — omp releases near-daily, so if something here has drifted, trust omp --help over this page and tell us at the bottom.

1 · Install

Pick one:

# macOS / Linux
curl -fsSL https://omp.sh/install | sh

# Homebrew
brew install can1357/tap/omp

# Bun (the README's recommended path; needs bun ≥ 1.3.14)
bun install -g @oh-my-pi/pi-coding-agent

# Windows (PowerShell)
irm https://omp.sh/install.ps1 | iex

# Version-pinned via mise
mise use -g github:can1357/oh-my-pi

Then run omp in a repo. First launch walks you through omp setup to pick a default model.

2 · Connect a model (three ways, mixable)

Ride a subscription you already pay for

Inside a session, /login starts OAuth for subscription providers — anthropic (your Claude account), github-copilot, cursor, gitlab-duo and others. No new bill. (One caution about plan terms in the traps.)

Bring API keys

Env vars work as you’d expect — ANTHROPIC_API_KEY, OPENROUTER_API_KEY, and the rest of the provider list (openai, google, groq, deepseek, amazon-bedrock, openrouter…). For headless machines: omp auth-broker login <provider>.

Run local, pay nothing

Keyless local providers are auto-detected at their default ports: ollama (127.0.0.1:11434), llama.cpp (:8080), lm-studio (:1234). Any other OpenAI-compatible endpoint (vLLM included) plugs in via models.ymlnext page.

3 · Migrate your Claude Code setup

Mostly you don’t have to. The README: “On first run omp inherits whatever is already on disk: rules, skills, and MCP servers from .claude, .cursor, .windsurf, .gemini, .codex, .cline, .github/copilot, and .vscode. No migration script.” Your CLAUDE.md rules, project skills, and MCP servers show up in the first session. omp’s own MCP config, if you want to add servers just for it, lives at .omp/mcp.json (project) or ~/.omp/agent/mcp.json (user) — stdio, http, and sse transports.

4 · Fix the one default you shouldn't keep

omp ships in YOLO approval mode. Unlike Claude Code, the default is to run tool calls — including shell commands — without asking. Before you point it at anything that matters, drop this in ~/.omp/agent/config.yml:
tools:
  approvalMode: write
write asks before mutating actions; always-ask asks for everything; per-tool overrides exist (tools.approval.<toolName>: allow|deny|prompt). Flip to --yolo per-invocation when you actually want it.

That’s a working replacement. The reason you came — routing — is one more file.

Disagree? Pin a note on it →