Open source — for Claude Code

A live
HUD for
Claude.

A borderless circular heads-up display that watches Claude Code in real time. Sessions, subagents, memory files, tasks, and every hook event — all orbiting a glowing core on your desktop.

30s
Activity window
1+
Claude sources watched
0
Telemetry sent
MIT
License

Watch your
agent think

Jarvis Monitor reads the files Claude Code already writes to disk — and adds a tiny hook receiver so every tool call shows up the moment it fires.

01

Clone and run

git clone, npm install, npm start. Electron opens a frameless circular window — drop it on a second monitor or let Komorebi tile it.

02

Point it at your Claude installs

Edit config.json to list one or more sources — Windows, WSL, anywhere with a ~/.claude directory. Each source gets its own color.

03

Wire up the hooks

Drop two lines into ~/.claude/settings.json. PreToolUse and PostToolUse start POSTing to localhost — the HUD pulses on every tool call.

04

Watch the orbit

Sessions become satellites. Subagents orbit their sessions. Memory and task counts ride along. Active nodes pulse warm gold; idle stays cyan.

Features

Everything Claude is doing.
At a glance.

Session orbits

Every active session in projects/<key>/<sessionId>.jsonl becomes a node orbiting its project — so you can see the whole tree of work at once.

Subagent satellites

Each agent-* directory under a session lights up as a satellite around its parent. Watch the swarm form, then dissolve, as work finishes.

Memory dots

Files under projects/<key>/memory/ render as small dots near their project. Your auto-memory, visualized as it grows.

Task counts

Pending tasks in tasks/<sessionId>/ surface directly on the session detail. Pin a node to see its full task list in the HUD panel.

Live hook pulses

PreToolUse and PostToolUse hooks POST to a local port. Each call fires an expanding pulse from the core — you feel the agent breathing.

Multi-source

Watch a Windows install and a WSL install at once. Each source gets its own color, its own ring, and a shared core — one HUD, every Claude.

Your machine.
Your data.
Period.

Jarvis Monitor is just an Electron window watching files you already own. Nothing leaves your machine, nothing phones home.

Reads what Claude already writes

Just file watchers on ~/.claude and a tiny HTTP receiver on localhost. No new state introduced.

No accounts, no telemetry

The app makes zero outbound requests. The hook port binds to 127.0.0.1 only — your prompts and tool calls never go further.

Config is gitignored

Paths, ports, and source labels live in a local config.json. Copy the example, tweak to taste, and your setup stays yours.

MIT licensed, hackable

Plain JavaScript, chokidar, and a small HTTP server. Fork it, theme it, wire it into Komorebi — it's a desk toy that wants to be modded.

# clone & run
$ git clone github.com/Jmontgomery-045/jarvis-monitor
$ cd jarvis-monitor
$ copy config.example.json config.json
$ npm install && npm start
 
# wire up the hooks (~/.claude/settings.json)
{
  "hooks": {
    "PreToolUse":  [ ...notify.ps1 -Event PreToolUse ],
    "PostToolUse": [ ...notify.ps1 -Event PostToolUse ]
  }
}
 
# the HUD lights up on every tool call.

See your
agent.

Grab the source, point it at your Claude install, and watch the orbit form.