Skip to content

siddartha-10/ClaudeCodeMonitor

 
 

Repository files navigation

ClaudeCodeMonitor

image

ClaudeCodeMonitor is a macOS Tauri app for orchestrating multiple Claude Code agents across local workspaces. It provides a sidebar to manage projects, a home screen for quick actions, and a conversation view backed by the Claude app-server protocol.

Features

Workspaces & Threads

  • Add and persist workspaces, group/sort them, and jump into recent agent activity from the home dashboard.
  • Spawn one claude app-server per workspace, resume threads, and track unread/running state.
  • Worktree and clone agents for isolated work; worktrees live under the app data directory.
  • Thread management: pin/rename/archive/copy, per-thread drafts, and stop/interrupt in-flight turns.
  • Optional remote backend (daemon) mode for running Claude on another machine.

Composer & Agent Controls

  • Compose with queueing plus image attachments (picker, drag/drop, paste).
  • Autocomplete for skills ($), prompts (/prompts:), reviews (/review), and file paths (@).
  • Model picker, collaboration modes (when enabled), reasoning effort, access mode, and context usage ring.
  • Dictation with hold-to-talk shortcuts and live waveform (Whisper).
  • Render reasoning/tool/diff items and handle permission denials.

Git & GitHub

  • Diff stats, staged/unstaged file diffs, revert/stage controls, and commit log.
  • Branch list with checkout/create plus upstream ahead/behind counts.
  • GitHub Issues and Pull Requests via gh (lists, diffs, comments) and open commits/PRs in the browser.
  • PR composer: "Ask PR" to send PR context into a new agent thread.

Files & Prompts

  • File tree with search, file-type icons, and Reveal in Finder.
  • Prompt library for global/workspace prompts: create/edit/delete/move and run in current or new threads.

UI & Experience

  • Resizable sidebar/right/plan/terminal/debug panels with persisted sizes.
  • Responsive layouts (desktop/tablet/phone) with tabbed navigation.
  • Sidebar usage and credits meter for account rate limits plus a home usage snapshot.
  • Terminal dock with multiple tabs for background commands (experimental).
  • In-app updates with toast-driven download/install, debug panel copy/clear, sound notifications, and macOS overlay title bar with vibrancy + reduced transparency toggle.

Requirements

  • Node.js + npm
  • Rust toolchain (stable)
  • CMake (required for native dependencies; Whisper/dictation uses it on non-Windows)
  • Claude Code installed on your system and available as claude in PATH
  • Git CLI (used for worktree operations)
  • GitHub CLI (gh) for the Issues panel (optional)

If the claude binary is not in PATH, update the backend to pass a custom path per workspace. If you hit native build errors, run:

npm run doctor

Getting Started

Install dependencies:

npm install

Run in dev mode:

npm run tauri dev

Release Build

Build the production Tauri bundle (app + dmg):

npm run tauri build

The macOS app bundle will be in src-tauri/target/release/bundle/macos/.

Windows (opt-in)

Windows builds are opt-in and use a separate Tauri config file to avoid macOS-only window effects.

npm run tauri:build:win

Artifacts will be in:

  • src-tauri/target/release/bundle/nsis/ (installer exe)
  • src-tauri/target/release/bundle/msi/ (msi)

Note: dictation is currently disabled on Windows builds (to avoid requiring LLVM/libclang for whisper-rs/bindgen).

Type Checking

Run the TypeScript checker (no emit):

npm run typecheck

Note: npm run build also runs tsc before bundling the frontend.

Project Structure

src/
  features/         feature-sliced UI + hooks
  services/         Tauri IPC wrapper
  styles/           split CSS by area
  types.ts          shared types
src-tauri/
  src/lib.rs        Tauri backend + Claude app-server client
  tauri.conf.json   window configuration

Notes

  • Workspaces persist to workspaces.json under the app data directory.
  • App settings persist to settings.json under the app data directory (Claude path, default access mode, UI scale).
  • Experimental settings supported in the UI: Collab mode (features.collab), Background terminal (features.unified_exec), and Steer mode (features.steer), synced to $CLAUDE_HOME/config.toml (legacy $CODEX_HOME is still supported) on load/save.
  • On launch and on window focus, the app reconnects and refreshes thread lists for each workspace.
  • Threads are restored by filtering thread/list results using the workspace cwd.
  • Selecting a thread always calls thread/resume to refresh messages from disk.
  • CLI sessions appear if their cwd matches the workspace path; they are not live-streamed unless resumed.
  • The app uses claude app-server over stdio; see src-tauri/src/lib.rs.
  • Claude sessions use the default Claude home (usually ~/.claude); legacy .codexmonitor/ in a workspace is still honored.
  • Worktree agents live under the app data directory (worktrees/<workspace-id>); the app no longer edits repo .gitignore files.
  • UI state (panel sizes, reduced transparency toggle, recent thread activity) is stored in localStorage.
  • Custom prompts load from $CLAUDE_HOME/prompts (legacy $CODEX_HOME supported) with optional frontmatter description/argument hints.

Tauri IPC Surface

Frontend calls live in src/services/tauri.ts and map to commands in src-tauri/src/lib.rs. Core commands include:

  • Workspace lifecycle: list_workspaces, add_workspace, add_worktree, remove_workspace, remove_worktree, connect_workspace, update_workspace_settings.
  • Threads: start_thread, list_threads, resume_thread, archive_thread, send_user_message, turn_interrupt, respond_to_server_request.
  • Reviews + models: start_review, model_list, account_rate_limits, skills_list.
  • Git + files: get_git_status, get_git_diffs, get_git_log, get_git_remote, list_git_branches, checkout_git_branch, create_git_branch, list_workspace_files.

About

An app to monitor the (Claude Code) situation

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 66.1%
  • Rust 24.0%
  • CSS 9.5%
  • Shell 0.2%
  • Nix 0.1%
  • JavaScript 0.1%