Skip to content
← back to portfolio [::tally]
> cat ./projects/tally.md · STATUS · v1.0 SHIPPED · macOS 14+ · FREE
[01] PROJECT · macOS · menu-bar app · SwiftUI · 2025

See what is active.
See what needs you.

I run multiple agents at once. Claude Code on one task, Gemini on another, Codex doing its thing in the background. And I kept losing track. Which one finished? Which one is stuck? Which one quietly went off the rails 20 minutes ago?

That friction was real. So I sat down with Claude and built something to fix it. Tally sits in the macOS menu bar. It watches your CLI agents and tells you what is happening without you having to go check. That is it.

v1.0 · 4 MB · MIT · Apple Silicon + Intel · built with Claude
Tally app icon
TALLY.app · v1.0 · menu bar
[02]

The problem

// WHY THIS EXISTS

You are doing real work.
Your agents are doing real work.
But nobody is talking to each other.

Here is what actually happens. You kick off Claude Code on a refactor. You open a new terminal and start Gemini on docs. You let Codex run in the background. Then you get pulled into a PR review.

By the time you come back, one agent finished 15 minutes ago and has been sitting idle. Another one hit a wall and is waiting on you. The third one drifted so far from the original task that you have to start over.

You did not need a task manager. You needed a signal. Something that just tells you: this one is fine, this one needs you, this one went sideways.

That is why Tally exists. Local. Small. Native. Out of the way.

[03]

Built for signal, not noise

// NO SETUP · NO ACCOUNT · NO ONBOARDING
[01] STATUS-FIRST

Five clear states

Running, Waiting, Needs Review, Diverged, Done. Open the menu bar and you know exactly where things stand. No tabs.

[02] AGENT-AWARE

Claude · Gemini · Codex

Each one shows up as itself. Tell at a glance who is moving, who is blocked, and who needs you to step in.

[03] AUTO-DETECT

Zero config

Watches session files and running processes, ties them to branches and projects automatically. You configure nothing.

[04] LIVE TIMER

Elapsed time per task

A running timer on every active task. Tell the difference between real work and a process that has been sitting there 37 minutes doing nothing.

[05] LOCAL-ONLY

Lives in ~/.tally.json

No account. No sync. No cloud. No telemetry. Your data stays on your machine.

[06] NATIVE

SwiftUI + AppKit

Under 5 MB. No Electron. It feels like it belongs on your Mac because it does.

[04]

Three agents. One place to watch them.

// TALLY NORMALIZES THE SIGNAL
Claude Code
~/.claude/projects/
RUNNING WAITING REVIEW
Gemini CLI
~/.gemini/projects.json
RUNNING DIVERGED DONE
Codex
process detection
WAITING REVIEW DONE
[05]

Open it fast. Script it if you want.

// HOTKEY · CLI
// GLOBAL HOTKEY

Option + Shift + T

T

From anywhere. Requires Accessibility permission.

// CLI · SAME LOCAL STORE

tally <verb>

Same local store. No server. No daemon.

[06]

Small by design. Fast by default.

// SPECS
macOS 14+
SONOMA OR LATER
UNIVERSAL
SILICON + INTEL
< 5 MB
TOTAL DISK
SWIFT 6
STRICT CONCURRENCY
// DOWNLOAD

Download it.
Get back to your agents.

I built this for myself. Turns out other people running multiple agents have the same problem. It is free, it is local, and it stays out of your way.