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
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 eventomp 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 eventomp 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 eventThe 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.
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 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
Docs: One folder per card-e <folder>loads the extension and makes the folder an extension package, whose.mcp.jsonomp loads itself. Rewritten on every launch; your~/.ompis never written.Finished and waiting are different
Docs: Finished and waiting are differentagent_startmarks the card working,tool_approval_requested— waiting on you,agent_end— finished, unless omp has already scheduled a retry or a compaction.A notification that says what it needs
The toast leads with the call:
Docs: A notification that says what it needsomp needs your permission: bash — rm -rf dist, oromp is asking: …from itsasktool. It stays until you answer.- 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
Docs: Sessions that survive a restart--resume <file>— after/newand/branchtoo. The Squad status card
Every AI agent of the workspace on one card, with its model — from omp’s session log, or
Docs: The Squad status cardmodelRoles.defaultof your omp config before the first turn.
- 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 toolsNew tools without a restart
omp follows the server’s
Docs: New tools without a restarttools/list_changed, so a card’s tools appear the moment you draw an arrow — or the moment omp spawns a card itself.It can add cards itself
Docs: It can add cards itselfcanvas_spawn_cardopens a terminal, a note, a browser or a helper — another omp with a first prompt — next to it, joined by an arrow.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
Docs: Canvas mode that holds--auto-approvecan’t lift it.- 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- 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 queueJournal 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
Docs: Journal and hand-offagent_wait.
- 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
Docs: Subagents stay insidetasksubagents don’t change the card’s status, and their usage is folded into the card that started them.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 worktreesAdd 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 reviewerDangerous mode, per card
A card can start omp with
Docs: Dangerous mode, per card--auto-approve. Off by default — though omp’s own default approval mode is alreadyyolo.Skills from skills.sh
An arrow to a skill card gives omp
Docs: Skills from skills.shskill_loadover the same MCP connection. omp’s own skills are left as they are.
- 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
Docs: Exact usage and costtasksubagents’ own files, included.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 brakeOpenRouter models
Docs: OpenRouter models--model openrouter/<model>, and the extension makes the card’s key omp’s runtime key, so a key saved with/logincan’t win. Never in the arguments.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
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.
| Agent | Tokens | Cost | ||
|---|---|---|---|---|
| coupon-fix | 1,032,877 | $2.41 | ||
| api-migration | 688,415 | $1.58 | ||
| docs-pass | 197,340 | $0.14 | ||
| Total | 90 | 1,918,632 | $4.13 |
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:
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.
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.