Run a coding agent in your terminal that can edit files, run shell commands, and ask for confirmation before applying changes.
Use omp's LSP integration to rename a symbol and have it update re-exports and aliased imports across files.
Attach lldb, dlv, or debugpy to a running process and step through frames while the agent reasons about the bug.
Spawn subagents that each get their own working copy and run isolated tasks in parallel.
Installs via a single curl, brew script, or Bun global install.
oh-my-pi (the command you actually type is omp) is a coding assistant that lives in your terminal. You point it at a project, you describe what you want, and it reads files, runs commands, edits code, and looks things up on your behalf, then asks you to confirm changes. It is a fork of an earlier project called Pi by Mario Zechner, with a lot more bundled in. The README claims support for 40 or so different model providers, 32 built-in tools, and around 27,000 lines of a Rust core that does the heavy lifting. A central pitch of the project is that the tool layer around the model has been tuned aggressively for accuracy. The README cites benchmark jumps for several models when run through omp instead of through a default tool layer: for example, Grok Code Fast 1 going from 6.7 percent to 68.3 percent on a coding test, MiniMax more than doubling its pass rate, and Grok 4 Fast using 61 percent fewer tokens because it stops getting stuck retrying bad edits. The point is that the same model behaves much better when the surrounding plumbing is solid. The features that go beyond a basic chat-with-files agent are the most distinctive part. omp ships with a persistent Python kernel and a Bun (JavaScript) kernel that the agent can run code in, and either kernel can call the agent's own read or search tools through a loopback bridge. It connects to Language Server Protocol features (the things your IDE uses for rename, jump-to-definition, find-references) so a request like rename this symbol updates re-exports and aliased imports across files. It can attach a real debugger to running processes (lldb for C, dlv for Go, debugpy for Python) and step through frames instead of asking the agent to add print statements. There is also a subagent system that splits a job into isolated workers, each with their own working copy, and returns structured results. Web search chains 14 ranked providers and feeds URLs back to the same read tool, so PDFs from arxiv come back as marked-up text. Installation is one curl, brew-style script, or a Bun global install.
Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.