Skip to content

Repository files navigation

ClaudeWatch icon

ClaudeWatch

See what Claude Code has been up to on your machine, and filter it down to keep track

CI Latest release macOS 13+ Swift 5.9 Auto-update via Sparkle


A lightweight macOS menu-bar app that shows the latest system-touching actions Claude Code and Codex perform on your machine — shell commands, file writes/edits, and network fetches — so you can see at a glance what the AI is actually doing.

Each entry links back to the thread that issued it: open the full conversation in your browser (scrolled to the exact command), or resume that session in Claude Code / Codex.

It is a read-only history tool. It only ever reads your local Claude Code and Codex transcripts under ~/.claude/projects and ~/.codex, and makes no network connections.

What it shows

Tool Shown as
Bash the shell command + its description
Write the file path written + size
Edit / MultiEdit the file path edited
NotebookEdit the notebook path + edit mode
WebFetch the URL fetched
WebSearch the search query

Read-only tools (Read/Grep/Glob/Task/…) are deliberately excluded — this is about what the AI does, not what it looks at. Subagent / workflow activity is included and tagged, and can be hidden with one toggle.

How it works

  • Watches every *.jsonl transcript under ~/.claude/projects (main sessions and nested subagent runs), plus Codex sessions under ~/.codex/sessions and ~/.codex/archived_sessions, polling once a second and reading only newly-appended lines.
  • Each Claude tool_use of a system-touching tool becomes a row. The transcript envelope supplies the sessionId (the thread), cwd (the project), timestamp, git branch, and whether it came from a subagent.
  • Each Codex exec_command, apply_patch, and write_stdin call becomes a row. Session metadata supplies the project and thread.

Actions per row

  • Click / 🌐 — render the full thread to HTML and open it in your browser, scrolled to that command (subagent rows open the subagent's own transcript).
  • ⌨️ terminal — open Terminal in the project and resume the source session.
  • 📋 copy — copy the command. Right-click for more (copy session id, reveal transcript).

Plus search, per-kind filters, a hide-subagents toggle, and pause.

Install

Download the latest ClaudeWatch.zip from the Releases page, unzip, and drag ClaudeWatch.app to /Applications. Two icons appear in your menu bar: one for Claude activity and one for Codex activity (no Dock icon).

Signed + notarized releases open normally. For an unsigned build, right-click → Open the first time, or allow it under System Settings → Privacy & Security.

To launch at login: System Settings → General → Login Items → +.

Build from source

Requires macOS 13+ and a Swift toolchain (Xcode or Command Line Tools).

./build.sh            # produces ClaudeWatch.app
open ClaudeWatch.app

Project layout

Sources/ClaudeWatchCore/   # pure, headless logic — unit-tested
  EventKind, CommandEvent, TranscriptParser, EventScanner,
  TranscriptStore, TranscriptHTMLRenderer, RelativeTime
Sources/ClaudeWatch/       # the SwiftUI menu-bar app
  ClaudeWatchApp, MenuContentView, CommandRowView, Actions, main
Tests/ClaudeWatchTests/    # XCTest coverage for the Core
swift test            # run the Core test suite

Headless inspection

The same binary can dump the latest parsed actions as text — handy for verifying parsing without the UI:

swift run ClaudeWatch --dump

Notes

  • "Resume in Claude Code" requires the claude CLI on your PATH.
  • No telemetry, no network, no data leaves your machine.

About

Menu-bar history of the system-touching actions Claude Code runs — see what the AI does on your machine, with links back to the issuing thread.

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages