THE DESKTOP APP FOR CODING AGENTS

Every coding agent.
One desk.

Run Claude Code, Codex, Cursor and more side by side on your Mac, on the subscriptions you already have. Watch every step, review every change, ship the pull request.

From $20 a month · 14 days free · Apple silicon and Intel
Download for Mac See how it works
A atlas
Fix the flaky upload test 3m 12s
Speed up the dashboard 9m
Add retry with backoff 14m
Write the billing migration 1d
D atlas-docs
Rewrite the quickstart 2d
Settled 4
S sam@atlas.dev
Agent Board Fix the flaky upload test ···
You · 11:02 PM The upload queue test fails about one run in five on CI. Find out why and fix it without adding sleeps.
3m 12s · 6 tool calls
Read file src/upload/queue.ts
Searched drain(
Ran command pnpm test upload --repeat 20
Thought for 9s
Edited file src/upload/queue.ts
Ran command pnpm test upload --repeat 20
The test raced the queue: drain() returned while a job was still in flight, so the assertion sometimes ran first. It now waits for in-flight jobs. 20 of 20 runs pass.
11:05 PM
2 changed files+4−2 Open diff
src/upload/queue.ts+3−1
src/upload/queue.test.ts+1−1
Enter your question or follow-up AUTO
Claude ▾ Claude Opus 5.5 ▾ High · 1M ▾ Full access
Aatlas Current worktree fix-upload-race ▾
+ ▾ ⬢ ▾ -○- ▾ +
Diff +
Working tree ▾ +4 −2
src/upload/queue.ts −1 +3
51 unmodified lines
52async drain(): Promise<void> {
53 if (this.pending.length === 0) return;
53 while (this.pending.length || this.inFlight) {
54 await this.idle;
55 }
56}
More unchanged context may be available
src/upload/queue.test.ts −1 +1
Threads and worktrees One thread per task. Give it a fresh worktree so several agents can work in one repository at once.
Every step in the open Every file read, search, command and edit, as it happens, plus the files each turn changed.
The diff, right there Review the working tree, your branch, or exactly what one turn changed, line by line.
RUNS THE AGENTS YOU ALREADY PAY FOR
Claude CodeCodexCursorGrokOpenCodeAntigravity
01 — THE BOARD

Plan the work.
Hand it to agents.

Every project gets a board. Drag a task to In progress and an agent starts on it in its own worktree; its card follows the work through review to the merged pull request. Link Linear, Jira or a GitHub project and the board takes its columns; open any card to edit the issue right there.

Issues from GitHubGitHub ProjectsLinearJira
Agent Board atlas ▾ Linear · Platform · Synced 2m ago ▾ Search tasks + New task
Todo 3+···
LIN-142 Export reports as CSV Add a CSV option next to PDF on the reports page, with the current filters applied.
LIN-145 Dark mode for settings
Only in bevibe Rate limit the public API Added by Claude Code while planning the API work.
In Progress 2···
LIN-137 Speed up the dashboard
Claude CodeRunning CodexRunning CursorNeeds you
LIN-140 Retry uploads with backoff OpenCodeRunning bevibe/retry-uploads
In Review 2···
LIN-139 Fix the flaky upload test Claude CodePR open · #214
LIN-131 Cache dashboard stats CodexFailed
Done 1···
LIN-128 Bump to Node 24 CursorMerged · #212
DetailsClaude Code
LIN-139Open in Linear
Fix the flaky upload test Description Fails about one run in five on CI. Find out why and fix it without adding sleeps. Comments · 1
MMia2h ago
Also fails on the release runner, about one in five.
Add a comment…
Comment
StatusIn Review▾ AssigneeSSam PriorityHigh Labelsbugci Due dateOct 14, 2026 ReporterMMia
Compare agents on one task Run up to three agents on the same task, each in its own worktree, and keep the run you like best. In a new thread, shift-click models to do the same.
Agents plan too Ask an agent to break the work into tasks and they land in Backlog. Agents can move, finish and reopen tasks, and with Agent task starts on, hand their plan to other agents.
Needs you, first Cards waiting for an approval or an answer lead their column. Select one to answer it right beside the board.
Your tracker stays current bevibe moves the issue to in progress, comments with the pull request, and closes it when the work merges. A task added in bevibe is created in the tracker too.
02 — REVIEW

Review every
line it wrote.

See exactly what each turn changed, comment on the lines, and the comments go to the agent with your next message.

  • A checkpoint after every turn. Revert to one when a turn went the wrong way, or edit an earlier prompt and the thread rewinds to it.
  • Commit, push and open the pull request from the thread, with a generated message that follows your repository's conventions.
  • Check out, review and merge pull requests on GitHub, GitLab, Bitbucket, Azure DevOps, Forgejo and Gitea. Tick off files as you read them, and merge a whole GitHub stack at once.
  • Choose how far each agent goes: Supervised, Auto-accept edits, Auto or Full access.
Diff Turn 3 +4 −2
src/upload/queue.ts −1 +3
52async drain(): Promise<void> {
53 if (this.pending.length === 0) return;
53 while (this.pending.length || this.inFlight) {
54 await this.idle;
Cap this wait with a timeout so a stuck job can't hang the test run.
⌘/Ctrl Enter to sendCancelComment
55 }
56}
Revert to this checkpoint? Workspace files and conversation history after this point will be discarded. This cannot be undone.
CancelConversation onlyRevert
#214Retry uploads with backoff
✓ All checks passedMerge
fix-upload-race → main
AgentBoard Fix retry on failed uploads + ▾
Retry does nothing on a failed upload. Fix it and check it on the iPhone.
Read file Uploads.tsx
Edited file Uploads.tsx
Ran command pnpm ios
Tapped Retry on iPhone 17 Pro
Retry now restarts the upload. I tapped it on the iPhone 17 Pro and clip.mov is uploading again.
Enter your question or follow-up
Diff Browser iPhone 17 Pro +
iPhone 17 Pro ▾ Running Tools ▾ 3D view
Live
9:41● ●
Fast Refresh · Uploads.tsx
‹ AtlasUploadsDEV
report.pdfDone
photos.zip64%
clip.movRetrying · 18%
notes.txtWaiting
Upload restarted
FilesUploadsSettings
Browser localhost:5173/uploads
Uploads
report.pdfDone
clip.movFailedRetry
notes.txtWaiting
Claude Code is clicking Retry
03 — SEE IT RUN

Watch it work.
Then try it.

Your app runs inside bevibe's right panel: a browser tab, or a live iOS Simulator or Android Emulator. Click, tap and type on it like the real thing, and let the agent do the same.

  • Agents click through the browser and tap the device to check their own work.
  • Switch dark mode, text size, location and permissions from the device tools.
  • Import the logins from your own browser, so the preview is already signed in.
  • Float the device over the chat while you work on something else.
  • The stream goes through your bevibe server, so it works from other devices too.
04 — ANYWHERE

Your desk follows you.

Answer an agent from another computer, run threads on other machines, and keep every environment in one sidebar.

studio.tailnet.ts.net
Speed up the dashboard Cache the stats query and add an index on created_at.
Cursor wants to run pnpm db:migrate DeclineApprove
Another computer
any browser, paired with a QR code or link
bevibeEnvironments
Your Maclocal
Fix the flaky upload test3m
Speed up the dashboard9m
build-01over SSH
Migrate the billing tables12m
MacBook Proon your tailnet
Retry uploads with backoff1h
Your Mac
bevibe · every environment in one sidebar
build-01
Linux · over SSH
Prefer
MacBook Pro
macOS · on your tailnet
Less often
gpu-box
Linux · over SSH
Manual only
Other machines
new threads go where there's room
Pair in seconds Scan a QR code or open a link to reach bevibe from another computer's browser, over your network or Tailscale.
Agents on other machines Add a machine you reach over SSH. bevibe sets up its server there, and its projects sit next to your own with their own agents and logins.
Balance the load Prefer a machine, use one less often or keep it manual, and bevibe starts new threads where there is CPU and memory to spare.
05 — THE WORKBENCH

Everything
at hand.

Write the prompt with its context, and keep a terminal, the project's files, a browser or the diff one panel away.

  • Mention files with @, pull requests with #, skills with $ and commands with /.
  • Quote any part of an answer into your next prompt, with your note on it.
  • Capture any window with SnapShots and attach it to the prompt.
  • Queue your next prompt while the agent works, steer it mid-turn, or stash a draft for later.
  • A terminal per thread, and the project in VS Code, Cursor, Zed or JetBrains in one click.
Terminal · atlasdevtests
~/atlas ❯ pnpm dev VITE v7.1.4 ready in 412 ms ➜ Local: http://localhost:5173/ 10:42:18 [hmr] src/upload/queue.ts
Open a surface
BrowserB
TerminalT
FilesF
DiffD
Pull requestP
DeviceM
ci-failure.png SnapShot · Simulator
/plan Fix the flaky test in @src/upload/queue.ts using $testing-conventions, like we did in #198
Claude ▾Claude Opus 5.5 ▾High ▾ AUTO
Then add a regression test for the race Steer
Add a retry with exponential backoff to the upload queue, cap it at five attempts, and write a test that fails without it
Esc discards
Claude ▾Claude Opus 5.5 ▾High ▾ EN
Auto detect
English
Türkçe
Deutsch
Français
Español
日本語
Microphone: MacBook Pro
Dictation Whisper large-v3 is downloaded (1.2 GB). Speech is transcribed on this environment and never leaves it.
LanguageEnglish ▾Remove model
06 — VOICE

Say it.
bevibe types.

Press the mic beside the send button, speak, and press it again. The words land in your draft where the cursor was, ready to edit before you send.

  • Whisper runs on your Mac. Your voice never goes to a cloud service.
  • The first press downloads the model once, about 1.2 GB. After that it starts right away.
  • Pick your language from the badge beside the mic, or let it detect it.
  • ⌘⇧D starts and stops it. Esc discards the take.
07 — ⌘K

One keystroke away.

Jump to any project, thread or setting, search inside every conversation, and run any action from the command palette.

upload esc
THREADS
Fix the flaky upload testatlas
Retry uploads with backoff · "…retry the upload four times…"atlas
ACTIONS
New thread
Clone a repository…
SETTINGS
NotificationsSettings
Speed up the dashboardCursor is waiting for your approval.
NotificationsHear when a thread finishes, fails, or is waiting for you, as an alert, a sound or both.
Your shortcutsChange any shortcut in Settings, or keep them in a keybindings file.
Your themeBuild your own theme, or import the one you use in VS Code.
Usage and limitsTokens, estimated cost and subscription limits for every agent, pooled across your accounts, before you hit a wall.
Plan firstStart in plan mode, read the plan, then let the agent implement it when it looks right.
Bring your historybevibe finds the agents on your Mac and imports your Claude Code and Codex conversations.
Several accounts per agentAdd a second Claude, Codex or any other agent account with its own login, and pick one per thread.
Subagents in viewFollow the work an agent hands to its subagents, and expand any tool call for its full command and output.
Threads that tidy themselvesPin what matters, snooze a thread until later, and finished work settles out of the way once its pull request merges. Old worktrees are cleaned up on rules you set.
08 — GET STARTED

Up and running
in three steps.

  1. bevibe 0.0.48
    bevibe
    Applications
    STEP 1 Install bevibe

    Download it for Apple silicon or Intel, drag it to Applications and sign in. Every account starts with 14 days free.

  2. ConnectAgentsProjects
    Claude Code
    sam@atlas.dev
    Signed in
    Codex
    sam@atlas.dev
    Signed in
    Cursor, Grok, OpenCode and Antigravity can be enabled later in Settings → Providers.
    Continue
    STEP 2 bevibe finds your agents

    It uses the logins you already have, so there are no API keys to add. Not signed in yet? bevibe opens a terminal with the command ready.

  3. AgentBoardNew thread
    Fix the flaky upload test, then add a regression test for it
    Claude ▾Claude Opus 5.5 ▾Full access ▾
    AatlasmainNew worktree ▾
    or
    + New task on the board
    STEP 3 Hand it work

    Start a thread, or put tasks on the board and assign them to agents. Each one gets its own worktree, so several can run at once.

09 — PRICING

Two plans. Every agent.

bevibe doesn't resell tokens or sell credits. Your agents run on your own Claude, ChatGPT, Cursor and other plans; bevibe is the desk they work at.

Plus

For builders who want every agent in one app.

$20/ monthBilled monthly
$200/ year$16.67 a month · 2 months free
What you get
  • Six agents, one app

    Claude Code, Codex, Cursor, Grok, OpenCode and Antigravity, signed in with your own accounts.

  • Plan and steer

    Start in plan mode, and queue or steer messages while an agent works.

  • Review and ship

    See each turn's diff, then commit and open a pull request with a generated message.

  • Preview and terminal

    A built-in browser preview and terminals inside the app.

  • Usage and limits

    Token use and estimated cost across your agents, and plan limits where the provider reports them.

  • Voice, the board and remote access come with Pro.
ProRecommended

For builders who run agents all day.

$40/ monthBilled monthly
$400/ year$33.33 a month · 2 months free
Everything in Plus, and
  • Voice dictation

    Dictate prompts instead of typing them. Speech is transcribed on your Mac, not by a cloud service.

  • Board and issue sync

    A task board per project. Bring in GitHub, Linear or Jira issues, edit them from the card, and hand tasks to agents, each in its own worktree.

  • Compare agents

    Run up to three agents on the same task and keep the run you like best.

  • Browser and device tools for agents

    Let agents use the browser preview, and an iOS Simulator or Android Emulator when you allow it.

  • Remote access

    Open bevibe from another computer on your network or over Tailscale, and run agents on SSH machines.

Every account starts with 14 days of Pro, free. No card to start, cancel any time. Already using bevibe? Subscribe
10 — QUESTIONS

Questions,
answered.

Short answers to what people ask before they download.

Agents
Do I need API keys?

No. Each agent uses its own sign-in, so bevibe runs on the subscriptions you already have. You can add API keys per agent if you prefer.

Which agents does it run?

Claude Code, Codex, Cursor, Grok, OpenCode and Antigravity. Cursor and Grok are in early access.

Can I use more than one account per agent?

Yes. Add another instance of an agent in Settings → Providers for a second account or configuration, each with its own login, and pick one per thread. Usage pools their limits per provider.

Can I bring my existing sessions?

Yes. On first launch bevibe finds the agents on your Mac and can import your Claude Code and Codex projects and conversations.

Does it work with my issue tracker?

Yes. Link a project's board to GitHub issues, GitHub Projects, Linear or Jira. Issues arrive as tasks, and bevibe updates them as agents work.

Your Mac and your data
Which Macs does it run on?

Macs with Apple silicon or an Intel processor. Pick your download on the download page.

Why does macOS warn the first time I open it?

This early release isn't notarized by Apple yet. Open System Settings → Privacy & Security and choose Open Anyway. Later launches open normally.

Where does my code go?

bevibe runs on your Mac. Your code goes only where your agents send it, the same as running them in a terminal.

Does dictation send my voice anywhere?

No. Whisper transcribes on your Mac after a one-time model download of about 1.2 GB. Speech never leaves your machine; only the text lands in your draft.

Does bevibe collect my data?

bevibe doesn't collect usage data. Your prompts, responses and code stay between you and your agents; bevibe.pro only keeps your account email and subscription.

Plans
What does Pro add?

Plus has every agent, threads, review, preview and usage. Pro adds voice dictation, the board with GitHub, Linear and Jira issues, comparing agents, browser and device tools for agents, and remote access.

Is there a yearly plan?

Yes. Plus is $200 a year and Pro is $400 a year, which is two months free compared with paying monthly.

What happens after the trial?

Subscribe to keep going. Your projects and threads stay on your Mac either way.

Can I get a refund?

Yes. Ask for a full refund within 14 days of any payment, monthly or yearly. You can cancel any time from your account page. See the refund policy.

Put your agents
on one desk.

Download for Mac See pricing
14 days free · then from $20 a month