Switch models mid-task. Know the bill before it arrives.
Codoro is a desktop IDE where the agent is a first-class part of the project. Route each task through a reviewable policy, cap what any run is allowed to spend, and choose a supported provider API key or dollar-valued Codoro credits across the live Vercel AI Gateway catalogue. Codoro does not claim or resell access from a separate provider subscription.
Free with your own API keys. Paid plans meter tokens, never features.
Frames are manifest previews bound to repository paths. Editing a frame stages a diff you approve like any other change; the preview is not a live render of application code.
The component index lists source files and importer counts from the repository. Canvas previews remain manifest-driven until a live-render adapter is configured.
Tokens are not a copy. Change one here and the edit lands in globals.css as a diff, so the canvas and the running app never drift apart.
Custom domains
Milestone 3 of 5 · agent updated 4m ago from gitThe board is written from the repository, not from what anyone remembered to tick. Commits, tests and PRs move a milestone; the agent asks when it cannot tell.
Do we redirect www to apex or the other way round? It is blocking the cert states.
Every hosted page in the repo canonicalises to the apex, and the sitemap emits apex URLs. Redirecting www → apex matches what is already shipped. One file changes: middleware.ts.
Apex. Ship it.
Task unblocked and moved to active. I will take the redirect with Haiku — it is a single file and does not need more.
Settings
Provider keys are held in the macOS keychain and sent only to the provider that issued them. Hosted credits use the Osokoro device sign-in; Codoro's provider credentials never reach the desktop.
Run first-launch setup againRules are read top to bottom; the first match wins. Because the file lives in the repository, a routing change is reviewed like any other diff.
| Developer | Most used | Runs | Spent |
|---|---|---|---|
| Ada Lovelace | Sonnet 5 | 218 | $142.10 |
| Marcus Chen | Opus 5 | 96 | $118.44 |
| Priya Nair | Codoro Fast | 173 | $18.42 |
| Tomas Alvarez | Haiku 4.5 | 402 | $61.03 |
| Sam Okafor | GPT-5.6 Luna | 88 | $12.30 |
Export the full ledger as CSV, or read it from the API — one row per run, with the model that served it.
Interactive product mock — Editor, Design, Plan and Chat can be explored above; this is not a downloadable build.
Four Codoro product surfaces
Agents that plan, edit, test and undo
Multi-file edits with a diff you approve, allowlisted build and test checks, and optimistic undo for the reviewed source changes.
A canvas bound to the files
Manifest-declared frame previews bound to repository paths, tokens read from the stylesheet, and an edit that arrives as a diff rather than a handoff.
A project board beside the repository
Track milestones, owners and blockers in the same window as the code, with repository evidence attached when Codoro can verify it.
Your team and the agent in the same channel
Repository-scoped channels and threaded code context backed by organization access controls and history retained until the conversation is deleted.
Every frame is a file. The canvas edit is the diff.
The Design tab opens manifest-declared frame previews, and each one is bound to the file it describes — Dashboard — desktop is app/(dash)/page.tsx, Budget card is components/budget-card.tsx. The properties panel edits the tokens the app already ships: the 1px hairline gap, the zero radius, the 1240 maximum width, read from globals.css rather than transcribed into a second document. Apply to code quotes an estimate, writes the change as a diff, and commits nothing until you approve it.
Nothing to reimplement
A designer makes a picture, a developer builds it again in code, and the two drift from that moment on. That is the expensive part, and it is not a shortage of AI. Here the frame stays bound to the source path and the edit lands as a reviewable proposal, so the relationship is explicit instead of hidden in a handoff.
Design against what the code uses
Colour, spacing and type come from the stylesheet the app is built with, in both themes. Change one on the Tokens tab and the change arrives in that stylesheet as a diff, which is why the canvas and the running app cannot disagree.
An estimate before it writes
Apply to code shows what the edit will cost, reserves it, and settles against real usage after — the same balance and the same per-run cap as a typed request or a spoken one. One ledger, not one per surface.
Hear the diff, and see when the microphone is active.
The desktop voice surface exposes microphone permission and input level, and it can read a reviewed diff aloud with macOS system speech. Speech-to-text controls are shown only on a target where recognition is actually available. The richer conversation below is the interaction design being tested, not a promise that every native build can transcribe.
Why is the budget test failing?
reserve() only checks the run cap. The failing case crosses the day cap, so nothing stops it. Two lines in lib/budget.ts.
Do it, but use Haiku.
Switched to Haiku 4.5. Taking the minimum of the run cap and what is left of the day, then rerunning the domain tests.
Read me the diff.
Two added lines: spentToday for the actor, and a ceiling that is the smaller of the two caps. The comparison now uses the ceiling.
The cost is on the transcript
When recognition produces a text request, the model reply uses the same governed text call and ledger as the composer. Microphone capture and local narration do not invent a second hosted-audio charge.
Hands-free, or hold space
The app reports permission and level state first. Hands-free and hold-to-talk remain hidden when the native host has no supported recognition engine, so a visible control is one the target can execute.
Review without looking away
macOS system speech can narrate the reviewed diff locally before it is applied. The text and source diff remain the review record; synthesized audio is not uploaded or retained as a second transcript.
This page never asks for your microphone. Voice runs in the app.
One task, one model. Not one model for everything.
Scaffolding a component and reasoning through a race condition do not cost the same and should not be priced the same. Codoro puts featured models first, makes every available Vercel AI Gateway model searchable, carries the conversation across the switch, and shows the rate before the run.
A cap that holds, not a dashboard you check.
Every run reserves its estimated cost before the first token and settles against the real usage after. When a cap is reached the run pauses and offers you a cheaper model — it does not quietly downgrade, and it does not keep going.
Four plans. Tokens are metered, the IDE is not.
Prices in USD, billed monthlyUse the desktop IDE with your own Anthropic, OpenAI, DeepSeek, Google, xAI, Moonshot, Z.ai, Alibaba or Mistral key. Codoro takes nothing for those tokens — your provider bills you directly. Hosted models are on the paid plans.
Every shipping desktop feature with a monthly retail-credit balance. Hosted usage is debited at the per-model retail rate disclosed in the selector before you run it.
The same features with three times the allowance, for people whose day is mostly long autonomous runs on frontier models.
Ten times Pro's allowance, priority on new models, and per-repository caps for people running several agents at once.
Teams are $40 a seat, on one pooled budget with a per-seat ceiling the owner sets and a spend ledger by developer, repository and model. Top-ups beyond your allowance are prepaid, never auto-charged, and debit the published retail rate for the selected model — or bring your own API key and pay Codoro nothing for tokens at all.