{"id":47606993,"url":"https://github.com/fabioconcina/claumon","last_synced_at":"2026-04-16T10:00:39.742Z","repository":{"id":345935753,"uuid":"1187916527","full_name":"fabioconcina/claumon","owner":"fabioconcina","description":"Claude Code dashboard — minimal, fast, single binary","archived":false,"fork":false,"pushed_at":"2026-04-10T14:16:47.000Z","size":498,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-04-10T16:15:13.162Z","etag":null,"topics":["anthropic","claude","claude-code","cli","dashboard","developer-tools","golang","monitoring","sse","token-usage"],"latest_commit_sha":null,"homepage":"https://claumon.fabioconcina.com","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/fabioconcina.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2026-03-21T11:12:52.000Z","updated_at":"2026-04-10T14:17:15.000Z","dependencies_parsed_at":"2026-04-16T10:00:35.429Z","dependency_job_id":null,"html_url":"https://github.com/fabioconcina/claumon","commit_stats":null,"previous_names":["fabioconcina/claumon"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/fabioconcina/claumon","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabioconcina%2Fclaumon","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabioconcina%2Fclaumon/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabioconcina%2Fclaumon/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabioconcina%2Fclaumon/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/fabioconcina","download_url":"https://codeload.github.com/fabioconcina/claumon/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/fabioconcina%2Fclaumon/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31880882,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-16T09:23:21.276Z","status":"ssl_error","status_checked_at":"2026-04-16T09:23:15.028Z","response_time":69,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["anthropic","claude","claude-code","cli","dashboard","developer-tools","golang","monitoring","sse","token-usage"],"created_at":"2026-04-01T19:33:45.570Z","updated_at":"2026-04-16T10:00:39.737Z","avatar_url":"https://github.com/fabioconcina.png","language":"Go","readme":"[![Go Report Card](https://goreportcard.com/badge/github.com/fabioconcina/claumon)](https://goreportcard.com/report/github.com/fabioconcina/claumon)\n[![GitHub release](https://img.shields.io/github/v/release/fabioconcina/claumon)](https://github.com/fabioconcina/claumon/releases/latest)\n[![Go version](https://img.shields.io/github/go-mod/go-version/fabioconcina/claumon)](go.mod)\n[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](LICENSE)\n[![Platform](https://img.shields.io/badge/platform-macOS%20%7C%20Linux%20%7C%20Windows-brightgreen)](https://github.com/fabioconcina/claumon/releases/latest)\n\n# claumon\n\n**Claude Code dashboard** — run it, see where your tokens go.\n\nSingle binary, zero config, one browser tab. Runs on macOS, Linux, and Windows.\n\n## Why claumon?\n\nThere are plenty of Claude Code dashboards out there. This one isn't trying to be special — it's just my take on it, optimized for the things I care about: minimal, fast, and easy to set up.\n\nSingle binary, no dependencies, no build step, no config required. Run it and open a browser tab.\n\nIt gives you rate limit gauges, per-session token breakdowns, cost estimates, historical trends, conversation history, and a memory browser with relationship graph, health scores, and staleness alerts — all updating in real time via SSE. Daily aggregates are stored in SQLite so you can track usage over weeks, not just the current session.\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"assets/screenshot.png\" alt=\"claumon dashboard\" width=\"700\"\u003e\n\u003c/p\u003e\n\n## Quick start\n\n**Homebrew (macOS / Linux):**\n\n```bash\nbrew install fabioconcina/claumon/claumon\nclaumon\n```\n\n**Download a prebuilt binary** from [the latest release](https://github.com/fabioconcina/claumon/releases/latest):\n\n```bash\n# macOS (Apple Silicon)\ncurl -Lo claumon https://github.com/fabioconcina/claumon/releases/latest/download/claumon-darwin-arm64\nchmod +x claumon\n./claumon\n\n# macOS (Intel)\ncurl -Lo claumon https://github.com/fabioconcina/claumon/releases/latest/download/claumon-darwin-amd64\nchmod +x claumon\n./claumon\n\n# Linux (x86_64)\ncurl -Lo claumon https://github.com/fabioconcina/claumon/releases/latest/download/claumon-linux-amd64\nchmod +x claumon\n./claumon\n\n# Windows (x86_64)\n# Download claumon-windows-amd64.exe from the releases page\n# If blocked by Defender: right-click the .exe -\u003e Properties -\u003e Unblock\n# Or run: Unblock-File claumon-windows-amd64.exe\n```\n\n**Build from source:**\n\n```bash\ngo install github.com/fabioconcina/claumon@latest\nclaumon\n```\n\nOpen [http://localhost:3131](http://localhost:3131) in your browser.\n\nclaumon reads credentials from `~/.claude/.credentials.json` (created by `claude /login`), or falls back to the OS credential store (macOS Keychain, Windows Credential Manager) used by the VS Code extension. If credentials are missing, session tracking still works — only the API usage gauges are unavailable.\n\n## Run as a background service\n\nRun claumon automatically on login so the dashboard is always available. First, move the binary to a permanent location, then register the service.\n\n**macOS:**\n\n```bash\nmkdir -p ~/.local/bin\nmv claumon ~/.local/bin/\n# Add to PATH if not already: export PATH=\"$HOME/.local/bin:$PATH\"\nclaumon service install\n```\n\nCreates a LaunchAgent at `~/Library/LaunchAgents/com.claumon.dashboard.plist`. Logs go to `~/.claumon/claumon.log`.\n\n**Linux:**\n\n```bash\nmv claumon ~/.local/bin/\nclaumon service install\n```\n\nCreates a systemd user unit at `~/.config/systemd/user/claumon.service`. Logs go to journald (`journalctl --user -u claumon`). By default, systemd user services stop when you log out. To keep claumon running after logout, enable lingering: `loginctl enable-linger $USER`.\n\n**Windows (PowerShell):**\n\n```powershell\n# Move the exe to a permanent location\nNew-Item -ItemType Directory -Force \"$env:LOCALAPPDATA\\Programs\\claumon\"\nMove-Item claumon-windows-amd64.exe \"$env:LOCALAPPDATA\\Programs\\claumon\\claumon.exe\"\n\n# Add to PATH (current user, persists across sessions)\n$p = [Environment]::GetEnvironmentVariable('Path', 'User')\n[Environment]::SetEnvironmentVariable('Path', \"$p;$env:LOCALAPPDATA\\Programs\\claumon\", 'User')\n\n# Restart your terminal, then:\nclaumon service install\n```\n\nAdds claumon to the Windows Startup folder — it launches automatically (hidden) on login.\n\n**Manage the service:**\n\n```bash\nclaumon service status     # check if running\nclaumon service restart    # restart after config changes\nclaumon service uninstall  # stop and remove\n```\n\nNo root or admin required on any platform.\n\n## Self-update\n\n```bash\nclaumon update\n```\n\nChecks GitHub releases for a newer version, downloads the right binary for your platform, and replaces the current one. If a background service is installed, it restarts automatically after the update.\n\n## Uninstall\n\nRemove the background service (if installed), delete the binary, and optionally remove local data (SQLite database, logs, config, pricing cache).\n\n**macOS / Linux:**\n\n```bash\nclaumon service uninstall\nrm ~/.local/bin/claumon\nrm -rf ~/.claumon\n```\n\n**Windows (PowerShell):**\n\n```powershell\nclaumon service uninstall\nRemove-Item (Get-Command claumon).Source\nRemove-Item -Recurse \"$env:USERPROFILE\\.claumon\"\n```\n\n## What it tracks\n\n### Rate limits (live from Claude API)\n\n- **Session usage** — 5-hour sliding window utilization with reset countdown\n- **Weekly usage** — 7-day window utilization with reset countdown\n- **Per-model quotas** — separate Opus and Sonnet weekly limits (when applicable)\n- **Extra usage credits** — monthly limit and spend (if enabled)\n\nGauges are color-coded: green (\u003c50%), yellow (50–80%), red (\u003e80%).\n\n### Token usage (from session files)\n\n- **Input / output / cache read / cache write** tokens per session\n- **Estimated equivalent API cost** using current model pricing\n- **Daily aggregates** with 14-day trend charts\n- **Activity heatmap** — 24-hour breakdown of token activity by hour\n\n### Sessions\n\n- **Active sessions table** — project, model, tokens, cost, messages, last activity\n- **Today / Recent toggle** — switch between today's sessions and the 50 most recent across all time\n- **Running process detection** — shows which sessions are actively running with green \"active\" badge\n- **Session detail view** — full message timeline with per-message token counts and tool usage\n- **Automatic discovery** — watches `~/.claude/projects/` for new and updated sessions\n\n### Running processes\n\n- **Live process table** — shows all running Claude Code processes with PID, chat title, project, type, and uptime\n- **Stop button** — send SIGINT to gracefully stop any running process (conversation is preserved on disk)\n- **Auto-refresh** — updates via SSE and periodic polling\n\n### Memory browser\n\n- **All memory files** — CLAUDE.md, rules, auto-memory indexes, per-project memories\n- **Search** across content, path, project name, and frontmatter\n- **Filter by category** — CLAUDE.md, Rules, Index, Memory\n- **Staleness indicators** — green (today), gray (\u003c7d), yellow (7–30d), red (\u003e30d)\n- **Staleness alerts** — broken MEMORY.md links, orphaned files, index mismatches\n- **VS Code integration** — click to open files in your editor via `vscode://` links\n\n### Memory health scores\n\n- **Per-file grading** — each memory file gets a letter grade (A–F) based on freshness, structure, specificity, and connectedness\n- **Improvement suggestions** — actionable tips for low-scoring files (add frontmatter, link from MEMORY.md, etc.)\n\n### Memory graph\n\n- **Interactive visualization** — nodes are memory files, edges show relationships\n- **Project filters** — focus on specific projects\n- **Clickable legend** — toggle node types on/off\n- **Click to navigate** — click a node to jump to its file in the memory browser\n\n## Keyboard shortcuts\n\n| Key | Action |\n|-----|--------|\n| `1` `2` `3` | Switch to Dashboard, Memories, Graph tab |\n| `/` | Jump to memory search |\n| `Esc` | Close session detail panel |\n\n## Live updates\n\nThe dashboard uses Server-Sent Events (SSE) — no polling, no manual refresh. Changes appear instantly:\n\n- **Usage gauges** update every 2 minutes (configurable) from the Claude API\n- **Session table** updates when any `.jsonl` session file changes on disk\n- **Memory browser** highlights changed files with a visual pulse\n- **Graph and staleness** re-render when memory files change on disk\n\nA status dot in the top bar shows connection state (green = connected, red = disconnected).\n\n## Configuration\n\nOptional. Create `~/.claumon/config.json`:\n\n```json\n{\n  \"port\": 3131,\n  \"poll_interval_seconds\": 120,\n  \"credentials_path\": \"~/.claude/.credentials.json\",\n  \"claude_dir\": \"~/.claude\",\n  \"db_path\": \"~/.claumon/usage.db\",\n  \"stuck_threshold_minutes\": 10\n}\n```\n\nAll fields are optional — defaults are shown above. claumon works without a config file.\n\n## Data storage\n\nclaumon stores usage snapshots and daily aggregates in a SQLite database at `~/.claumon/usage.db`. Historical data is backfilled automatically on first startup by scanning all existing session files.\n\nThe database uses WAL mode for concurrent reads during writes. No maintenance required.\n\n## How it works\n\nclaumon combines three data sources:\n\n1. **Claude API** (`/api/oauth/usage`) — polled periodically for rate limit utilization. Requires OAuth credentials from `claude /login`.\n2. **Session files** (`~/.claude/projects/*/*.jsonl`) — watched via `fsnotify` for real-time token counting. Each JSONL file is parsed for message-level token usage.\n3. **Memory files** (`~/.claude/projects/*/memory/*.md`, `CLAUDE.md`, rules) — discovered and parsed for frontmatter, rendered as HTML, analyzed for cross-references and staleness.\n\nEverything is embedded in a single binary via `//go:embed` — no external files, no Node.js, no build step for the frontend.\n\n### Architecture\n\n```mermaid\ngraph TD\n    API[\"Claude OAuth API\"] --\u003e ENGINE\n    JSONL[\"Session JSONL Files\"] --\u003e ENGINE\n    MEM[\"Memory Files\"] --\u003e ENGINE\n    PRICE[\"Pricing Data\"] --\u003e ENGINE\n\n    ENGINE[\"Pollers · Watchers · Parsers\"] --\u003e DB[\"SQLite\"]\n    ENGINE --\u003e CACHE[\"In-Memory Cache\"]\n    ENGINE --\u003e SSE[\"SSE Broker\"]\n\n    DB --\u003e HTTP[\"HTTP Server\"]\n    CACHE --\u003e HTTP\n    JSONL --\u003e|\"parsed fresh\"| HTTP\n    SSE --\u003e HTTP\n\n    HTTP --\u003e SPA[\"Embedded SPA\"]\n```\n\n## License\n\nMIT\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffabioconcina%2Fclaumon","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffabioconcina%2Fclaumon","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffabioconcina%2Fclaumon/lists"}