# Oh My Pi

> Source: https://aiwiki.ai/wiki/oh_my_pi
> Summary: Oh My Pi (command name and common abbreviation omp) is an open-source terminal coding agent created by Can Bölük, who describes himself as a security researcher and reverse engineer , as a fork of Mario Zechner's minimalist Pi agent .
> Updated: 2026-09-23
> Fact-checked: 2026-09-23
> Categories: AI Agents, AI Code Generation, Developer Tools, Open Source AI
> License: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/) - attribute to "AI Wiki (aiwiki.ai)"
> Cite as: AI Wiki. "Oh My Pi." aiwiki.ai, 23 Sept 2026. https://aiwiki.ai/wiki/oh_my_pi
> From AI Wiki (https://aiwiki.ai), the free encyclopedia of artificial intelligence. Reuse freely with attribution.

| Field | Value |
|---|---|
| Type | [Coding agent](https://aiwiki.ai/wiki/coding_agent) and agent harness |
| Original author | Can Bölük |
| Based on | [Pi](https://aiwiki.ai/wiki/pi_agent) by Mario Zechner |
| Repository created | December 31, 2025 |
| First npm release | January 2, 2026 (v1.337.0) |
| Latest release | v18.2.11 (September 23, 2026) |
| Written in | [TypeScript](https://aiwiki.ai/wiki/typescript) (Bun runtime) with a Rust native core |
| Platforms | macOS, Linux, Windows |
| License | MIT |
| Repository | github.com/can1357/oh-my-pi |
| Website | omp.sh |

**Oh My Pi** (command name and common abbreviation **omp**) is an open-source terminal [coding agent](https://aiwiki.ai/wiki/coding_agent) created by Can Bölük, who describes himself as a security researcher and reverse engineer [14], as a fork of Mario Zechner's minimalist [Pi](https://aiwiki.ai/wiki/pi_agent) agent [1][2][3]. Where Pi ships four tools and leaves everything else to user extensions [7], Oh My Pi takes the opposite approach and bundles a large built-in toolset: language-server integration, a debugger driver, subagents, a browser, persistent Python and JavaScript kernels, and a content-hash edit format called hashline, backed by roughly 80,000 lines of Rust [1][4]. The project describes itself as "a coding agent with the IDE wired in" [1]. It is MIT licensed and had 32,870 GitHub stars and 3,472 forks as of September 23, 2026 [2].

## History

Bölük created the can1357/oh-my-pi repository on December 31, 2025 [2]. It is not a GitHub network fork of Pi's repository, but its README calls it a "fork of Pi by @mariozechner" and says it was "originally built on" Pi before being "rewritten as a coding-first surface" [1][2]. The first package, @oh-my-pi/pi-coding-agent version 1.337.0, was published to npm on January 2, 2026; that first release still carried Zechner's name in its package author field [3]. The license file keeps copyright notices for Mario Zechner (2025) alongside Can Bölük (2025-2026) and Stencil Labs, Inc. (2026), and the npm package now lists Stencil Labs, Inc. as its author [1][3]. Bölük's own posts about the project are published on his blog under the Stencil name [4].

The project drew wider attention on February 12, 2026, when Bölük published "We improved 15 LLMs at coding in one afternoon. Only the harness changed," a benchmark write-up about Oh My Pi's edit tool (described below) [4]. The post reached 832 points on Hacker News [5]. A Hacker News submission of the omp.sh site in July 2026 drew a further 42 points [6].

Development has been unusually fast. By September 23, 2026 the coding-agent package had 638 published versions, and its major version number had gone from 1 to 18 in under nine months: version 10.0.0 appeared on February 1, 2026, version 15.0.0 on May 13, and version 18.0.0 on August 22 [3]. For part of its life the project accepted pull requests only from vouched contributors; as of September 2026 its README says pull requests are "temporarily open to everyone as a trial" and that the vouch requirement may return [1].

## Relationship to Pi

Oh My Pi keeps Pi's package layout, with its own versions of the pi-ai multi-provider client, the pi-agent-core runtime, the pi-tui terminal library and the pi-coding-agent CLI, and adds further packages such as a model catalog, a native addon, a local memory engine and a benchmark runner [1]. Its philosophy section states that it keeps a terminal-first interface but includes "practical built-ins (tools, sessions, branching, subagents, extensibility)" and makes "advanced behavior configurable rather than hidden" [1]. That reverses several of Pi's founding choices. In his November 2025 design post, Zechner listed "No MCP support", "No background bash" and "No sub-agents" among Pi's deliberate omissions and gave the model only read, write, edit and bash by default [7].

| Aspect | Pi (as designed by Zechner) | Oh My Pi |
|---|---|---|
| Default tools | Four (read, write, edit, bash) [7] | README advertises 31 built-in tools, some gated behind settings [1] |
| Edit format | Exact-text replacement [7] | Hashline content-hash anchors [1][4] |
| Sub-agents | None [7] | `task` tool fans out subagents into isolated worktrees [1] |
| MCP | Not supported [7] | Imports MCP servers already configured for other agents [1] |
| Implementation | TypeScript [7] | TypeScript on Bun plus about 80,000 lines of Rust [1] |

Oh My Pi can install packages from Pi's package catalog through an `omp plugin install` command [8].

## Hashline and the "harness problem"

Hashline is Oh My Pi's edit format. When the model reads or searches a file, every returned line is tagged with a two- or three-character hash of its content; to edit, the model refers to those tags (for example "replace line 2:f1") rather than reproducing the old text. If the file has changed since it was read, the hashes no longer match and the edit is rejected before anything is written [4]. Bölük's argument was that the two common alternatives both depend on the model reproducing text exactly: OpenAI Codex's `apply_patch` expects a strict diff format that other models often break (he measured patch failure rates of 50.7% for Grok 4 and 46.2% for GLM-4.7), while the `str_replace` approach used by [Claude Code](https://aiwiki.ai/wiki/claude_code) and most other agents fails whenever whitespace or indentation is not reproduced character for character [4].

His benchmark took random files from the [React](https://aiwiki.ai/wiki/react) codebase, introduced mechanical bugs such as operator swaps, boolean flips and removed guard clauses, and asked each model to fix them from a plain-English description, with 180 tasks per run, three runs, and a fresh agent session each time; he put the benchmarking cost at about $300 [4]. The published results cover 16 models and three edit formats (patch, replace, hashline) [4]:

| Finding | Reported result |
|---|---|
| Hashline versus patch | Hashline beat patch for 14 of 16 models [4] |
| [Grok Code Fast](https://aiwiki.ai/wiki/grok_code_fast) 1 | Rose from 6.7% to 68.3%, a tenfold improvement [4] |
| [MiniMax](https://aiwiki.ai/wiki/minimax) | Pass rate more than doubled [4] |
| Grok 4 Fast | Output tokens fell 61% as retry loops disappeared [4] |
| Hashline v2 revision | Improved further for 12 of 16 models; largest gain GPT-5.1 Codex Mini, 60.0% to 77.5% [4] |

The measurements are the developer's own, on a single synthetic bug-fix task set. The post also argued that model vendors restricting third-party harnesses were acting against their own interests, since an open harness "tunes for all of them" [4].

## Features

The README groups the built-in tools by purpose [1]:

| Group | Tools |
|---|---|
| Files and search | `read` (files, directories, archives, SQLite, PDFs, notebooks, URLs, `ssh://` paths), `write`, `edit` (hashline), `ast_edit` and `ast_grep` (structural rewrites and queries via ast-grep over 50+ tree-sitter grammars), `grep`, `glob` |
| Runtime | `bash` (workspace shell with in-process coreutils), `eval` (persistent Python and JavaScript cells that can call back into the agent's tools) |
| Code intelligence | `lsp` (diagnostics, navigation, renames, code actions), `debug` (Debug Adapter Protocol sessions), `security_scan` |
| Coordination | `task` (parallel subagents), `hub`, `todo`, `ask` |
| Desktop and web | `browser` (Puppeteer over headless Chromium or the user's Chrome), `computer` (host windows, screenshots, input, accessibility tree), `web_search`, `github`, `generate_image`, `tts` |
| Memory and skills | `checkpoint`, `rewind`, `retain`, `recall`, `reflect`, `memory_edit`, `learn`, `manage_skill` |

Several of these, including `github`, `security_scan`, `generate_image`, `tts` and the memory tools, are off by default [1]. The debugger integration attaches lldb, dlv (Go) or debugpy (Python) to a running process so the agent can set breakpoints, step and read variables instead of adding print statements [1][8]. Other features described in the README include "time-traveling stream rules", which abort a response mid-stream when a user-defined regex matches, inject the rule as a reminder and retry; an optional "advisor" role in which a second model reviews each turn and injects notes; a `/collab` command that shares a live session through a relay, with frames sealed on the client; a `/review` command that spawns reviewer subagents and ranks issues P0 to P3; and an `omp commit` command that splits working-tree changes into ordered atomic commits [1]. On first run the agent reads rules, skills and MCP server definitions already written for other tools, including `.claude`, `.cursor`, `.codex`, `.gemini`, `.cline` and `.github/copilot` directories [1].

### Models and providers

Oh My Pi routes work through nine model roles: `default`, `smol` (cheap subagent fan-out), `slow` (deep reasoning), `plan`, `commit`, `vision`, `task`, `advisor` and `tiny`. The README lists more than 60 providers, covering direct APIs such as [Anthropic](https://aiwiki.ai/wiki/anthropic), [OpenAI](https://aiwiki.ai/wiki/openai), Google Gemini and Vertex, [xAI](https://aiwiki.ai/wiki/xai), [DeepSeek](https://aiwiki.ai/wiki/deepseek), Mistral, Groq, Cerebras, Amazon Bedrock and Azure OpenAI; gateways such as [OpenRouter](https://aiwiki.ai/wiki/openrouter) and the Vercel and Cloudflare AI gateways; subscription coding plans including Cursor, GitHub Copilot, Kimi Code, MiniMax, Z.AI/GLM and Alibaba plans; and local servers such as [Ollama](https://aiwiki.ai/wiki/ollama), [LM Studio](https://aiwiki.ai/wiki/lmstudio), [llama.cpp](https://aiwiki.ai/wiki/llama_cpp), [vLLM](https://aiwiki.ai/wiki/vllm) and [LiteLLM](https://aiwiki.ai/wiki/litellm) [1]. Custom OpenAI-compatible or Anthropic-compatible endpoints can be declared in a YAML file, with per-role fallback chains for rate limits, path-scoped model sets for individual repositories, and rotation across multiple API keys [1]. A `web_search` tool chains up to 23 search backends [1].

### Interfaces and architecture

The same engine runs as an interactive terminal UI, as a one-shot command (`omp -p`), as an embeddable Node/TypeScript SDK, over newline-delimited JSON RPC on stdio (`omp --mode rpc`), and as an [Agent Client Protocol](https://github.com/zed-industries/agent-client-protocol) server (`omp acp`) for editors such as [Zed](https://aiwiki.ai/wiki/zed), where file reads and writes go through the editor and destructive tools require a permission prompt [1]. Performance-sensitive work runs in Rust crates compiled into a single N-API addon: an embedded bash engine based on a vendored fork of brush-shell, with dozens of command-line utilities ported in-process so common commands avoid a fork and exec; a parallel filesystem walker; tree-sitter and ast-grep matching; workspace isolation using APFS, btrfs or ZFS clones and overlay filesystems; desktop control; and audio [1]. The native addon is built for Linux, macOS and Windows on x64 and ARM64 [1].

## Adoption and reception

Two model and runtime vendors document Oh My Pi in their own materials. [DeepSeek](https://aiwiki.ai/wiki/deepseek) added an Oh My Pi integration guide to its awesome-deepseek-agent repository on April 29, 2026, and its API documentation carries a "Using DeepSeek with Oh My Pi" page with a full model configuration for [DeepSeek V4](https://aiwiki.ai/wiki/deepseek_v4) Pro and Flash. The guide warns that Oh My Pi's built-in DeepSeek V4 entries lacked three compatibility settings, so that long thinking-mode sessions with tool calls would fail with HTTP 400 errors unless users supplied a custom models.yml [9][10]. [Ollama](https://aiwiki.ai/wiki/ollama) added documentation on June 8, 2026 for an `ollama launch omp` command that configures Ollama as the model provider, sets up web search and starts a session [11][12].

Better Stack's community guide (June 2026) singled out the pairing of language-server and debugger integration as the project's "most distinctive technical contribution" [8]. In a comparison published on September 1, 2026, Composio, a company that sells agent tooling, ran Oh My Pi against Pi and six other harnesses on 30 tasks routed through its own hosted MCP router, all using DeepSeek V4 Flash. In that test Pi passed 20 tasks and Oh My Pi 17, Oh My Pi's cost per successful task was $0.103 against Pi's $0.028, and its median task time of 272.4 seconds was the slowest of the eight harnesses, although it still placed second overall ahead of Claude Code, Codex and [opencode](https://aiwiki.ai/wiki/opencode) on the same model [13]. Composio's summary was that Oh My Pi's tooling is useful but "costs you tokens, time, and money on every single task" [13].

## See also

- [Pi (agent framework)](https://aiwiki.ai/wiki/pi_agent)
- [Harness (AI)](https://aiwiki.ai/wiki/harness)
- [Coding agent](https://aiwiki.ai/wiki/coding_agent)
- [opencode](https://aiwiki.ai/wiki/opencode)
- [Claude Code](https://aiwiki.ai/wiki/claude_code)
- [OpenAI Codex](https://aiwiki.ai/wiki/openai_codex)

## References

1. can1357/oh-my-pi repository README and LICENSE. GitHub. Retrieved September 23, 2026. https://github.com/can1357/oh-my-pi
2. can1357/oh-my-pi repository metadata (created December 31, 2025; MIT; TypeScript; not a GitHub network fork; 32,870 stars and 3,472 forks as of September 23, 2026). GitHub API. https://api.github.com/repos/can1357/oh-my-pi
3. @oh-my-pi/pi-coding-agent package metadata (first published January 2, 2026 as v1.337.0; 638 versions; v18.2.11 published September 23, 2026). npm registry. https://www.npmjs.com/package/@oh-my-pi/pi-coding-agent
4. Can Bölük. "We improved 15 LLMs at coding in one afternoon. Only the harness changed." Stencil blog (blog.can.ac), February 12, 2026. https://blog.can.ac/2026/02/12/the-harness-problem/
5. "Improving 15 LLMs at Coding in One Afternoon. Only the Harness Changed" (832 points, February 12, 2026). Hacker News. https://news.ycombinator.com/item?id=46988596
6. "Oh-my-pi: A coding agent with the IDE wired in" (42 points, July 21, 2026). Hacker News. https://news.ycombinator.com/item?id=48994611
7. Mario Zechner. "What I learned building an opinionated and minimal coding agent". mariozechner.at, November 30, 2025. https://mariozechner.at/posts/2025-11-30-pi-coding-agent/
8. Stanley Ulili. "OMP (Oh My Pi): AI Coding Agent with LSP, DAP Debugger, and Hashline Edits". Better Stack Community, updated June 1, 2026. https://betterstack.com/community/guides/ai/oh-my-pi-ai-coding-agent/
9. DeepSeek. "Using DeepSeek with Oh My Pi". DeepSeek API Docs. Retrieved September 23, 2026. https://api-docs.deepseek.com/quick_start/agent_integrations/oh_my_pi/
10. DeepSeek. "docs/oh-my-pi.md" (added April 29, 2026). deepseek-ai/awesome-deepseek-agent, GitHub. https://github.com/deepseek-ai/awesome-deepseek-agent/blob/main/docs/oh-my-pi.md
11. Ollama. "Oh My Pi". Ollama documentation. https://docs.ollama.com/integrations/oh-my-pi
12. Ollama. "docs: omp (#16552)" (commit adding docs/integrations/oh-my-pi.mdx, June 8, 2026). ollama/ollama, GitHub. https://github.com/ollama/ollama/blob/main/docs/integrations/oh-my-pi.mdx
13. Shrijal (Composio). "Pi vs OMP (Oh My Pi Agent): Everything You Need to Know". Composio, September 1, 2026. https://composio.dev/content/pi-vs-omp
14. Can Bölük (can1357). GitHub user profile. Retrieved September 23, 2026. https://github.com/can1357

