Your AI asks before it acts.
AiMessage sits between your AI and your computer. Before Claude Code can edit a file, run a command, or take any action — it texts you first. You reply YES or NO from your phone. That's it.
npm install -g aimessage
aimessage setup
Setup asks for your phone number, installs a Claude Code hook, and sends you a test iMessage. Takes 30 seconds.
1. Claude Code tries to do something (edit a file, run a command)
2. The hook intercepts it and sends you an iMessage
3. You reply YES (always allow), ONCE, or NO
4. The action proceeds or gets blocked
5. A proof is recorded locally
aimessage setup
Install the hook and set your phone number.
aimessage status
Check if the hook is active.
aimessage proofs
Show recent proofs — every allow and deny.
aimessage uninstall
Remove the hook. Your proofs stay in ~/.aimessage/
macOS with iMessage signed in. Node.js 18+. Claude Code.
Every decision (allow or deny) creates a proof — a SHA-256 hash that chains to the previous one. The chain is append-only. You can't delete or reorder entries. It's a local, cryptographic record of every action your AI took and every decision you made.
Proofs are stored in ~/.aimessage/proofs.json
Everything runs locally on your Mac. No servers. No accounts. No data leaves your machine. Your phone number is stored in ~/.aimessage/config.json and is only used to send yourself iMessages.
Built on OCC (Origin Controlled Computing)