Smart hooks for Claude Code.
A tiny utility for Anthropic's Claude Code CLI. Add voice alerts, build-check loops, and custom until triggers.
curl -fsSL hooked.arach.dev/install | bashListen, don't watch.
Hooked uses SpeakEasy to announce when Claude needs your attention. Stop checking your terminal—you'll hear it.
"hooks": {
"Notification": [{
"matcher": "*",
"hooks": [{
"type": "command",
"command": "~/.hooked/notify.ts"
}]
}]
}
$ hooked until check "pnpm test"
Ready. Claude will keep working until tests pass.
Claude tries to stop...
FAIL src/auth.test.ts
2 failed, 8 passed
↳ Not done yet. Claude continues.
Claude tries again...
PASS All tests
10 passed
✓ Done!
Voice
"Working on it."
"Tests failing. Fixing..."
"Round 2."
"All tests passing."
Continue until it works.
Tell Claude what "done" means. Tests passing. Build succeeding. Lint clean. Claude keeps working until the check passes—or you say stop. Be like Ralph.
hooked until check "pnpm test"Define what "done" looks like
Fails? Keep going. Passes? Stop.
hooked offOverride anytime
See everything at a glance.
Spin up a local dashboard to view event history, configure voice and alerts, and see what's waiting on you. Auto-closes when you're done.
$ hooked web
Starting dashboard on localhost:3456
Auto-shutdown in 10 minutes

Different objectives.
Different sessions.
Run multiple Claude Code sessions with unique until objectives. One documents your codebase. Another fixes bugs. A third writes tests. They never interfere.
/hooked until "100% test coverage"mode: manual
objective: "100% test coverage"
iteration: 3
mode: check
check: "pnpm test"
iteration: 1
mode: check
Voice Alerts
Hear when Claude needs you, starts a loop, completes a round, or finishes a mission.
Slash Commands
/hooked until to start, /hooked off to stop.
Zero Config
Run pnpm run hooked:init once. Voice + until loops ready to go.
Custom Templates
Customize voice messages in config.json. Make Claude say what you want.
What people are saying
Get started in seconds.
Clone the repo, run the setup script, and you're ready to go.