OMP vs HagiCode: Features and Comparison

HagiCode is a proposal-driven AI coding workbench that turns a request into a reviewable proposal, runs it through agent CLIs such as Claude Code, Codex and GitHub Copilot, and keeps the outcome as team knowledge.

omp, short for oh-my-pi, is an MIT-licensed terminal coding agent forked from Pi, with LSP, debugger and browser tools built in. HagiCode is a desktop and web workbench that runs omp as its executor, so the two work together rather than compete.

Install HagiCode Desktop

English2026-10-16

Short answer

omp is oh-my-pi, a terminal coding agent you install and run from the command line. It started as a fork of Pi and adds IDE-style tooling such as LSP, a debugger, subagents and a browser. HagiCode is a different layer: a desktop and web workbench that launches agent CLIs, including omp, and gives you sessions, specs, commits and history around them. It does not replace omp, and it does not host models.

If you work alone in a terminal, run omp interactively or in scripts, and are happy tracking your own tasks, stay with omp. Add HagiCode when you want several omp tasks running in parallel, with a written proposal and a reviewable history for each one.

omp vs HagiCode at a glance

Aspectomp (oh-my-pi)HagiCode
What it is

Terminal coding agent, a fork of Pi, with LSP, debugger, browser and subagent tools built in

AI programming workbench that runs agent CLIs (including omp) as executors

Interface and platforms

Terminal UI, one-shot print mode, RPC, SDK, ACP for editors; macOS, Linux, Windows

Desktop app (Windows, macOS, Linux), Docker Compose container, Microsoft Store edition

Pricing and licensing

MIT-licensed and free; you pay only for the models you connect

Desktop and Container editions free; Store edition free base, optional one-time TurboEngine purchase

Model and provider access

Many providers (README says 60+), custom OpenAI-compatible endpoints, per-role model routing

Hosts no models; uses omp's own sign-in, or OmniRoute routing if you configure it

Parallel work

Subagents run in isolated worktrees inside one session

Several sessions side by side, managed as named Agents

Spec and planning workflow

Planning model role and a review command; proposal tracking is up to you

OpenSpec proposals: propose, validate, apply, archive

Git and commit handling

Built-in omp commit splits changes into atomic commits

AI-written commit messages with repository locking; Git management in the UI

Asking you questions

Built-in structured questions in its terminal UI

Shows omp's questions in the conversation, then continues the same run

Setup effort

One install command, then sign in or add an API key

Install omp first, then HagiCode, then pick OMP as the Agent CLI

Best for

Terminal-first developers who want deep tooling and scripting

Running several omp tasks across repos with specs, review and history in one place

What omp does well

IDE-grade tooling inside the terminal

The README lists 14 LSP operations and 28 DAP operations. File renames go through the language server, so imports update before a file moves. Debugger sessions work with lldb-dap, dlv and debugpy.

It also keeps persistent Python and Bun workers that can call the agent's own tools, and drives Chromium tabs for browser work.

Edits that fail safe

Hashline edits anchor each change to a content hash and are rejected if the file has moved on. ast_edit previews a structural change before it is applied.

Stream rules let a regex match abort the stream and inject a rule before the model retries, which is useful for keeping a model on your conventions.

Subagents and model roles

The task tool fans work out to subagents in isolated worktrees and returns schema-validated results. An advisor role lets a second model review each turn.

Models are routed by role (default, smol, slow, plan, commit, vision, task, advisor, tiny), with fallback chains and path-scoped model sets configured in ~/.omp/agent/config.yml.

Many ways in, and your existing rules come along

You can run it as a terminal UI, a one-shot omp -p command, an RPC process over stdio, a Node SDK, or an ACP server for editors such as Zed.

It reads rules and MCP servers from .claude, .cursor, .codex, .cline and other tool folders, so moving to omp does not mean rewriting your project instructions.

When to choose omp, and when to choose HagiCode

Stay with OMP when

  • Choose omp alone if you work in a terminal and want LSP, debugger and browser tools without a GUI.
  • Choose omp alone if you run it in scripts or CI with omp -p, where a workbench adds nothing.
  • Choose omp alone if you already track tasks in your own issue tracker and do not want a proposal step.
  • Choose omp alone if your work is mostly one repository and one task at a time.

Reach for HagiCode when

  • Choose HagiCode if you want several omp sessions running at once, each with its own context and status.
  • Choose HagiCode if you want every change to start from a written proposal and end with an archived record.
  • Choose HagiCode if one feature spans several repositories and you want them declared once instead of explained each time.
  • Choose HagiCode if you prefer a graphical view of sessions, tool calls and diffs to a terminal scrollback.
  • Choose HagiCode if you switch between agents and want one interface for omp, Claude Code, Codex and others.

Using omp together with HagiCode

HagiCode does not bundle or replace omp. It looks for the omp executable on your machine, checks its version, and starts it for each run, so your omp install, sign-in and configuration stay exactly as they are.

HagiCode passes the working directory and the model you chose, and can set omp's provider, thinking level, no-session mode and tool restrictions from its settings.

  • Install omp (for example curl -fsSL https://omp.sh/install | sh) and sign in or add an API key for your provider.
  • Install HagiCode Desktop for Windows, macOS or Linux.
  • In HagiCode, choose OMP as the Agent CLI and pick a model; if you use OmniRoute, select it as the route.
  • Open a repository and start a session or a proposal.
  • Expect the run to stream into the conversation, with tool calls shown in the shared tool-call view.
  • To go back, run omp in your terminal as before. Nothing in your omp setup or your repository is locked to HagiCode.

What HagiCode adds on top of any agent

Parallel sessions and Agents management

Each omp run in HagiCode is its own session, so you can have one working on the API while another writes tests. Agents management gives every session a name and a visible status instead of a row of terminal tabs.

OpenSpec proposals

A task starts as a proposal and moves through propose, validate, apply and archive. The reasoning behind an omp change stays next to the diff. Free editions allow 3 concurrent proposals.

AI commit and Code Server

HagiCode writes the commit message from your diff and locks the repository while it commits. The embedded Code Server opens the file omp changed in a browser editor. omp's own commit command still works in a terminal.

Monospecs and Vault

Monospecs declares your repositories in one file so omp starts a proposal with the full change surface. Vault stores reference projects and notes that new proposals can use as context.

OmniRoute, tool-call view and TokenMonitor

If you configure OmniRoute, omp's model requests can be routed through it. Tool calls from omp are shown in the same format as other agents. An optional status-bar item shows today's tokens and cost from TokenMonitor, off by default.

Interactive questions

When omp asks a structured question, HagiCode shows it in the conversation, the session waits for a reply, and your answer continues the same run. If the run already ended, the answer goes in as a normal message in the same session.

  • Questions asked at the same time can be answered in one submission;
  • A question unanswered after 30 minutes expires and can still be answered by a follow-up message;
  • Enabled per CLI by the interactive-control setting.

The bottom line

  • omp is a capable, free, MIT-licensed terminal agent; HagiCode is a workbench that runs it and does not replace it.
  • Stay with omp alone for terminal-first, single-task, scripted or CI work.
  • Add HagiCode for parallel sessions, proposals, commit assistance and multi-repo context around the same omp install.
  • Trying both costs little: your omp setup is untouched, and you can return to the terminal at any time.

Frequently asked questions

Is omp free?

omp is MIT-licensed and free to install. You pay for the models you connect, either with API keys or, for some providers, an existing subscription you sign in to. See omp.sh for current details.

How do I install omp?

On macOS or Linux run curl -fsSL https://omp.sh/install | sh. On Windows run irm https://omp.sh/install.ps1 | iex. Homebrew (brew install can1357/tap/omp) and Bun (bun install -g @oh-my-pi/pi-coding-agent) also work.

Is omp the same as Pi?

No. omp is a fork of Pi that was rewritten as a coding-first tool with many more built-in tools. Pi stays minimal and leaves features like subagents to extensions.

Can I use omp with HagiCode?

Yes. HagiCode lists OMP as an Agent CLI. Install and sign in to omp, then select it in HagiCode; it runs omp for you and keeps your omp setup unchanged.

Does HagiCode replace omp?

No. HagiCode is the workbench around omp, adding sessions, proposals, commits and history. It needs omp installed and signed in to run.

omp vs HagiCode: which should I pick?

Pick omp alone if you work in a terminal on one task at a time or in scripts. Add HagiCode if you want parallel sessions, proposals and a visual history around omp.

Desktop

Localized AI code assistant, privacy protection, enhanced efficiency