All agent CLIs
omp in NeuroSquad

Oh My Pi,on a canvas

Run as many omp agents as you need, each in its own card with omp’s real TUI. One extension package tells NeuroSquad when each is working, waiting on you or finished, hands it terminals, notes and other agents by arrow, and resumes its session after a restart.

Official siteomp.sh
  • The real omp, your own login
  • Nothing written to ~/.omp
  • Free, for Windows 10 and 11
Extension events

It knows when omp is done — and when it’s asking

omp is a fork of pi with an extension API of its own. The NeuroSquad extension listens to omp’s events and reports each turn of the card’s main session.

agent_startomp event
Working

omp starts a turn. The card’s icon spins, the Squad status card counts it as working, and the last toast is taken down.

tool_approval_requestedomp event
Needs you

omp shows its approval dialog. The toast says what it wants to run — omp needs your permission: bash — rm -rf dist — and stays until you answer. Its ask tool does the same.

agent_endomp event
Finished

The turn is over and omp has no retry or compaction scheduled. The next queued prompt goes out and the context meter gets omp’s own numbers.

Asks only if you set it to

omp’s default approval mode is yolo. With a stricter mode you chose, its dialog is what turns the card to “needs you”.

Subagents don’t move the card

omp’s task subagents run headless in the same process; their turns are not the card’s, so they never mark it finished early.

Click, and you’re there

A toast click switches to the workspace, flies the camera to that card and flashes it.

Watch it work

Three things you’ll do with omp

Replicas of the app, played step by step. When omp asks, the answer is yours.

omp fixes a failing test through a terminal card, stops at its approval dialog before a delete, and finishes — the journal writes itself.

Everything it gets

Everything omp can do in NeuroSquad

omp brings its own MCP client, approvals and session files; NeuroSquad adds an extension package and a config overlay. Where something had to be built — or can’t be done — the card says so.

  • 01

    Knows its state

    omp’s own extension events report every turn of the card’s main session.

  • One folder per card

    -e <folder> loads the extension and makes the folder an extension package, whose .mcp.json omp loads itself. Rewritten on every launch; your ~/.omp is never written.

    Docs: One folder per card
  • Finished and waiting are different

    agent_start marks the card working, tool_approval_requested — waiting on you, agent_end — finished, unless omp has already scheduled a retry or a compaction.

    Docs: Finished and waiting are different
  • A notification that says what it needs

    The toast leads with the call: omp needs your permission: bash — rm -rf dist, or omp is asking: … from its ask tool. It stays until you answer.

    Docs: A notification that says what it needs
  • Built by NeuroSquad

    Sessions that survive a restart

    omp mints its own session ids, so a card can’t choose one up front. The extension reports the session file instead, and the next launch opens it with --resume <file> — after /new and /branch too.

    Docs: Sessions that survive a restart
  • The Squad status card

    Every AI agent of the workspace on one card, with its model — from omp’s session log, or modelRoles.default of your omp config before the first turn.

    Docs: The Squad status card
  • 02

    Works through the canvas

    omp’s own MCP client talks to NeuroSquad. An arrow from the card is a set of tools.

  • Arrows are tools

    omp’s own MCP client connects to NeuroSquad with this card’s token from the environment. An arrow to a terminal, note, browser or agent gives omp those tools.

    Docs: Arrows are tools
  • New tools without a restart

    omp follows the server’s tools/list_changed, so a card’s tools appear the moment you draw an arrow — or the moment omp spawns a card itself.

    Docs: New tools without a restart
  • It can add cards itself

    canvas_spawn_card opens a terminal, a note, a browser or a helper — another omp with a first prompt — next to it, joined by an arrow.

    Docs: It can add cards itself
  • Canvas mode that holds

    bash, eval, web search and URL reads are blocked before omp’s approval gate — in subagents too — hidden from the model and denied in the overlay, so --auto-approve can’t lift it.

    Docs: Canvas mode that holds
  • Built by NeuroSquad

    MCP servers, asked per call

    omp’s approval policies have no wildcard, so the extension asks before every call to a server you installed: Allow once, Allow for this session, or Deny — in omp’s own TUI.

    Docs: MCP servers, asked per call
  • 03

    Built for long runs

    Full contexts, limits and queues are handled on the card.

  • Context meter

    omp reports its own count at the end of every turn and after a compaction: tokens and the window it compacts against.

    Docs: Context meter
  • Compact

    The Compact button sends omp’s own /compact.

    Docs: Compact
  • Built by NeuroSquad

    Continues after a limit

    A turn that ends on a quota or rate-limit error arms the card’s limit chip and sends “continue” at the reset — when the message names one.

    Docs: Continues after a limit
  • Prompt queue

    Line up the next messages: each goes out when omp’s turn has really ended. Daily prompts too.

    Docs: Prompt queue
  • Journal and hand-off

    The last answer is read from omp’s session file: into a connected note, into a fresh agent’s first prompt, back to a lead waiting in agent_wait.

    Docs: Journal and hand-off
  • 04

    Works in a team

    Several omp agents — or a mix of CLIs — on one project without stepping on each other.

  • Subagents stay inside

    omp’s task subagents don’t change the card’s status, and their usage is folded into the card that started them.

    Docs: Subagents stay inside
  • Isolated worktrees

    Give an agent its own git worktree, so parallel agents never edit the same files; a resumed session keeps its worktree.

    Docs: Isolated worktrees
  • Add a reviewer

    One click starts an agent on a different CLI in the same worktree, with an arrow from omp and a prompt to review without editing anything.

    Docs: Add a reviewer
  • Dangerous mode, per card

    A card can start omp with --auto-approve. Off by default — though omp’s own default approval mode is already yolo.

    Docs: Dangerous mode, per card
  • Skills from skills.sh

    An arrow to a skill card gives omp skill_load over the same MCP connection. omp’s own skills are left as they are.

    Docs: Skills from skills.sh
  • 05

    Cost, control and access

    What it spends, what it may spend, which model it runs on, and how you get omp.

  • Exact usage and cost

    Read from omp’s session files with the cost omp recorded — side calls such as titles and compaction, and task subagents’ own files, included.

    Docs: Exact usage and cost
  • Budget brake

    Past the workspace limit the card gets one Escape — Ctrl+C would only clear omp’s input, and twice quits it. The session is kept; automatic prompts stop until you raise the limit.

    Docs: Budget brake
  • OpenRouter models

    --model openrouter/<model>, and the extension makes the card’s key omp’s runtime key, so a key saved with /login can’t win. Never in the arguments.

    Docs: OpenRouter models
  • Attributed to NeuroSquad

    omp adds its own attribution after any configured headers, so config can’t change it. The extension rewrites it on every OpenRouter request — your own omp login included.

    Docs: Attributed to NeuroSquad
  • Not possible

    Install it yourself

    The setup wizard installs only npm and winget packages, and omp runs on Bun with its own installer — so it isn’t offered there. Settings links to omp.sh.

    Docs: Install it yourself
At a glance

Who’s waiting, and what it cost

Two cards that answer the questions you ask most when several omp agents run at once.

The Squad status card

Every agent of the workspace with its status, model and turn time. The one waiting on you comes first, with what it asks. Tap a status to filter.

  • coupon-fixompSonnet 4.5omp needs your permission: bash — rm -rf distNeeds you2:34
  • api-migrationompSonnet 4.5Move routes to the new clientWorking9:33
  • deps-auditompHaiku 4.5Check outdated packagesWorking3:51
  • docs-passompHaiku 4.5Update the READMEFinished7 min. ago

Usage & cost

Read from omp’s session files on your disk, with the cost omp recorded, and matched to the card by the sessions it reported. The rows always add up to the total.

AgentTokensCost
coupon-fix1,032,877$2.41
api-migration688,415$1.58
docs-pass197,340$0.14
Total1,918,632$4.13
Exact to the picodollar; rounded only on screen.Each row includes its task subagents and side calls.
Under the hood

The real omp, plus a few arguments

NeuroSquad starts the same omp you run yourself, in a real terminal in the card. This is everything it adds:

What NeuroSquad adds to the command
❯ omp
-e <userData>/omp/<card>/ (index.js + .mcp.json)every launchstatus, approvals and canvas mode, plus NeuroSquad’s MCP servers
--config <this card’s overlay>every launchmerged over your settings for this run: no auto-resume of another card’s session
--resume <its session file>later launchesthe exact session file the extension last reported
tools.approval: bash, eval, web_search → denycanvas modein the overlay, on top of the extension’s block
--auto-approvedangerous modeskip omp’s approvals

Nothing written to ~/.omp

omp never saves overlay values; the extension and .mcp.json live in NeuroSquad’s data folder. The token is read from the environment.

No session id up front

omp has no flag to choose a session id, so a card can’t name its session before it starts — it resumes by file instead.

Interrupted with Escape

One Escape stops an omp turn and keeps the process. omp swallows the first key typed right after it — its side, noted here so it doesn’t surprise you.

FAQ

omp in NeuroSquad, answered

Give omp a canvas

Free for Windows 10 and 11. Your code, your login and your costs stay on your machine.