Dev & Engineering terminal-codinghashline-editinglsp-integrationdebug-adapter-protocolsubagent-orchestrationmulti-provideragent-client-protocolmcp

Oh My Pi

A terminal-first, multi-provider coding agent with editing, IDE intelligence, debugging, and subagent workflows.

FollowAgents review · FARS-2.1
Not recommended
54/ 100 5-point scale 2.7 / 5
1 2 3 4 5 6
Per-dimension scores and reasoning
1Trust10 / 29 · 1.7/5

Evidence: README mentions destructive tools pause for permission prompts (ACP section), but no default permission policy or least-privilege details. User confirmation exists but only mentioned, not shown in implementation. Data flow transparency: collab frames sealed client-side, relay never sees keys, but not all data flows covered. Sensitive data handling: keys and credentials mentioned, but storage/encryption details absent. Dependency security: patchedDependencies and overrides present, but no vulnerability scanning or audit evidence. External effects: tools like computer and browser can affect system, but no default restrictions described. Rollback: hashline rejects stale patches, but no general rollback mechanism. Source attribution: clearly a fork of Pi, but publisher unverified. Deductions: most security mechanisms only mentioned without implementation details, and publisher identity unknown.

2Reliability9 / 14 · 3.2/5

Evidence: Extensive tests (e.g., agent-loop.test.ts) and complete CI configuration show emphasis on consistency. Dependency availability: bun.lock and Cargo.lock pin versions, but no offline or mirror strategy. Failure messages: tests cover abort and error paths, but no user-visible error message examples. Deductions: static review cannot verify runtime behavior, but tests and CI indicate a reliability foundation.

3Adaptability12 / 18 · 3.3/5

Evidence: README details multiple usage scenarios (terminal, Zed, browser, desktop) and lists 31 tools and 60+ providers, showing broad applicability. Capability boundaries: tool list and setting gates (e.g., github, security_scan off by default) indicate boundary control. Trigger precision: magic keywords have exact matching rules, slash commands have clear behavior. Environment fit: supports macOS, Linux, Windows, and handles musl special cases. Deductions: no detailed configuration docs or troubleshooting guide.

4Convention11 / 18 · 3.1/5

Evidence: README is well-structured with sections for install, tools, providers. Install notes are detailed with multiple methods (curl, brew, bun, PowerShell). Naming stability: version 17.2.12 consistent. Examples and FAQ: README has many examples and screenshots, but no FAQ section. Known limitations: only Alpine/musl issue mentioned, not comprehensive. License: MIT license clear. Versioning/changelog: CHANGELOG.md link present. Maintenance responsibility: CI and release process exist, but publisher unverified. Deductions: missing FAQ and comprehensive known limitations list.

5Effectiveness9 / 13 · 3.5/5

Evidence: README claims performance improvements (e.g., Grok 4 Fast 61% fewer tokens), but no independent verification. Output usability: tools return structured results (e.g., subagents return schema-validated objects). Marginal value: adds many features over Pi (LSP, DAP, browser, etc.). Cost-benefit: multiple providers and models may reduce cost, but no pricing info. Deductions: performance claims lack benchmark evidence.

6Verifiability3 / 8 · 1.9/5

Evidence: Claims in README (e.g., performance improvements) lack reproducible benchmarks or data. Cross-source: only README and code, no third-party verification. Fact-inference separation: README distinguishes feature descriptions from performance claims, but performance claims not labeled as inference. Deductions: lack of verifiable benchmarks and third-party confirmation.

Evidence confidence: Low Reviewed Aug 09, 2026 Reviewed revision 45e12e5bb758
The upstream repository has new commits since this review. The score still applies to the reviewed revision shown and may not cover the latest changes.
Before you use it
  • Publisher identity unverified; install script (curl | sh) poses supply-chain risk; verify checksums.
  • Performance claims in README (e.g., token reduction) lack reproducible benchmarks; do not base decisions on them.
  • Tools like computer and browser can access desktop and browser; default permissions unclear; configure carefully.
  • Dependency security lacks vulnerability scanning evidence; conduct security audit before use.
Review evidence [1][2][3][4][5][6][7]
See the full review method →

What does this agent do, and when should you use it?

Oh My Pi, invoked as `omp`, is a coding agent whose default interface is an interactive terminal UI, with additional one-shot, Node/TypeScript SDK, stdio RPC, and ACP modes. Its monorepo combines TypeScript packages with Rust N-API components for the agent runtime, model catalog, TUI, collaboration protocol, Hashline patches, and local SQLite memory. The agent can work with files, shell commands, persistent Python and JavaScript cells, LSP operations, DAP debugging, browser automation, web search, and subagents. It supports a broad set of providers as well as OpenAI-compatible endpoints. Installation is documented for macOS, Linux, and Windows through install scripts, Homebrew, Bun, and mise.

Run omp for the interactive terminal interface or omp -p for a single prompt. The agent uses read for files, directories, SQLite, PDFs, notebooks, URLs, and internal :// schemes; search and find for discovery; and write, edit, or ast_edit to produce changes. edit uses content-hash-anchored Hashline patches, while ast_edit stages structural rewrites for later acceptance. It can execute workspace commands through bash, run persistent Python and JavaScript cells through eval, use lsp for diagnostics and renames, and control Debug Adapter Protocol sessions through debug. task can fan work out to workspace-isolated subagents and return schema-validated results; omp acp lets an editor provide filesystem and terminal I/O over the Agent Client Protocol.

  1. A terminal-based developer who wants an agent to inspect a local repository, run commands, and apply hash-anchored code edits.
  2. A maintainer performing cross-file symbol renames, reference searches, diagnostics, or code actions through lsp.
  3. An engineer diagnosing a native C crash, a stuck Go service, or a wedged Python process through DAP-backed debugging.
  4. A team splitting repository review, inspection, or research into parallel workers with isolated workspaces via task.
  5. A tool builder embedding an agent in a Node/TypeScript host, a stdio client, or an ACP-capable editor.

What are this agent's strengths and limitations?

Pros
  • Combines read, search, Hashline edit, structural rewriting, LSP, and DAP debugging in one agent tool surface.
  • Its Rust native layer performs search, shell, AST, PTY, syntax highlighting, and filesystem work in process rather than shelling out on the hot path.
  • Documents more than 40 providers, OpenAI-compatible endpoints, role-based model routing, fallback chains, and credential rotation.
  • Offers multiple integration boundaries: terminal UI, Node SDK, stdio RPC, and ACP.
  • task supports parallel subagents, workspace isolation, and schema-validated returned results.
Limitations
  • Full use requires Bun >= 1.3.14 and relies on distributed Rust/N-API native components for several local capabilities.
  • Model access, web search, browser control, collaboration, and GitHub operations can require network access, provider authentication, or additional configuration.
  • GitHub, image inspection, TTS, and memory-related tools are setting-gated and disabled by default.
  • Although Windows is supported, workspace isolation may depend on platform mechanisms such as APFS, btrfs, zfs, overlayfs, projfs, or rcopy.
  • The supplied documentation does not specify provider pricing or exhaustive operational limits for browser, debugger adapters, and collaboration relay use.

How do you install or deploy this agent?

On macOS or Linux: curl -fsSL https://omp.sh/install | sh. With Homebrew: brew install can1357/tap/omp. The recommended Bun install is bun install -g @oh-my-pi/pi-coding-agent. On Windows PowerShell: irm https://omp.sh/install.ps1 | iex. The documented runtime is macOS, Linux, or Windows with Bun >= 1.3.14. Before using a model, configure provider authentication through omp setup or /login in a session.

How do you use this agent?

From a project directory, run omp and enter a task in the interactive session. For one-off use, run omp -p "list .ts files". Use omp acp for editor integration, or omp --mode rpc --no-session for an NDJSON stdio interface. To add a custom OpenAI-compatible provider, define it in ~/.omp/agent/models.yml, run omp models spark to verify discovery, then select it through omp setup or /model.

How does this agent compare with similar options?

Oh My Pi is a fork of Mario Zechner's Pi (pi-mono). The repository describes it as extending Pi with a coding-focused surface for sessions, subagents, slash commands, extensions, native tools, and multi-provider workflows.

FAQ

Is it tied to one model vendor?
No. The repository lists Anthropic, OpenAI, OpenAI Codex, Gemini, xAI, and many other providers, plus Ollama, LM Studio, llama.cpp, vLLM, LiteLLM, and custom OpenAI-compatible endpoints.
Can it change my working tree?
Yes. write can create or overwrite files and edit applies Hashline patches. ast_edit creates a queued proposal that is applied only after resolve accepts it. In ACP mode, writes and some bash operations are gated through session/request_permission.
Can I use it without the terminal UI?
Yes. Node and TypeScript hosts can use ModelRegistry, SessionManager, and createAgentSession; other hosts can use the NDJSON protocol exposed by omp --mode rpc.
How are parallel subagents kept from colliding?
task can run subagents in isolated workspaces and return schema-validated findings to the parent. The documentation presents this as avoiding merge conflicts between sibling workers.

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents