A terminal agent that actually knows how to use your IDE
Most AI agents treat your editor like a stranger; this one wires the LSP, debugger, and filesystem into the same brain.

What it does
omp is a terminal-first coding agent built on a ~27k-line Rust core that drives 40+ LLM providers through 32 built-in tools. It reads, searches, edits, debugs, and reviews code — but the twist is that it borrows your IDE’s own machinery instead of reinventing it. LSP operations, DAP debugging sessions, and even browser automation all live inside the same process, with Python and Bun workers that can call back into the agent’s tools mid-execution.
The interesting bit
The “hashline” edit format is the kind of boring-in-a-good-way optimization that matters: the model anchors edits by content hash instead of retyping lines, which the README claims cuts Grok 4 Fast’s output tokens by 61% and eliminates the retry loops that eat most agents alive. More unusual is the “time-traveling stream rules” system — regex triggers that can abort a generation mid-token, inject a correction, and resume from the same point without bloating every prompt.
Key highlights
- LSP-native renames and references — workspace-wide renames flow through
willRenameFilesso barrel exports and aliased imports stay intact - Real debugger integration — attaches
lldb-dap,dlv, ordebugpyto live processes instead of sprinkling print statements - In-process search — ripgrep, glob, and a bash-like
brushshell linked directly into the binary; no fork-exec overhead, works on Windows without WSL - Subagents with typed returns —
taskfans out to isolated worktrees and yields schema-validated objects, not prose to parse - Memory that persists across sessions —
retain/recallfacts plus automatic session compression, scoped per project - Consumes rival configs natively — reads Cursor MDC, Cline
.clinerules, CodexAGENTS.md, and others without conversion scripts
Caveats
- Requires Bun ≥ 1.3.14; the install story is curl-to-shell or npm global, which may not suit locked-down environments
- The README’s benchmark claims (6.7% → 68.3% pass rate, 2.1× improvement) are attributed to specific models but lack reproducible methodology or dataset names
- Windows support is claimed as “unapologetically native” but the Rust core’s platform coverage in the wild is less battle-tested than macOS/Linux
Verdict
Worth a look if you’re tired of agents that can’t rename a symbol without breaking imports or debug by inserting console.log. Skip it if you want a GUI-first experience or need enterprise policy compliance around shell-script installs.
Frequently asked
- What is can1357/oh-my-pi?
- Most AI agents treat your editor like a stranger; this one wires the LSP, debugger, and filesystem into the same brain.
- Is oh-my-pi open source?
- Yes — can1357/oh-my-pi is open source, released under the MIT license.
- What language is oh-my-pi written in?
- can1357/oh-my-pi is primarily written in TypeScript.
- How popular is oh-my-pi?
- can1357/oh-my-pi has 19.2k stars on GitHub and is currently accelerating.
- Where can I find oh-my-pi?
- can1357/oh-my-pi is on GitHub at https://github.com/can1357/oh-my-pi.