Preparing your workspace…
Preparing your workspace…
One surface
ArrowDeck runs AI coding agents across every project you own and puts all of it in one list — cards, agents, branches, the people you are waiting on, what it is costing. Six filters shorten that list by whose move it is. There are no rooms to move between, and pressing a filter never takes you anywhere.
Free with any GreatArrow.ai plan · macOS 14.0+
Version 0.16.1 · 39.9 MB · Universal (Apple silicon + Intel) · Requires macOS 14.0+
Signed and notarized by Apple. Released .
They sort everything by whose move it is. Your job is the first and the fifth; everything between them happens without you. Each filter carries a count of the things you are already looking at — and when a read did not complete, that count is a dash rather than a zero.
| Press | Filter | What is in it |
|---|---|---|
| ⌘1 | Yours to decide | Nothing moves until you say so. |
| ⌘2 | An agent is on it | Running now. No input needed. |
| ⌘3 | Moving on its own | Checks and claims. No input needed. |
| ⌘4 | Waiting on someone | A person, not a machine. |
| ⌘5 | Ready to go live | Checks passed. Needs your go. |
| ⌘6 | Landed | Live and verified. |
“Ready to go live” is drawn more heavily than the rest, and it is the only one that is: everything in it is finished and waiting on you alone. Making two of them loud would be the same as making none.
Nothing here is a place you go and come back from. Everything opens over the list you were already reading, and Escape closes it.
Across the top, where a search box would be, is one field: say what you want. Type a sentence, press return, and what it understood comes back as a button you click — it never starts anything by itself. Anything it does not recognise becomes a question, answered from your workspace's own knowledge. It still knows every name this app has ever used, so an old word for an old screen takes you to whatever holds that thing now.
Down the left, one row per filter, each carrying a count. Pressing one never takes you anywhere — it shortens the list. When ArrowDeck could not read something the count is a dash rather than a zero, because “I could not count” and “there are none” are different sentences. Underneath them is This Mac: how hard your machine is working, and anything left over that should not be.
One row for every single thing in flight — a card from your workspace, a job running on this Mac, a branch waiting on a check, a person you are waiting on, money against your ceiling. Each row says what it is in a plain sentence, where it came from, and offers the one action that is safe for it right now.
Click a row and it opens on the right without the list going anywhere: what stage it is at, which agent is on it, what that agent last said, which checks have run, what it has cost, and what you can do about it. Deciding about one job nearly always means seeing it beside the others, so it is a panel and not a trip.
The live terminals slide up over the list instead of living on a screen of their own, so you watch an agent while you are looking at the work it belongs to. Closed, the bar still says how many agents are running and how many are waiting on you. An agent blocked on a reply says Answer — press it and your cursor lands in that terminal.
Everything you set up rather than watch — your GreatArrow.ai account, the coding agents, your projects and workspaces, this Mac's working copies and storage, the road to production, money, people, diagnostics — opens as a sheet over the list and closes with Escape. Nowhere you have to go and come back from.
01
The first filter, capped and ranked: what each row is, why it is yours, and what is waiting behind it. It does not grow when your board does.
02
The second filter, and it holds only what is genuinely running. An agent whose process has gone is your move again, not a green light. This Mac says how many are live; the drawer shows what they are saying.
03
How much of this period's work has landed, and the date the rest arrives if nothing changes. Always worded as a pace — “at your recent pace, about the 17th” — never a deadline ArrowDeck invented.
04
Spend so far against the ceiling you set, and how much of it was actually measured rather than estimated. An agent that has not reported what it spent says so instead of showing you a zero.
05
The last filter: what finished, who or what finished it, and the change it made. No “this week” window, because nothing it reads carries a finish time — so the count it shows is the whole count.
Emptying your plate is the point, so the hand-off is one sheet: who takes it, where it runs, and what it will cost you before you commit.
It is a different problem. Scrolling does not solve it — what solves it is knowing which few rows are actually yours, and who has the rest. That is the whole reason a filter here shortens the list instead of opening a screen.
A demonstration board, not your account — ArrowDeck reads your real figures and shows only what it actually measured.
A count with no read behind it is a dash, never a zero. If ArrowDeck could not reach something it says which thing and when it last succeeded. A calm-looking zero is the one failure mode that costs you a day.
No revenue is not “$0”. A model with no published price shows tokens, not dollars. A count is claimed only over a complete read — otherwise it says how much it saw.
Agents write code, open pull requests and run checks on their own. Merging, deploying, or anything a customer will see comes back to you, named as a sentence before it happens. That constraint is the product.
And when you need every last detail, it hands you over: the window holds the state of your business, greatarrow.ai holds the content — attachments, threads, invoice lines, permissions. Any row opens its own page on the web, one click from where you were looking.
Bring your own agent subscriptions and it spends your plan, not your card — or run agents on our machines at platform rates. Account owners see the whole team’s spend in one roll-up.
See what a workspace costs. Create a workspace whenever you want one. ArrowDeck is fully useful with no account at all — the isolated copies, the supervision, the terminals, the captured work, the road to production and the tidying up are local, and you can connect a workspace later without losing anything.
ArrowDeck makes a fresh copy of the project on its own branch for each task, and it is the only thing that starts agents — so it will not start one in a copy that is already busy. Two agents cannot overwrite each other, and neither can touch the checkout you have open in your editor.
While an agent works, ArrowDeck quietly captures whatever it has written but not yet saved properly — every few minutes, and immediately on exit, death, or a usage limit. Restoring one of those puts it into a fresh copy of the project, so it can never overwrite newer work.
Each task is tracked from claimed, through code written, pull request open, checks running, ready to merge, merged, and live and verified. A row only ever offers the button that is safe right now — a task that is not ready to merge simply has no merge button.
On first run it looks around your Mac and tells you which coding agents you have installed, which projects it can see, and the name your commits are signed with. Nothing is changed while it looks. One click sets up what it found, merging each app's settings rather than overwriting them, with a backup before every write.
Multiple AI accounts, GitHub identities and workspaces side by side. Each project binds to exactly one of them, and an agent launches with only that one's credentials. Where it would be a guess, ArrowDeck stops and asks you — never a silent fall back to whoever happens to be signed in.
An agent waiting on an answer gets you a macOS notification that opens straight to its terminal. Progress moments update the bell in the title bar instead of interrupting you. Focus and Do Not Disturb are respected, and ArrowDeck never plays a sound of its own.
Everything local — the isolated copies, the supervision, the terminals, the captured work, the road to production, the tidying up — works with no account at all. Connect a GreatArrow.ai workspace and your cards, notifications, claims and memory follow you between machines. You can connect later without losing anything.
A governor caps how much heavy work runs at once and watches load, memory and free disk. When your Mac gets busy ArrowDeck stops starting new work by itself and says so, rather than wedging the machine. Work already running keeps going.
Drag the edges between the filters, the list, the panel and the terminal drawer to the widths that suit your screen; ArrowDeck remembers them on this Mac. It opens on the filter you left it on — and on a Mac with no account it opens on “An agent is on it”, because that is the half of the list a machine with nothing attached can actually fill.
One universal download covers both Mac architectures. ArrowDeck is a native macOS app; there is no Windows or Linux build.
macOS · Apple silicon
M1, M2, M3, M4 — macOS 14.0 or later.
Download for Apple silicon MacsmacOS · Intel
2020-era Intel Macs — macOS 14.0 or later.
Download for Intel MacsInstall steps, release notes and the signed artifact live on the download page. ArrowDeck by GreatArrow.ai is proprietary software; you accept the licence shown on first launch. See our privacy policy for what leaves your device.