Available now for macOS · iPhone coming soon

Five sessions.One list to approve.

Running five Claude Code windows means five terminals to keep watching. Vigili pulls every approval request into one list — handled from the menu bar, or from your phone when you're away.

Free · macOS 13 Ventura or later · notarized by Apple

The problem

Five Claude windows. Five places to keep checking.

Permission prompts were designed for one terminal. Run five Claude Code windows in parallel and the system breaks down — context loss, terminal whack-a-mole, "yes-fatigue." Vigili was built for that exact pattern.
Today

Constant terminal-switching

Each Claude window freezes until you respond. With five running, you tab-hunt to find the one that's waiting, read it, type yes, switch back. The context loss adds up fast.

idle
wait
idle
wait
idle
Today

No overview of what's blocked

You have to visit each window one by one to learn which are waiting and which are still working. There is no single place to look.

4
Today

Approving without reading

After the tenth interruption, you stop reading and just say yes. The prompt becomes noise — which defeats the entire point of asking.

yesyesyesyyyyyyy
How it works

Approval is a routing problem.

Vigili sits between Claude Code and you, and sorts every approval request into one of three outcomes: auto-allow, auto-deny, or ask you.
01 / 03

Every window flows into one list

A local daemon intercepts approval requests from every Claude Code window on your Mac and normalizes them into a single queue. That queue is the one list you see everywhere — menu bar, widget, phone.

window 1
window 2
window 3
Mac
iPhone
02 / 03

Rules decide the obvious — and grow as you use it

Sensible defaults auto-allow safe reads. Tap Always on an approval and a 24-hour rule covers the same pattern next time, so the list keeps shrinking. Destructive operations — deleting system folders, force-pushing to main — are always blocked, no matter what rules exist.

Default · Allow
read *
Default · Deny
rm -rf /
Today · Allow
npm test
Today · Allow
git status
03 / 03

Only the genuinely unclear reaches you

What rules can't decide — typically 5–15% to start — is pushed to your phone. Answer from anywhere, and the window resumes instantly.

incoming
100%
auto-allow
~70%
auto-deny
~20%
→ you
5–15%
What it feels like

Two taps, from your pocket.

Once you're signed in, this is the entire experience — no terminal in sight.
STEP 01
Sign in with Apple
Mac · then iPhone · done

Link once with your Apple ID

Sign in with Apple on the Mac, then on the iPhone. The two link in seconds — a QR fallback is there if you prefer.

STEP 02
Vigili waitingvigili-core · rm -rf

Your phone wakes up only when needed

Dynamic Island shows what's waiting and which project it came from — no need to walk back to the terminal.

STEP 03
NEW RULE✓ saved
cat **/*.md
expires in 24 h

Allow — or Always

Allow unblocks that one request. Always also saves a rule, so the same pattern never interrupts you again.

Three surfaces

The same queue, on whichever screen is closest.

At your desk, across the room, or out the door — Vigili meets you where you are.
vigili
vigili-core
rm -rf ./.cache
!
marketing-site
git push origin
api-gateway
npm install …
Mac app

Every request, one menu-bar click away.

Work through every session's requests from the menu bar, with the full command visible before you decide.

Vigili
4waiting
across 3 sessions
42 auto-approved today
Mac widget

A glance is enough.

A desktop widget that shows how many requests are waiting — and how many Vigili silently handled for you today.

Vigili3 waiting
3

vigili-core

rm -rf ./.cache

marketing-site

git push origin

api-gateway

npm install …
iPhone app

For when you've stepped away.

Approve from a meeting or on a walk; the window resumes the moment you tap. The waiting screen doubles as a daily ledger — auto-approved count, yesterday's comparison, a 14-day chart.

Security

Your code never leaves your machine.

Your source files are never uploaded — only the approval prompt itself travels (the tool name and the command line being run). On the same network it stays fully local. And if the service ever fails, Claude falls back to its native confirmation prompt — it never acts on its own.

Same network? Direct connection.

When your phone is on the same Wi-Fi as your Mac, they talk directly over your local network — nothing goes through the internet. No third party in the middle.

Away from home? Vigili Cloud.

Sign in with Apple on your Mac and iPhone once. Vigili's cloud relay forwards the approval prompt between your devices over TLS — the same payload your phone shows you (the command being run), never your source files, and nothing is stored at rest. End-to-end encryption so the relay can't read the prompt either is on the roadmap.

If Vigili stops, Claude still asks.

If something goes wrong with Vigili, Claude automatically falls back to its native confirmation prompt — the same dialog you'd see without Vigili. It never acts on its own when you're not watching. Vigili can only reduce the prompts you see compared to vanilla Claude Code, never add to them.

Get started

Up and running in 2 minutes.

1

Install on Mac

Download the .dmg and drag Vigili to Applications. The Claude Code hook is added on first launch — nothing else to configure.

2

Sign in with Apple on the Mac

One click in the menu bar app. From this moment, every Claude Code window on your Mac is in the loop.

3

Sign in on your iPhone

Same Apple ID, one tap — approvals reach your phone from then on. (The iPhone app is coming to the App Store soon.)

Vigili — Five sessions. One list to approve.