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 32%
5h 67%
W 45%
Thu 10 Sep 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 project, return to its work.

Every agent ranked by urgency, right beside your notch. Click the one that needs you to return to its supported desktop task, editor, or terminal tab.

The Watchtower

Your whole watch, at a glance.

Your limits, today’s usage, active agents, and projects on one continuous glass surface. Watchtower follows light and dark mode. Native Liquid Glass on macOS 26+ carries through to the dark Island, with the same familiar left rail. Usage, achievements, alerts, and settings stay one 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 provider-reported limits, including Fable’s own allowance when available. See Codex banked resets and expiry dates, with a New badge for unread reset receipts and optional alerts when one arrives or is used. Compact refill announcements take you straight to usage. Pace forecasts help you plan ahead.

Usage & cost

Honest numbers, per project.

Follow recorded tokens by project and model, even when you switch models mid-session. Estimated dollars wear a ≈; missing model labels stay unknown, and new models may use fallback pricing.

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 uses its own configured sign-in or API key.

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 Usage 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.

Private by architecture

Your code never leaves your Mac.

Session usage is computed on your Mac. Plan limits come directly from your provider. Vigil never uploads your code or conversations.

What it reads
✓Event timestamps & types
✓Token counts & model names
✓Project paths & branches
✓Optional status snippets, in memory
What it never uploads
✕Your code & files
✕Full prompts & conversations
✕Activity history or telemetry
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 unlockedTen Down · Complete 10 tasks
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

Choose your signed-in desktop app or CLI in Settings. For supported CLI hooks, Vigil guides setup and Codex’s /hooks trust step.

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. Native Liquid Glass requires macOS 26; older systems keep the standard material. Use the desktop apps or CLI. Activity follows local sessions; plan limits need a readable, signed-in account.

Do I need to install a CLI for limits?

No. Codex can use its desktop sign-in. For Claude, sign in to Claude Desktop, open its local Code tab and start a session, then choose Claude Desktop in Vigil’s Settings → Permissions & access. Claude Code CLI is also supported. Ordinary Claude chat alone may not provide the Code credentials needed for limits.

How quickly do limits update?

Codex checks about once a minute during activity and less often while idle. Provider delays and rate limits can slow updates. Fable and banked-reset details appear when the provider reports them; Vigil never treats missing data as a full allowance.

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.