Hooked Docs Back to site

Hooked 1.1.1 Local hooks toolkit

Hooked

Voice alerts, session-scoped until loops, local history, a lightweight dashboard, and a native macOS surface in progress.

Overview

Hooked connects Claude Code hooks to useful local signals. It can announce when attention is needed, keep a session moving toward a clear objective, preserve event history, and open a temporary local dashboard when you want the wider view.

01Voice alerts

Hear about permissions, waiting states, and completed work.

02Until loops

Keep working toward an objective or until a command succeeds.

03Local context

Review status and history without sending project state to an account.

Default behavior

Until loops are opt-in. Hooked only continues a session after you explicitly set an objective or check command.

Install

The installer downloads Hooked, installs its dependencies with your available package manager, and configures Claude Code hooks. It requires Node.js, Git, and pnpm, Bun, or npm.

Terminal
curl -fsSL https://hooked.arach.dev/install | bash

The installer enables voice announcements, prepares until loops, and adds the /hooked slash command.

Status

Run status from a project directory to see the current project context, voice setting, active alerts, registered sessions, and until-loop state.

Terminal
hooked status
Project-aware

Hooked scopes pending until work to the current project or active session whenever it can identify one.

Until loops

Use an objective when “done” needs human judgment, or a check command when success can be tested directly.

Objective
hooked until "Finish the migration and verify the result"
Command check
hooked until check "pnpm test"
hooked untilShow pending and active loops
hooked until pauseStop after the current cycle
hooked until offClear pending and active loops

Voice alerts

Voice alerts are useful when you are away from the terminal or focused elsewhere. Toggle them at any time, or set volume directly.

hooked speak onEnable announcements
hooked speak 0.5Set volume from 0.0 to 1.0
hooked speak offDisable announcements

Dashboard

The local dashboard shows recent history, active alerts, and current state. By default it opens on port 3456 and closes after ten minutes.

Terminal
hooked web
hooked web 8080 30Use port 8080 and close after 30 minutes
hooked web --foregroundKeep the server attached to the terminal

History

History stays local and can be listed, searched, summarized, exported, or pruned from the CLI.

hooked historyShow the 20 most recent events
hooked history 50Choose the number of events
hooked history statsSummarize counts by project
hooked history search "permission"Search stored events
hooked history export jsonExport all events as JSON
hooked history prune 30Remove events older than 30 days

Configuration

Hooked stores its configuration, session state, and history under ~/.hooked. Prefer the CLI for routine changes so the stored format can evolve without changing your workflow.

Voice
hooked speak on|off or a volume from 0.0 to 1.0
Until state
Scoped to a pending project or active session
Dashboard
Local server with an automatic close timeout by default
History
Local event records with explicit export and pruning commands

Native HUD

The native preview turns local events into compact notch or floating-island signals on macOS 14 and newer. It supports status levels, short context, timed collapse, hover, pinning, and optional URL actions.

Available

Physical notch and floating island, event levels, hover, timing, pinning, and URL actions.

Connection

Local events work today. Automatic npm-to-HUD delivery is in progress.

Distribution

Signing, notarization, public updates, and additional native surfaces are in progress.

Commands

CommandPurpose
hooked statusShow current Hooked state
hooked clearClear alerts for the current project
hooked clear allClear all active alerts
hooked until …Create, inspect, pause, or clear an until loop
hooked speak …Read or change voice settings
hooked webOpen the local dashboard
hooked history …List, search, export, summarize, or prune history
hooked alertShow active alerts
hooked statuslineShow Claude Code status-line setup
Copied to clipboard