cd /news/developer-tools/agento-the-missing-dashboard-for-cla… · home topics developer-tools article
[ARTICLE · art-95080] src=github.com ↗ pub= topic=developer-tools verified=true sentiment=↑ positive

Agento: The missing dashboard for Claude Code

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.

read9 min views1 publishedAug 13, 2026
Agento: The missing dashboard for Claude Code
Image: source

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.

One Go binary. No API key, no account, no telemetry. Your history, your agents and your analytics stay on your machine.

brew install shaharia-lab/tap/agento
agento web

That is the whole setup. Agento opens at http://localhost:8990

, finds your Claude Code history, and starts building your dashboards.

If 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.

Requirements: the Claude Code CLI, installed and authenticated. If claude

runs in your terminal, Agento works. No Anthropic API key is needed, because Agento uses the authentication Claude Code already has.

|

brew install shaharia-lab/tap/agento
agento web

|

tar -xzf agento_Linux_x86_64.tar.gz
sudo mv agento /usr/local/bin/
agento web

|

Binaries for Linux (x86_64, arm64), macOS (Intel, Apple Silicon) and Windows are on the Releases page.

Useful flags: agento web --port 3000

to change the port, --no-browser

to skip opening a tab. To keep it running in the background across reboots:

agento service install     # then: status | stop | start | restart | logs | uninstall

Input, 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.

Cost 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.

The 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.

Durations 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.

Sessions 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.

Filtered 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.

The 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.

Each 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.

Give 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}}

are filled in at runtime.

Permission 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.

Run 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.

Each 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.

Google (Calendar, Gmail, Drive), GitHub, Slack, Jira, Confluence, Telegram and WhatsApp are built in. Any other MCP server can be added through ~/.agento/mcps.yaml

over stdio, streamable HTTP or SSE.

Rates 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.

Agento reads ~/.claude

and caches results in a local SQLite database at ~/.agento/agento.db

. 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.

💬 Chats and a tabbed multi-chat workspace

Hold 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.

The multi-chat workspace runs several conversations in parallel, each tab with its own agent and session state, and it survives a page reload.

demo.webm #

Multi-Tab.Chat.-.Demo.webm #

💻 CLI: run agents from the terminal

agento ask "What changed in the repo today?"
agento ask --agent code-reviewer "Review the staged diff"
agento ask --agent code-reviewer "Follow up" <session-id>

Pass a session ID to continue a conversation. Useful for scripts and shell pipelines.

📡 Observability: OpenTelemetry traces, metrics and logs

Every 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

, with per-session logs beside them.

See docs/monitoring.md.

🔔 Notifications and job history

Configure 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.

🎨 Claude settings profiles and appearance

Keep several named Claude settings profiles (stored as ~/.claude/settings_<slug>.json

) and switch between them per agent or per chat. A default profile is created from your existing ~/.claude/settings.json

on first launch. Dark and light themes, font size and font family apply instantly across the UI.

🔄 Auto-update

Agento checks for new releases on startup and shows a banner when one is available. Run agento update

to upgrade in place. If it is installed as a background service, the service is restarted for you.

Nothing needs configuring. Everything below is optional, and environment variables win over the Settings UI.

Environment variables

Variable Default Description
PORT
8990
HTTP server port
AGENTO_BIND
127.0.0.1
Interface to listen on (both loopback families). Set 0.0.0.0 to reach Agento from another device — see below
AGENTO_PUBLIC_URL
none Externally reachable URL, for a reverse proxy, a tunnel, or Telegram webhooks
CLAUDE_CONFIG_DIR
~/.claude
Which Claude Code account agents run as. Claude Code's own variable
AGENTO_DATA_DIR
~/.agento
Root directory for agents, chats, and logs. Supports ~ expansion
LOG_LEVEL
info
Log verbosity: debug , info , warn , error
ANTHROPIC_API_KEY
none Use the Anthropic API directly instead of Claude Code CLI authentication
AGENTO_DEFAULT_MODEL
Claude default Lock the model used for direct chat sessions
AGENTO_WORKING_DIR
/tmp/agento/work
Default working directory for agent sessions
OTEL_EXPORTER_OTLP_ENDPOINT
none OTLP gRPC collector endpoint, for example localhost:4317
OTEL_METRICS_EXPORTER
none otlp to push, or prometheus to expose /metrics
OTEL_LOGS_EXPORTER
none otlp

CLI reference

agento web [--port int] [--no-browser]      Start the web UI
agento ask [--agent slug] [--no-thinking]   Ask an agent a one-off question
           <question> [session-id]
agento update [-y] [--no-restart]           Update to the latest release
agento service <install|uninstall|start|stop|restart|status|logs>

agento service

installs a LaunchAgent on macOS (~/Library/LaunchAgents/com.shaharialab.agento.plist

) or a systemd user unit on Linux (~/.config/systemd/user/agento.service

), so Agento survives logout and reboot.

Build from source

Requires Go 1.25+ and Node.js.

git clone https://github.com/shaharia-lab/agento.git
cd agento
make build

See docs/development.md for the architecture overview and the development workflow.

Agento 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.

To use it from a phone, tablet or another computer:

AGENTO_BIND=0.0.0.0 agento web

Only 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

) to that address, or requests will be refused.

Upgrading?This used to listen on every interface. If you reach Agento from another device and it stopped working, setAGENTO_BIND=0.0.0.0

. The startup log names the interface it bound.

Getting started: setup and a first-run walkthroughClaude sessions: what is scanned, how cost and duration are measured, and the analytics built on topAgents: system prompts, models, tools and template variablesTasks: running agents on a schedule, and job historyIntegrations: connecting Google, GitHub, Slack, Jira, Confluence, Telegram and WhatsAppPricing: how cost is calculated and how to maintain the catalogSecurity: network exposure, the API guards, and where your data livesMonitoring: OpenTelemetry traces, metrics and logsDevelopment: architecture and contribution guidelines

Issues and pull requests are welcome. Missing a feature? Open an issue and tell us what you would use it for.

MIT. Maintained by Shaharia Lab.

Agento is free and open source. If it is useful to you, star the repository so more Claude Code users find it.

── more in #developer-tools 4 stories · sorted by recency
── more on @agento 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/agento-the-missing-d…] indexed:0 read:9min 2026-08-13 ·