Pulse – a local dashboard for Claude Code, approve tool calls from your phone Developer Nikita Doudikov released Pulse, a local dashboard for Claude Code that displays token spend, session context, and allows users to approve tool calls from their phone. The open-source tool runs entirely on the user's machine with no telemetry or network calls, and includes features like session recovery, full-text search, and budget alerts. A local dashboard for Claude Code that shows what Claude is doing, what it is spending, and lets you approve its tool calls from your phone. Zero dependencies, nothing leaves your machine. Claude Code already writes every session to disk. Pulse reads those files read only and turns them into a live dashboard: token spend by hour, day and week, the context fill of your active session, an ambient view of Claude at work, full-text search across everything you have ever run, and a notification with Allow / Allow all / Deny buttons when Claude needs you, on your desktop or your phone. No account, no telemetry, no network calls. Approve from your phone. A push with working Allow / Allow all / Deny buttons. No Wi-Fi setup, no IP, no open port: it works from anywhere, even on cellular. Never lose a session. One command recovers your last session as a readable transcript, and Pulse auto-snapshots active ones, so a crash or a frozen laptop never costs you context. See the spend. Live tokens and API-equivalent cost by hour, day, week, model and project, against budgets you set, with a phone alert when you cross one. Ambient office. A full-screen view of a little mascot working, resting, or waiting on you, with a rough ETA. Quietly addictive on a second monitor. Search everything. Full-text search across every session on disk, one click to the transcript. Local and private. Reads ~/.claude read only, serves on 127.0.0.1 , zero dependencies, no telemetry. | Ambient office view | Approve from the dashboard or your phone | |---|---| Requires Node 18+. git clone https://github.com/nikitadoudikov/claude-pulse.git cd claude-pulse node bin/cli.js That opens http://127.0.0.1:4317 . To get desktop and phone notifications and to approve tool calls, wire the hooks one command, safe to re-run : node bin/cli.js install-hooks adds the hooks to ~/.claude/settings.json Then restart Claude Code, and you are set. Other options: claude-pulse --port 4317 change the port claude-pulse --no-open do not open the browser Run in the foreground and Pulse dies when you close that terminal. To keep it alive independently, run it in the background: claude-pulse start run detached, survives closing the terminal claude-pulse status is it running? claude-pulse stop stop it claude-pulse restart stop and start again If your terminal crashes, claude-pulse start brings it back in one command, and a background instance is not affected by the crash in the first place. On macOS you can hand Pulse to the system so it starts at login and respawns itself if it ever dies: claude-pulse install-service start at login, auto-restart claude-pulse uninstall-service remove it Terminal crashed, laptop froze, hit a session limit? Nothing is lost: Claude Code writes every session to disk as it happens. One command brings the last one back, prints a recap and saves a readable transcript: claude-pulse recover the most recent session claude-pulse recover 2 the one before that claude-pulse recover