Your agents work.
Vigil keeps watch.

A quiet, real-time watch over Claude Code and Codex: live status in your menu bar, alerts the moment an agent needs you, and honest plan-limit & cost tracking. Local-only. No accounts.

Free beta · macOS 12+ · direct download, always the newest build
TerminalFileEditViewWindow 5h 58%
W 71%
5h 72%
W 16%
Sat 11 Jul 9:41 PM
Why Vigil

More agents than attention.

Run a few agents at once and the tab-flicking starts. Half your focus goes to three questions:

Which one finished?
Which is stuck waiting on me?
Which just ate my weekly limit?

Vigil keeps the watch, so you don't have to keep flicking back.

The Island

Click a session, land in its terminal.

Every agent ranked by urgency, right beside your notch. Click the one that needs you and Vigil brings the exact terminal tab it runs in to the front.

The Watchtower

Your whole watch, at a glance.

The Watchtower now opens on a useful Overview: official Claude and Codex limits, today’s usage, active agents, and the projects using the most. Stats, achievements, notifications, share cards, eight app-wide themes, and settings stay one rail tap away.

Shy Island

It ducks out of your way.

Two windows side by side, and the notch lands right on the buttons to close or move one of them. So it dodges the moment you reach across: a slim bar slides aside, a full one steps up out of view, then springs back once you leave. Approach from below and it's all yours.

2 projects · slides aside
orionatlas
3+ projects · steps up
orionatlashyperion
Attention alerts

It breaks through. Politely.

A soft glow around your screen edge, color-coded to what happened. It catches your eye even inside a fullscreen app, and never steals focus or covers your work.

orionneeds your input
9:41
deploy.ts
// deploy.ts async function rollout(env) { const plan = await buildPlan(env); for (const step of plan.steps) { await apply(step); } }
click to replay
Plan limits

See the limit coming.

Claude and Codex official meters, burn-rate forecasts, and a plain answer to the question that matters: “Limit ~3:42 PM.” More plans appear as you sign in.

5-hourResets to full 1:50 AM · 3h
77% left
WeeklyRunning lowResets to full Sat · 2d
34% left
Extra$50 limit
$37 left
Usage & cost

Honest numbers, per project.

Accurate to the token, per project and per model. Estimated dollars wear a , and nothing is silently guessed.

Top projects 30 days
orion≈$118
920 events · 8.4M tokOpus 4.8 · Sonnet 5
atlas≈$74
610 events · 5.2M tokSonnet 5
hyperion≈$41
340 events · 2.9M tokOpus 4.8
Compatibility

Watches two agents. Tracks a lot more.

Vigil watches Claude Code and Codex sessions live, status, alerts, sound. Running other providers too? Switch on plan-limit tracking for them; each reads its own usage API, so there's nothing to paste.

Claude Code status · alerts · sounds · usage Watched live
Codex status · alerts · sounds · usage Watched live
Plus plan-limit tracking for
GitHub Copilot Gemini CLI OpenRouter ZZ.ai GLM

Live session status is Claude Code and Codex today. Equivalent moments use the same status colour, alert priority, and sound from your selected pack. Everything else is optional plan-limit and cost tracking, all off until you turn it on.

The Stats page

See where the tokens go.

Choose Today, 7, 30, or 90 days, then follow the story from spend and tokens into projects, models, cache economics, sessions, and task outcomes. A separate all-time view keeps the year heatmap and records, with share cards, CSV export, and a one-tap recalculation when you want it.

Activity · all timeEventsTokens$
LessMore
Streak 6 daysActive 44 daysRecord day ≈$52
Breakdown · Spend$Tokens
Today7 days30 days90 days
≈$412▼ 18%
Jun 25Jul 2Jul 10Jul 24
87% cache read · steadier sessions cost less
Where it wentProjectsModels
orion128 events · 1.2M tok≈$84
hyperion94 events · 880k tok≈$61
atlas37 events · 310k tok≈$23
SessionsTop ›
24sessions≈$8.40average12.4Mtok / session18 / 3done / blocked
RecalculateShare cardExport CSV
Private by architecture

Your code never leaves your Mac.

Every number you just saw is computed on your machine. Even the little Vigil reads stays there.

What it reads
Event timestamps & types
Token counts & model names
Project paths & branches
Short status snippets, on-device
What it never touches
Your code & files
Full prompts & conversations
Anything, to any cloud
Token-authenticated server on localhost · no cloud relay, no telemetry, no accounts · see exactly what it writes
Sound & delight

Peons, chimes, or silence.

Sound packs from the OpenPeon community, plus 110 achievements, because a full year on watch deserves a mythic badge.

Orb Pingby Seán Olszewski · fair-useClick a row to hear it
A calm ping language for agent events, using sounds from Tools for Humanity's Orb.
Orb DoneWork complete
Orb AskNeeds your input
Orb HelloSession start
🏆
Achievement unlockedOn a roll · 3 tasks done today
Setup

Running in under a minute.

1

Open

Drag Vigil to Applications. It lives in your menu bar: no window to babysit, no account, no config to write.

2

Connect

Claude Code and Codex are auto-detected. Vigil installs the hooks; Codex asks you to review and trust them in /hooks.

3

Walk away

Status pills go live on the next agent event. Vigil pings you the moment one finishes or needs an answer.

Questions

Before you download.

Is it really free?

Yes. Vigil is free for the whole public beta, with no account and nothing to pay. If that ever changes, existing installs keep working and you'll hear about it first.

Is the download verified?

Vigil is intentionally ad-hoc signed, so no Apple Developer ID or personal signing identity is attached and macOS may ask you to approve the first launch in Privacy & Security. Release CI verifies the anonymous signature, app contents, architecture, and version. Every release also includes an architecture-specific SHA-512 value to compare with the DMG you downloaded.

Why might Vigil ask for Accessibility or Automation?

Only so a project click can bring the exact editor window, terminal tab, or tmux pane back to the front. These permissions are optional: hooks, local tracking, limits, sounds, and alerts all work without them. If you decline, Vigil falls back to opening the app less precisely. It never needs Screen Recording. Because updates have a new anonymous ad-hoc signature, macOS may ask you to re-authorize Accessibility; remove any stale Vigil entry and add the current app from Applications.

Does my code or my prompts ever leave my Mac?

No. Vigil reads event metadata such as timestamps, token counts, model names, and project paths, all on your machine. Optional short status snippets are off by default and stay in memory only when enabled. Your code, files, and full conversations never leave it, and there's no cloud relay, telemetry, or account.

Will it slow my agent down?

No. Lightweight shell hooks post a small JSON payload to a local server on your own machine. The native build uses macOS's existing web engine, and AppKit draws the edge pulse without keeping a web page alive on every display. Your agent runs exactly as before; Vigil just watches.

What does it work with?

Claude Code and Codex, on macOS 12 or later, Apple Silicon or Intel. Both agents are auto-detected; Codex also asks you to review and trust Vigil in /hooks. You'll want at least one agent already installed.

How do I remove it?

One click in Settings removes every hook, script, and file Vigil created and restores your agent configs. The full list of what it writes and where is in the install guide.

Free beta

Put a quiet watch on your agents.

Start something big, then step away. If the watch is not for you, one click removes every hook, script, and file it left behind.

The ad-hoc signed build may need first-launch approval in Privacy & Security · install guide
Download started

macOS will ask you to approve the first open. We'll show you exactly where.