The desktop app is a different case
Qwen Code Desktop: recognised, but presence only
Alibaba also ships Qwen Code Desktop, a Mac app. AgentBarista has an entry for it, and
it does less than the terminal entry does. That's a deliberate choice, not an oversight.
For a graphical app we don't trust CPU as proof of work. An Electron window redraws, indexes, and
animates at percentages that would clear any threshold we could set, so treating that as "the agent
is working" would mean holding your Mac awake for as long as the app is open — which is exactly the
battery-flattening behavior we're trying to avoid. For this app the work signal has to come from a
phrase on screen, because we don't trust a GUI's CPU and it has no session file we can watch. We
haven't watched Qwen Code Desktop run a real task on a Mac, so we don't know which phrase it shows
while it's busy — and we'd rather ship no guess than a guess that either buys nothing or keeps your
Mac awake forever. Its bundle id and app-folder name come from upstream packaging too, so even the
"it's running" row is unconfirmed until someone installs it. Either way: no work signal today.
Practical upshot: if you kick off long work from the desktop app and walk away, don't rely on us for
it yet — use manual keep-awake for that run, or drive the same job from the CLI, where the CPU signal
does work. If you're on the terminal version, the built-in entry is doing its job, with the phrase
caveat above.
One more thing about the desktop app that we've allowed for: its bundle carries its own copies of
command-line tools inside it, including a codex binary. AgentBarista keys a process to
the first .app folder in its path, so the CLI tools bundled inside Qwen Code Desktop are
counted as the desktop app, not as separate Codex or Qwen Code CLI rows. Merely opening it adds no
stray row.
Qwen Code (built-in list, verification pending)
Qwen Code Desktop (recognised, presence only)
Claude Code
Cursor
Codex
Gemini CLI
Copilot CLI
OpenCode
Zed
Claude
ChatGPT
+ more
Worth saying plainly: free tools like Keepresso and adrafinil are
open source and genuinely good, and both read agent hooks, which is a more accurate signal than
guessing from CPU. If you're a solo dev running one agent, either is a reasonable choice. Where we put
our effort is being quick to support brand-new agents as they ship, and being straight about which ones
we've actually measured — which is why this page tells you the desktop app is the weaker half.
It runs on your Mac. AgentBarista never opens your files. To tell a working agent from a finished one it looks at process command lines and CPU, at the names and modification times of your agents' session files, and — only if you grant macOS Accessibility permission — at the on-screen text of the agent apps you enable and of the terminals we support. Two of those can contain your own words: a command line includes any prompt you pass on it, and on-screen text includes whatever is visible in that window, your code included. Both are matched against status phrases on your Mac and discarded on the spot: never stored, never sent. Nothing about your work leaves your Mac — no file contents, no code, no prompts, no file names, no activity data. Your stats and settings stay on this Mac. The app contains no analytics or telemetry of any kind. Its one network call is license validation, sent to our payment provider, Lemon Squeezy: activating a license sends your license key and your Mac's name, and the routine check after that sends your license key and an anonymous instance id — nothing else.