new v0.24 · overgo, all the way to the pull request. The server opens it, a red build goes back to the worker to fix, and workers can read your databases from overdb. release notes ↗
codelions v0.24.5 · betaFeaturesChangelogGitHubDownload

[ overcli ] · a desktop app over your agent CLIs

Your agent CLIs, one window.
Then put them in a loop.

Overcli is a desktop app that sits over Claude Code, Codex, Gemini, Copilot and Ollama, on the logins you already have — with your files, an editor and a terminal right beside the chat. When you're ready, agents review each other, work flows, keep shifts and argue as teams, so you come back to finished work.

free · open source · macOS, Windows, Linux · your existing logins

[ the basics ] · everything you'd expect

A better window for the agent CLIs you already use.

Before any loop, it has to be the place you'd chat with an agent anyway — so the everyday turn is clearer here than in a terminal.

chat

  • Claude Code, Codex, Gemini, Copilot and Ollama in one window — streaming, markdown, highlighting
  • Every edit a real diff, every shell call a terminal block
  • Transcripts at Quiet, Summary or Detailed — Summary is one line per message
  • Permission prompts and Codex approvals as cards, not interruptions
  • A changes bar with the turn's +/− and a Commit button
  • Past sessions read straight from ~/.claude, ~/.codex and ~/.gemini

code

  • A file editor with tabs, previews, and live .tsx rendering
  • Agent worktrees — create, rebase, merge and push from the conversation
  • Workspaces: several repos, one conversation, one review
  • A terminal drawer, ⌘P to find a file, ⌘K to switch
  • Compare models: one prompt to every backend, diffs side by side

control

  • No API keys — it uses the logins your CLIs already have
  • Usage by backend, model and project over 5h, 24h and 7d
  • Automatic fallback when a Codex model isn't available
  • Health badges: ready, unauthenticated, missing, error
  • One extensions pane for commands, skills and MCP servers across every CLI
5

agent CLIs, one window

38

open-source flows to install

0

new subscriptions or API keys

0

telemetry — its one call out is an update check

[ loops ] · four loops, one engine

The work doesn't stop when one agent finishes.

It gets checked, retried, and picked up again — from a single review up to a team on its own branch.

round 2 of 2 ACME-412 rate-limit /api/login
write · codex review · opus fix · 1 finding APPROVED ship ⏸ waits for you worker · next shift 09:00 learns from your verdict →

[ review ]

A second agent reviews every turn, until it stops finding things.

Turn on a reviewer and Codex checks what Opus just wrote — or the other way round. They go back and forth in the conversation until the reviewer is quiet or the round budget runs out, and you read the verdict, not the whole argument.

opusAdded the limiter and three tests.
codex · round 11 findingThe 429 has no Retry-After header.
opusFixed — Retry-After set from the bucket.
codex · round 2No findings.

[ flow ]

Hand it a ticket. It works the pipeline, and fixes what review rejects.

Each step runs on the model it needs. A failed review goes to a fix step, not back to square one — and it stops exactly where you told it to. 38 flows in the registry, or write your own in a few lines of YAML.

fetch ✓→plan ✓→build ✓→review ↺→fix ✓→tests ✓→ship ⏸

thinking

plan · review

standard

build · fix · tests

fast

fetch · ship

Paused before ship · talk to any step, then Continue →

[ worker ]

A specialist on its own clock, that learns from your verdicts.

Every morning it reads its journal, decides what's worth doing, and proposes it. It remembers what you reject and steers away from it. It starts on probation, and spends only from a pot you approve once. Publish it to overgo and your whole org can ask it.

NVNova · the innovatorone buildable idea a day · probation
wakes
09:00
plans
reads journal
proposes
needs you
launches
if approved
learns
your verdict

↺ tomorrow 09:00 — skips anything you rejected

[ team ]

Hand off the whole job. Get it back already argued over.

A coordinator plans who contributes and who challenges. You approve the plan; they do the work on its own branch, push back on each other, and hand you one finished pack.

CMAOVProposal teama coordinator, three specialists, a challenger
contribute→draft→challenge→respond→one pack

Then the conversation stays open: ask a follow-up, or hand work back to a member.

[ process ] · a Lab

When the work outgrows one team, give it a process.

A process is a series of stages, each a team, a worker, or people who decide. A customer escalation goes from a channel to a reproduced bug, a fix, a yes from whoever’s on call and a reply to the customer — each stage briefed with what every earlier one produced. Draw one, or draft it from an image of a flowchart you already have.

Want it for the whole org? Publish it to overgo → and people ask in Slack instead.

Customer escalationFrom an imageReproduceworker→Fixteam→Ship the hotfix?peopleTell the customerworker→Check in a weekwaits 7 daysGlobex: exports time out needs a yes Approve Send back…

[ stack ]

Run the whole stack on whatever the agents just built.

Services — your API, your front end, your workers, your database — start, watch and log beside the code. When a flow finishes, run its branch for real with one click, try it in the browser, then switch everything back. Pinned services stay where they are. Switch Services on in Labs — overcli offers it on any project that has something to run. Share a stack as a file, with typed credentials turned into named blanks, and import it on another machine; a Tiltfile imports too.

3/3 running this branchReview & merge
postgres :5432main · pinnedrunning
api :8080flow/acme-412running · ready
web :5173flow/acme-412vite, ready in 412ms
queue-worker flow/acme-412running
POST /api/login 429 · Retry-After: 6Switch everything to… main — pinned ones stay

[ editor & terminal ] · why we closed our IDEs

We don't open an IDE any more.

When agents write most of the code, the job is reading it, checking it, running it and shipping it — and all of that is here. The editor, go to definition, the file tree, a terminal, every diff, worktrees, the whole stack running beside it. We build overcli in overcli.

Honest gaps: no debugger yet. Find-references is a question you ask — select the symbol, hit Ask, and the agent finds every caller.

ChatFlowsWorkersServices● Shift · in 44m
One user shouldn't lock out another.
opus 5.5

The bucket now keys on ip + a normalised username.

EDITrateLimit.ts+6 −0
Message… (type / for commands)
⌘P Find a file▾ api-gateway▾ src▾ middlewarerateLimit.tsM▾ routesauth.tsM▾ libusers.ts▾ testrateLimit.test.tsA
rateLimit.ts auth.tsDiffFileSave ⌘S
1import { bucket } from '../lib/bucket';
2
3export const loginLimiter = bucket({
4 cap: 10,
5 per: '60s',
6 key: (req) => req.ip + ':' + normalizeUser(req.body.username),
7 onLimit: (res, wait) => res.set('Retry-After', wait).status(429),
8});
9
10// one bucket per ip + user, so one user can't lock out another
src/lib/users.ts:14src/legacy/auth.js:88Refine
zshnpm run dev+⌘J
api-gateway feat/rate-limit $ npm test -- rateLimit
✓ allows 10 attempts a minute
✓ blocks the 11th with 429 and Retry-After
✓ treats "Robin" and "robin" as one user
Tests: 5 passed, 5 total
api-gateway $ ▍
edit

Edit any file in tabs, with highlighting for most languages. ⌘S saves; an open file refreshes when an agent writes to it, and a ruler marks every line it changed.

⌘-click

Go to definition: your project is searched first, instantly — a cheap, fast model is asked only when the search finds nothing. Several matches? Pick one, or Refine.

⌘P

Find any file or walk the tree, and flip any change the agent made between Diff and File.

⌘J

A terminal drawer under the chat: a real shell per tab, so the test you want to run is one keystroke away.

[ and more ] · there's a lot in the box

The loops are the headline.
There's a lot more in the box.

Comparing models, watching your spend, running local models, flows in CI, writing without a repo — the things you reach for between loops.

See all 42 features →
claude+18 −2Discard
codex+12 −1✓ Keep
gemini+31 −9Discard
compare modelsOne prompt, every backend.

Fire it at Claude, Codex and Gemini at once, read the diffs side by side, keep the winner. Switch it on in Labs.

claude78%codex41%gemini18%ollamalocallast 5h · by backend and model
usageKnow what every turn costs.

Usage by backend, model and project over 5h, 24h and 7d — so you see what each turn cost.

▤ platform⑂ api-gateway⑂ web-app⑂ billing-svcone review · 3 repos · +84 −12
workspacesSeveral repos, one conversation.

Group related repos and talk to them as one — the agent edits across them, runs every suite, shows one review.

<Button size="lg"> Get started</Button>
Get started
file editorCode, previews, and live .tsx.

Tabs and highlighting, HTML and Markdown previews, and .tsx components rendered live with your own Tailwind.

mcp · githubclaude ✓ codex ✓mcp · postgresclaude ✓ → copy to codexskill · release-notesclaude/reviewcodex
extensionsEvery CLI's extensions, one pane.

Slash commands, sub-agents, skills, plugins and MCP servers across every backend — copy an MCP server from one CLI to the others in a click.

qwen3-coder · 30bpulledgpt-oss · 20bPull ↓llama4 · scoutpulledGPU · 14.2 / 24 GB
local modelsA real home for Ollama.

Browse the catalog, pull and delete in a click, watch the server log and the GPU — cloud or local, same window. Switch it on in Labs.

$ overcli run flows/tidy-branch.yaml --state-dir .overcli-state --json✓ plan ✓ build ✓ review→ .github/workflows/overcli-flow-tidy-branch.yml
headless · alphaThe same flows, in CI.

Run a flow or a worker from the command line on a box you own — or deploy it to GitHub Actions or Jenkins as a generated pipeline.

~/Documents/Overcli Projects/▭ Q4 launch plan.md▭ pricing-faq.md▭ customer-interviews.md↶ undo history · 14 versions
documentsNo repo required.

Open a folder of documents, or describe what you want and start from a prepared folder — with an undo history and flows made for writing.

⑂ mainyour checkout⑂ agent/rate-limit+22 −0 · ready⑂ agent/health-checkrunning…MergeRebasePush
worktreesAgents work apart. You merge.

Create, rebase, merge, push or remove a git worktree from inside the conversation — nothing touches your checkout until you say so.

✓ your existing CLI logins — no API keys✓ Apache 2.0 · no telemetry✓ signed and notarized✓ macOS · Windows · Linux

[ latest ] · from the changelog

Latest release:
v0.24.5, Nov 2.

full changelog →

[ download ] · grab a build

Signed, notarized, and real.

Overcli is in beta, but the macOS builds are now Developer-ID signed and notarized by Apple — they open on a double-click, no right-click ceremony. Windows isn't code-signed yet, so SmartScreen may still flag it. Either way the source is right there; build it yourself.

Stable macOS builds open clean — signed with a Developer ID and notarized by Apple, so there's no Gatekeeper prompt. Windows isn't code-signed yet: SmartScreen may say “unrecognized app” → More info → Run anyway. Rather build it yourself?
git clone https://github.com/overcodelions/overcli && cd overcli && npm install && npm run dist:mac

[ faq ]

Questions your team will ask.

What does it cost?

The app is free. Overcli is open source under Apache 2.0 — no licence to buy, no per-seat pricing, no paid tier holding features back, and no invoice from us. What you do pay for is model usage on the agent subscriptions you already have, which is why every flow step names its own model and why the crew draws from a pot you set.

Which agents does it actually drive?

claude, codex, gemini, copilot, and ollama. Overcli drives the CLIs you already have installed and signed in — it is a window over them, not a reimplementation of them. If you have none of them yet, the start screen walks you through it and keeps watching — install a CLI in a terminal and the app unblocks itself without a restart.

Do we need to provision API keys?

No. Overcli uses the auth those CLIs already hold — a Claude Pro plan, a ChatGPT plan, gcloud credentials, a GitHub Copilot seat, or a local ollama. No API keys to issue, no new billing relationship, no per-seat pricing.

Where does our code go?

Wherever the CLI you picked was already sending it. Overcli adds no server, no proxy, and no account of its own — it runs the same binaries on the same machine with the same credentials. Pick ollama and nothing leaves the box at all.

Is there any telemetry?

None in the app. No analytics and no crash reporting; the only server it contacts itself is GitHub, to check for updates. Conversation history is files on disk you can open in any editor, and you can verify all of that in the source.

Can it run in CI, without the desktop app?

Yes — but it is alpha as of 0.17, so treat it as something to trial rather than to depend on this quarter. The same flow YAML runs headlessly from an overcli command line — one shot in CI or on a machine you own — and a flow or a worker cadence can be deployed to GitHub Actions or Jenkins as a generated pipeline. There is no second runtime to certify: the app and the CLI drive the same runner and the same engine, so what you reviewed at a desk is what executes on the runner. It still authenticates the same way, through the CLIs and credentials you already provision.

What stops a flow or a worker doing something we didn't sanction?

Three things. A risk scan reads each step's prompt override and tool list before you install, save or run it, looking for credential-file references and for network egress declared as local — a high-severity finding pauses the run. A step's declared tool list is enforced as a real allowlist rather than trusted as a label, so a step that declares nothing no longer keeps everything. And bash, websearch and webfetch require the same approval as pushing or sending, so an unattended worker without a grant for outside actions stops rather than proceeding. On macOS a fourth: flow steps run in a write sandbox, so a step can change its own run folder and the repo's git data but not your dotfiles or other projects.

Do we need a git repository to use it?

No — not since 0.16. Documents projects are folders of documents rather than code: Overcli scaffolds one, keeps an undo history for it, and never mentions git in the process. The history underneath is an ordinary repo, so nothing is locked in and any other tool can read it, but nobody is asked to learn it. A folder you already have can be brought in with one button, and any project can be switched between documents and code without moving a single file.

What is an agent worktree?

Each agent works in an isolated git worktree instead of your checkout, so you can rebase, merge, or throw the whole attempt away from inside the conversation. Your working tree is never the experiment.

Can a standing worker spend money or push code without us?

Not without you saying so. Every worker is hired on probation — it may propose, it may not launch, and promoting it is an explicit act you take. The whole crew draws from a single monthly pot you set once; a worker below the waterline skips its shift and journals why rather than quietly overspending. A worker imported from a .worker.yaml always lands back on probation regardless of what the file says, and a shared worker can never ask to run in your working copy.

Can an agent-written report in the preview reach the network?

No. A rendered document preview may run the CDN script it was built from and nothing else — no fetch, no XHR, no sendBeacon — and inlined images, fonts, and stylesheets stop at an allowlist of previewable types, including through a stylesheet's own imports. A dashboard that calls a live API shows no data instead of fetching it, which is the trade for a preview that can't exfiltrate what it can see.

Can we audit or build it ourselves?

Yes — Apache 2.0, and the repo builds with npm install && npm run dist. macOS releases are Developer-ID signed and notarized; Windows isn't code-signed yet, so SmartScreen may still warn.

[ family ] · over your tools, not instead of them

codelions →

Stop babysitting the chat.
Come back to finished work.

free · open source · your existing logins