Install

omp ships as a Bun-runnable package and as prebuilt binaries. Pick one of the methods below; all of them produce an omp executable on your PATH.

| Method | Command | Best for | | ---------------- | ----------------------------------------------------------------------------------------- | ------------------------------- | ------------------------------------------------------------------------------------------------------------------------- | | Bun | bun install -g @oh-my-pi/pi-coding-agent | You already have Bun >= 1.3.14. | | Installer script | curl -fsSL https://raw.githubusercontent.com/can1357/oh-my-pi/main/scripts/install.sh \\ | sh | Anything else. Picks Bun if available, prebuilt binary otherwise. Windows: pipe the corresponding install.ps1 to iex. | | mise | mise use -g github:can1357/oh-my-pi | Per-project version pinning. |

The installer accepts --source (force Bun), --binary (force prebuilt), and --ref \<tag|branch|commit\> for pinning. Set PI_INSTALL_DIR to override the install directory.

Verify

omp --version           # the binary version on PATH
omp config path         # the active agent dir (contains config.yml)
omp -p 'hello'          # round-trip a one-shot prompt

For upgrade commands, channel pinning, and offline binaries, see the CLI reference.

Terminal setup

omp speaks the Kitty keyboard protocol so it can tell Shift+Enter apart from Enter and pick up Alt chords reliably. Kitty and iTerm2 work without configuration. Ghostty needs two keybinds in ~/.config/ghostty/config:

keybind = alt+backspace=text:\x1b\x7f
keybind = shift+enter=text:\n

wezterm needs config.enable_kitty_keyboard = true in ~/.wezterm.lua. Windows Terminal doesn’t implement the protocol; use Alt+Enter for newline instead of Shift+Enter.

Authenticate

Wire up a provider one of two ways: an environment variable before launch, or /login inside the TUI for OAuth providers. See Providers for the full list.

Option 1 — environment variable

The fastest start with Anthropic:

export ANTHROPIC_API_KEY=sk-ant-...
omp

Other common keys: OPENAI_API_KEY, GEMINI_API_KEY, XAI_API_KEY, GROQ_API_KEY, MISTRAL_API_KEY, OPENROUTER_API_KEY, ZAI_API_KEY. The full map lives on Environment variables.

Option 2 — /login

For Claude Pro/Max, ChatGPT Plus/Pro, GitHub Copilot, Cursor, Z.AI, and other subscription providers, launch omp and authenticate from inside:

omp
/login

You’ll see an alphabetical picker. /login appends credentials, never overwrites; /logout clears the selected provider. For the same provider, a saved API key wins over OAuth. Everything is stored in ~/.omp/agent/agent.db — back that file up when you migrate machines.

First prompt

Run omp in any project directory:

omp

The first launch creates ~/.omp/agent/, detects your terminal’s light/dark mode and Kitty support, and renders a welcome panel. The current working directory becomes the project root; AGENTS.md and rule files are discovered from there. Type a prompt to begin:

summarise src/main.ts

The agent picks a tool, the TUI renders the call as a compact card, and the response streams in. Ctrl+O expands the card to show full tool output.

For one-shot mode (no TUI, exits after one turn):

omp -p "list .ts files in src/"

Next

Ask Docs

AI assistant to help answer questions about the documentation. Answers are read-only and cite docs/source.

Hi! How can I help you with the documentation today? Answers are read-only and cite docs/source.

Ctrl+Enter to send