Manage every coding agent from one workspace.
Get started
Bring the agents you already use.
Offrun runs the CLIs on your Mac, signed in as you. No new account, no API key, and it never sees your password.
1. Install Offrun. Drag it to Applications. 2. Connect your agents. Settings, then Agents. Add a second account if you have one. 3. Start an agent. Pick a project and give it a task.
Agents
Each agent runs in its own folder. Offrun never sees your password.
Claude CodeAdd account
Defaultsam@studio.dev
Worksam@acme.co
CodexAdd account
DefaultSigned in with ChatGPT
AGYAdd account
DefaultSigned in with Google
Grok BuildAdd account
DefaultSigned in with X
Pi and OpenCode are coming soon.
Side by sidePeer reviewLimits
01 · Worktrees
Agents that never step on each other.
Every agent in a project gets its own git worktree, so two agents working the same repo never touch the same files. Run a refactor and a bug fix at once and merge them on your own schedule.
Projects
billing-svc
api-gateway
offrun-site
---
Agents
Fix flaky upload test_now_
Retry backoff_1m_
Refactor the parser_2m_
Token refresh_18m_
billing-svc fix-flaky-upload
Fix flaky upload testRetry backoffRefactor the parserToken refresh
The upload test fails about one run in ten. Find out why and fix it.
The test checked the file before the upload had finished, so it raced the network. It now waits for the upload itself instead of a fixed timer.
Changed `test/upload.test.js` only, on this chat's own branch. It passed 50 runs in a row.
Ask to make changes
✳︎ Opus 5.5 (1M)Build
02 · Peer review
A second agent reads the diff before you do.
Pick a reviewer, and its findings land in the chat while the work is still uncommitted. Ask for the fixes and they land in your message box, for you to read before anything is sent. Nothing merges on its own.
Runs on your own agent accounts. No second subscription, no bot on your pull requests.
Projects
billing-svc
api-gateway
offrun-site
---
Agents
Fix flaky upload test_3m_
Retry backoff_now_
Refactor the parser_4m_
Token refresh_20m_
billing-svc api-retries
Fix flaky upload testRetry backoffRefactor the parserToken refresh
Cap the retry backoff at 30 seconds and add jitter.
Done. Retries now wait at most 30 seconds, plus up to 20% jitter so they spread out.
js
async function retry(req, n) { const wait = Math.min(2 * n 100, 30_000) const jitter = wait 0.2 Math.random() await sleep(wait + jitter)}
Review by Codex · changes requested
1. Warning in `src/retry.js:2` The 30 second cap is longer than the gateway’s 25 second timeout, so the last retry is cut off.
Ask the agent to fix these
03 · Accounts
Hit a limit, keep working.
Point each agent at a different login. When one hits its limit, Offrun moves the chat to a login that still has room and says so. Send your message again and the new login picks up the whole conversation. Out of logins, it offers another agent.
Projects
billing-svc
api-gateway
offrun-site
---
Agents
Fix flaky upload test_6m_
Retry backoff_2m_
Refactor the parser_now_
Token refresh_23m_
billing-svc parser-split
Fix flaky upload testRetry backoffRefactor the parserToken refresh
Split the upload parser into a reader and a validator.
This login has hit its usage limit.
Keep going with another agent
Claude Code resets 3am. Codex can pick up this chat. It gets the whole conversation.
Continue with Codex
Ask to make changes
✳︎ Opus 5.5 (1M)Build
The workspace
What the workspace gives you.
Project memory
Your agents stop forgetting
Offrun keeps repo-wide conventions in one place and each agent's own goal, plan, and dead ends in another. Agents read that context at the start and write back to it as they go, so the fourth session knows what the first one already tried.
Stored as plain files in your project folder. Open them, edit them, commit them.
Memory · api-gateway
`conventions.md`Every agent reads it
`plan.md`This feature's approach
`dead-ends.md`Tried, failed, recorded
Read at the start of every session · written back as they work
Notifications
Know which agent needs you
Offrun watches coding agents anywhere on your Mac, including ones running in a terminal it never launched. When an agent finishes or stops to ask a question, you hear about it, even if that window is buried four spaces away.
Codex needs your approval_Run npm install in billing-svc_Open
Claude is waiting_Shall I push the tag for 2.4.0?_Open
Reply ready_Fix flaky upload test_Open
Preview
Read the work without leaving the chat
Changed files, diffs with line numbers, rendered markdown and tables, images, PDFs, and a small browser with an address bar, all beside the conversation that produced them.
Fixed. The uploader reported done as soon as the first upload finished, so the second was sometimes still running.
#### What changed
- `src/uploader.js` now waits for every upload.
- The test checks which files arrived, not their order.
- Unlimited on-device dictation
- Unlimited agents and projects
- Unlimited peer review
- Unlimited connected agent accounts
- Full model picker and effort control
- Build and Planner modes
- Notifications across your whole Mac
2 rows
| Run | Passed | Failed | | -------------- | -------- | ------ | | Before the fix | 41 of 50 | 9 | | After the fix | 50 of 50 | 0 |
---
Modes
Decide how much rope an agent gets
Build makes the change and runs it to prove it works. Planner works out the approach and writes it down without changing a file. Switch any chat between them at any time.
Build
Makes the change and runs it to prove it works.
Planner
Works out the approach and writes it down. Changes nothing.
Ask to make changes
✳︎ Opus 5.5 (1M)Build
Dictation
Talk to your agents
Hold a key and speak your prompt. Offrun transcribes on-device, keeps your identifiers spelled the way your code spells them, and drops clean text wherever your cursor is.
Transcription runs entirely on your Mac. Nothing recorded, nothing uploaded.
Mac book MacBookVoice ready, hears “mac book”
jason JSONNo voice samples
Add voice sample
retry backoff helper retryBackoffHelper1 of 2 voice samples
KubernetesVocabularyNo voice samples
Add voice sample
What leaves your Mac
Told plainly.
Dictation and your project files stay on your Mac. Agent prompts go straight to your own provider, on your account. Never through us.
On your MacStays here
DictationNever leaves
Memory, chats, worktreesYour project folder
Leaves, on your accountDirect
Agent prompts and codeAnthropic · OpenAI · Google · xAI
Not in the path
Offrun serverNo line to it
Pricing
Free. All of it.
Bring your own agent subscriptions. Everything Offrun adds around them is free.
Free
Everything, unlimited
$0
Every feature, no limits, no seats to count, no card.
FAQ
Questions
Does Offrun replace Claude Code or Codex?
No. It runs them. You keep your own accounts and subscriptions, and Offrun gives them somewhere to live together.
Do you see my code?
No. Your code goes from your Mac to whichever provider you are signed into, under your own account. Offrun has no server in that path and never handles your keys.
What does peer review actually run on?
One of your own agent accounts. Pick the model in the model picker.
Can peer review change my code?
No. It reads the diff and posts what it found. Every decision after that is yours.
Where does project memory live?
In your project folder, as files. Version them if you want.
Does dictation need a network connection?
Only to set up. After that it runs on your Mac.
What do I need to run this?
An Apple Silicon Mac and at least one agent CLI you already use.
Run them all. Miss nothing.
Free and unlimited. No credit card.
Apple Silicon only (M1 or newer) · macOS 14 Sonoma or later
