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.
| 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.
- Watches every
*.jsonltranscript under~/.claude/projects(main sessions and nested subagent runs), plus Codex sessions under~/.codex/sessionsand~/.codex/archived_sessions, polling once a second and reading only newly-appended lines. - Each Claude
tool_useof a system-touching tool becomes a row. The transcript envelope supplies thesessionId(the thread),cwd(the project), timestamp, git branch, and whether it came from a subagent. - Each Codex
exec_command,apply_patch, andwrite_stdincall becomes a row. Session metadata supplies the project and thread.
- 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.
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 → +.
Requires macOS 13+ and a Swift toolchain (Xcode or Command Line Tools).
./build.sh # produces ClaudeWatch.app
open ClaudeWatch.appSources/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 suiteThe same binary can dump the latest parsed actions as text — handy for verifying parsing without the UI:
swift run ClaudeWatch --dump- "Resume in Claude Code" requires the
claudeCLI on yourPATH. - No telemetry, no network, no data leaves your machine.