{"slug": "agento-the-missing-dashboard-for-claude-code", "title": "Agento: The missing dashboard for Claude Code", "summary": "Agento, a new open-source dashboard from Shaharia Lab, turns Claude Code's session files into cost analytics, productivity insights, and a searchable history, with a browser UI for building and scheduling agents. The single Go binary requires no API key, account, or telemetry, and installs via `brew install shaharia-lab/tap/agento` followed by `agento web`, opening at `http://localhost:8990`. It attributes costs to the actual model used, tracks metrics like cache hit rate and tool error rate, and supports filtering and paging in SQL for scalability.", "body_md": "Claude Code forgets everything the moment it exits. Agento reads the session files it already writes to your disk and turns them into cost analytics, productivity insights and a searchable history of every run. It also gives you a browser UI for building agents, scheduling them, and connecting them to the tools you use.\n\n**One Go binary. No API key, no account, no telemetry. Your history, your agents and your analytics stay on your machine.**\n\n```\nbrew install shaharia-lab/tap/agento\nagento web\n```\n\nThat is the whole setup. Agento opens at `http://localhost:8990`\n\n, finds your Claude Code history, and starts building your dashboards.\n\nIf Agento saves you money or time, a star is the single most useful thing you can do for the project. It takes a second and it is how other Claude Code users find it.\n\n**Requirements:** the [Claude Code CLI](https://claude.ai/code), installed and authenticated. If `claude`\n\nruns in your terminal, Agento works. No Anthropic API key is needed, because Agento uses the authentication Claude Code already has.\n\n|\n\n```\nbrew install shaharia-lab/tap/agento\nagento web\n```\n\n |\n\n```\n# grab the archive for your platform from Releases\ntar -xzf agento_Linux_x86_64.tar.gz\nsudo mv agento /usr/local/bin/\nagento web\n```\n\n |\n\nBinaries for Linux (x86_64, arm64), macOS (Intel, Apple Silicon) and Windows are on the [Releases page](https://github.com/shaharia-lab/agento/releases).\n\nUseful flags: `agento web --port 3000`\n\nto change the port, `--no-browser`\n\nto skip opening a tab. To keep it running in the background across reboots:\n\n```\nagento service install     # then: status | stop | start | restart | logs | uninstall\n```\n\nInput, output, cache reads and cache writes bill at very different rates, so Agento keeps them apart instead of multiplying one total by one price. The result is the chart most people find surprising: the model with the most tokens is often not the model taking your money.\n\nCost is attributed to the model that spent it, including work done inside sub-agents, so delegating to a cheaper model shows up as an actual saving.\n\nThe Insights page goes past raw counts. It tracks how many turns a session needed, how far Claude got before it had to ask you something, how long you kept it waiting, cache hit rate and tool error rate, all compared against the previous period so you can see the direction. It then attributes every tool call to the skill, plugin, MCP server or sub-agent responsible, which is how you find the skill quietly burning a third of your calls.\n\nDurations mean active time, not wall clock. Claude Code sessions are resumable, so one picked up a week later would otherwise report a week of work. Idle gaps beyond a threshold you control are excluded everywhere a duration is shown.\n\nSessions per day, model mix, busiest days, cost per project, and an activity heatmap that counts a session in every hour it was running rather than only the hour it finished.\n\nFiltered and paged in SQL, so it stays fast whether you have 50 sessions or 5,000. Search across titles and content, filter by project, model, date, cost or duration, and see linked pull requests, git branch and permission mode on every row.\n\nThe journey view reconstructs the full timeline of a run: every prompt, response, tool call and result in order, with each sub-agent's steps nested under the delegation that spawned it. When a long autonomous run goes wrong, this is where you find out where.\n\nEach session also carries its own metrics: turns, steps per turn, longest autonomous chain, active duration, time Claude spent working, your own average reply time, and tool error rate.\n\nGive an agent a name, a system prompt, a model, a thinking mode and an explicit list of tools it may use. Save it once and reuse it from the browser, the scheduler or the CLI. Template variables like `{{current_date}}`\n\nare filled in at runtime.\n\nPermission modes matter here: an agent can be set to plan first and act only after you approve, which is what you want the moment it can write files or run commands.\n\nRun any agent on a cron expression, a fixed interval, or once at a specific time. Every execution is recorded with its status, duration and full output, so you can see exactly what ran while you were away.\n\nEach integration runs as an in-process MCP server, so there is no extra daemon to operate. Configure it once and any agent can use it.\n\nGoogle (Calendar, Gmail, Drive), GitHub, Slack, Jira, Confluence, Telegram and WhatsApp are built in. Any other MCP server can be added through `~/.agento/mcps.yaml`\n\nover stdio, streamable HTTP or SSE.\n\nRates ship for Anthropic, Moonshot, Z.ai and Alibaba models, and they are effective-dated: adding a rate leaves past usage priced at what it was charged, while correcting one rewrites it. A model with no published rate is reported as unknown instead of being quietly priced as something else.\n\nAgento reads `~/.claude`\n\nand caches results in a local SQLite database at `~/.agento/agento.db`\n\n. Nothing is uploaded, there is no account, and there is no server component. Projects you would rather leave out of the numbers can be hidden from every report, and the idle threshold behind the duration metrics is yours to set.\n\n**💬 Chats and a tabbed multi-chat workspace**\n\nHold multi-turn conversations with any agent you have built. Responses stream live over Server-Sent Events, sessions persist locally, and you can favourite or rename them. Drag and drop files or paste images straight into the input.\n\nThe multi-chat workspace runs several conversations in parallel, each tab with its own agent and session state, and it survives a page reload.\n\n## demo.webm\n\n## Multi-Tab.Chat.-.Demo.webm\n\n**💻 CLI: run agents from the terminal**\n\n```\nagento ask \"What changed in the repo today?\"\nagento ask --agent code-reviewer \"Review the staged diff\"\nagento ask --agent code-reviewer \"Follow up\" <session-id>\n```\n\nPass a session ID to continue a conversation. Useful for scripts and shell pipelines.\n\n**📡 Observability: OpenTelemetry traces, metrics and logs**\n\nEvery HTTP request, agent run, tool call and storage operation is instrumented. Configure an OTLP gRPC exporter or a Prometheus pull endpoint from the Monitoring settings tab and it hot-reloads, no restart and no config file. Structured logs are written to `~/.agento/logs/system.log`\n\n, with per-session logs beside them.\n\nSee [docs/monitoring.md](/shaharia-lab/agento/blob/main/docs/monitoring.md).\n\n**🔔 Notifications and job history**\n\nConfigure SMTP delivery for task completion and agent events, send a test message from the UI, and browse the notification log. Every scheduled run is kept in job history with its start time, duration, exit status and full output.\n\n**🎨 Claude settings profiles and appearance**\n\nKeep several named Claude settings profiles (stored as `~/.claude/settings_<slug>.json`\n\n) and switch between them per agent or per chat. A default profile is created from your existing `~/.claude/settings.json`\n\non first launch. Dark and light themes, font size and font family apply instantly across the UI.\n\n**🔄 Auto-update**\n\nAgento checks for new releases on startup and shows a banner when one is available. Run `agento update`\n\nto upgrade in place. If it is installed as a background service, the service is restarted for you.\n\nNothing needs configuring. Everything below is optional, and environment variables win over the Settings UI.\n\n**Environment variables**\n\n| Variable | Default | Description |\n|---|---|---|\n`PORT` |\n`8990` |\nHTTP server port |\n`AGENTO_BIND` |\n`127.0.0.1` |\nInterface to listen on (both loopback families). Set `0.0.0.0` to reach Agento from another device — see below |\n`AGENTO_PUBLIC_URL` |\nnone | Externally reachable URL, for a reverse proxy, a tunnel, or Telegram webhooks |\n`CLAUDE_CONFIG_DIR` |\n`~/.claude` |\nWhich Claude Code account agents run as. Claude Code's own variable |\n`AGENTO_DATA_DIR` |\n`~/.agento` |\nRoot directory for agents, chats, and logs. Supports `~` expansion |\n`LOG_LEVEL` |\n`info` |\nLog verbosity: `debug` , `info` , `warn` , `error` |\n`ANTHROPIC_API_KEY` |\nnone | Use the Anthropic API directly instead of Claude Code CLI authentication |\n`AGENTO_DEFAULT_MODEL` |\nClaude default | Lock the model used for direct chat sessions |\n`AGENTO_WORKING_DIR` |\n`/tmp/agento/work` |\nDefault working directory for agent sessions |\n`OTEL_EXPORTER_OTLP_ENDPOINT` |\nnone | OTLP gRPC collector endpoint, for example `localhost:4317` |\n`OTEL_METRICS_EXPORTER` |\nnone | `otlp` to push, or `prometheus` to expose `/metrics` |\n`OTEL_LOGS_EXPORTER` |\nnone | `otlp` |\n\n**CLI reference**\n\n```\nagento web [--port int] [--no-browser]      Start the web UI\nagento ask [--agent slug] [--no-thinking]   Ask an agent a one-off question\n           <question> [session-id]\nagento update [-y] [--no-restart]           Update to the latest release\nagento service <install|uninstall|start|stop|restart|status|logs>\n```\n\n`agento service`\n\ninstalls a LaunchAgent on macOS (`~/Library/LaunchAgents/com.shaharialab.agento.plist`\n\n) or a systemd user unit on Linux (`~/.config/systemd/user/agento.service`\n\n), so Agento survives logout and reboot.\n\n**Build from source**\n\nRequires Go 1.25+ and Node.js.\n\n```\ngit clone https://github.com/shaharia-lab/agento.git\ncd agento\nmake build\n```\n\nSee [docs/development.md](/shaharia-lab/agento/blob/main/docs/development.md) for the architecture overview and the development workflow.\n\nAgento listens on **loopback only** by default, and has **no authentication** — it is meant to run on the machine you are working at. The API can create an agent and run it, so anything that can reach it can run commands on that machine.\n\nTo use it from a phone, tablet or another computer:\n\n```\nAGENTO_BIND=0.0.0.0 agento web\n```\n\nOnly do that on a network you trust, or put a proxy that authenticates in front of it. If you reach Agento under a hostname rather than an IP — through a reverse proxy or a tunnel — set **Public URL** in Settings (or `AGENTO_PUBLIC_URL`\n\n) to that address, or requests will be refused.\n\nUpgrading?This used to listen on every interface. If you reach Agento from another device and it stopped working, set`AGENTO_BIND=0.0.0.0`\n\n. The startup log names the interface it bound.\n\n[Getting started](/shaharia-lab/agento/blob/main/docs/getting-started.md): setup and a first-run walkthrough[Claude sessions](/shaharia-lab/agento/blob/main/docs/claude-sessions.md): what is scanned, how cost and duration are measured, and the analytics built on top[Agents](/shaharia-lab/agento/blob/main/docs/agents.md): system prompts, models, tools and template variables[Tasks](/shaharia-lab/agento/blob/main/docs/tasks.md): running agents on a schedule, and job history[Integrations](/shaharia-lab/agento/blob/main/docs/integrations.md): connecting Google, GitHub, Slack, Jira, Confluence, Telegram and WhatsApp[Pricing](/shaharia-lab/agento/blob/main/docs/pricing.md): how cost is calculated and how to maintain the catalog[Security](/shaharia-lab/agento/blob/main/docs/security.md): network exposure, the API guards, and where your data lives[Monitoring](/shaharia-lab/agento/blob/main/docs/monitoring.md): OpenTelemetry traces, metrics and logs[Development](/shaharia-lab/agento/blob/main/docs/development.md): architecture and contribution guidelines\n\nIssues and pull requests are welcome. Missing a feature? [Open an issue](https://github.com/shaharia-lab/agento/issues/new) and tell us what you would use it for.\n\nMIT. Maintained by [Shaharia Lab](https://github.com/shaharia-lab).\n\n**Agento is free and open source.**\nIf it is useful to you, [star the repository](https://github.com/shaharia-lab/agento) so more Claude Code users find it.", "url": "https://wpnews.pro/news/agento-the-missing-dashboard-for-claude-code", "canonical_source": "https://github.com/shaharia-lab/agento", "published_at": "2026-08-13 10:23:05+00:00", "updated_at": "2026-08-13 10:41:39.532664+00:00", "lang": "en", "topics": ["developer-tools", "ai-tools", "ai-agents"], "entities": ["Agento", "Shaharia Lab", "Claude Code", "Anthropic"], "alternates": {"html": "https://wpnews.pro/news/agento-the-missing-dashboard-for-claude-code", "markdown": "https://wpnews.pro/news/agento-the-missing-dashboard-for-claude-code.md", "text": "https://wpnews.pro/news/agento-the-missing-dashboard-for-claude-code.txt", "jsonld": "https://wpnews.pro/news/agento-the-missing-dashboard-for-claude-code.jsonld"}}