Agento is a local platform for building and interacting with AI agents through a web UI and CLI. It runs on top of the Claude Code CLI already installed on your machine β no separate API key or cloud account needed.
You can define agents with custom system prompts and tools, start multi-turn conversations with them, and manage everything from a browser or directly from your terminal.
β If Agento is useful to you, consider starring the repository β it helps the project grow and others discover it.
π¬ Chats β Multi-turn conversations with your agents
Start a conversation with any agent you've built and continue it across multiple turns. Sessions are persisted locally so you can pick up right where you left off. Responses stream live via Server-Sent Events β no waiting for the full reply. You can favorite important chats and rename their titles inline to keep your workspace organized. Drag-and-drop files or paste images directly into the chat input to share them with the agent.
ποΈ Multi-Chat Workspace β Run multiple conversations in parallel
Open several chat sessions simultaneously in a tabbed workspace. Each tab is fully independent with its own agent, session state, and streaming output. Tab state persists across page reloads, so you never lose your place even if you navigate away.
π€ Agent Builder β Define custom AI agents
Create agents with a custom name, system prompt, Claude model, and thinking mode (adaptive, enabled, or disabled). Assign exactly which tools each agent can access β built-in Claude Code tools, local in-process tools, external MCP servers, or third-party integrations. Agents are saved locally on your machine and can also be defined as YAML files. Template variables like {{current_date}} and {{current_time}} are automatically injected into system prompts at runtime.
Built-in tools available: Read, Write, Edit, Bash, Glob, Grep, WebFetch, WebSearch, Task
π Integrations β Connect external services as agent tools
Turn external services into tools your agents can call directly during a conversation. Each integration runs as an in-process MCP server with no external daemon required.
Supported integrations:
- Google β Calendar (read/create events), Gmail (read/send), Drive (search/read files) via OAuth
- GitHub β Repos, issues, pull requests, Actions workflows, and releases via personal access token
- Slack β Read channels and messages, send messages, search, look up users via bot token
- Jira β Browse projects, search issues with JQL, create and update issues via API token
- Confluence β Read spaces and pages, search with CQL via API token
- Telegram β Send/receive messages, photos, polls, and locations via bot token
π External MCP Servers β Plug in any MCP-compatible tool server
Extend agents with any MCP server by listing it in ~/.agento/mcps.yaml. Supports all three transports: stdio (subprocess), streamable_http, and sse. Environment variable references (${ENV:VAR_NAME}) keep credentials out of config files. Once registered, MCP tools appear alongside built-in tools in the agent builder and can be selectively assigned per agent.
β° Task Scheduler β Automate recurring agent jobs
Schedule any agent to run automatically on a cron expression. Agento runs tasks in the background and records the outcome, duration, and output of every execution. Use this for daily summaries, automated reports, periodic file processing, or any workflow you'd otherwise run manually on a schedule.
π Job History β Audit every scheduled run
Every task execution is logged with its start time, duration, exit status, and full agent output. Browse the job history page to review what each agent did, diagnose failures, and track trends over time without digging through log files.
ποΈ Claude Sessions β Browse your Claude Code session history
Agento automatically scans the Claude Code session JSONL files on your machine and makes them browsable in the UI. View any session's full message history, drill into individual tool calls, and follow the complete session journey from start to finish. Results are cached locally and updated incrementally in the background as new sessions appear.
π Token Usage Analytics β Track cost and consumption over time
See exactly how many tokens your Claude sessions are consuming, broken down by input, output, and cache tokens. Charts show trends over your chosen date range, and cost estimates let you stay on top of spending before bills arrive. Filter by model to compare usage across Claude Sonnet, Haiku, and Opus.
π General Usage Analytics β Understand your session patterns
Visualize how many sessions you're running per day, which models you're using most, and when you're most active via an activity heatmap. Compare any date range to spot growth trends or usage spikes across all your Claude Code work.
π‘ Insights β Productivity metrics for your AI workflow (experimental)
A deeper analytics view that goes beyond raw token counts. Insights computes an Autonomy Score (how independently Claude worked, based on human interruptions), a Productivity Score (composite of autonomy, cache efficiency, and error-free sessions), average tool call counts, session durations, and a top-10 tool usage breakdown. All metrics support period-over-period comparison so you can see whether your agents are becoming more effective over time.
βοΈ Settings β General, Claude Profiles, Appearance, and more
All configuration lives in a single Settings page organized into tabs:
- General β Set the default working directory and Claude model. Fields locked by environment variables are shown as read-only with the overriding env var name.
- Claude Settings Profiles β Create multiple named Claude settings profiles (each stored as
~/.claude/settings_<slug>.json) and switch between them per agent or per chat. A default profile is auto-created from your existing~/.claude/settings.jsonon first launch. - Appearance β Toggle dark/light mode, choose font size and font family. Changes apply instantly across the entire UI.
- Notifications β Configure SMTP email delivery for task completion and agent events. Test delivery directly from the UI and browse the notification log.
- Monitoring β Configure OpenTelemetry exporters (OTLP gRPC or Prometheus) for traces, metrics, and logs. Hot-reload settings without restarting.
- Advanced β Additional low-level configuration options.
π» CLI β Run agents directly from the terminal
Use agento ask to send a one-shot query to any agent without opening the browser. Pass a session ID as a positional argument to continue an existing conversation. Useful for scripting, quick lookups, or integrating Agento into other shell workflows.
agento ask "What changed in the repo today?"
agento ask --agent my-agent "Follow up" <session-id>π Auto-Update β Stay current with one command
Agento checks for newer releases on startup and shows an amber banner at the top of the UI when an update is available. Dismiss it per-version or run agento update to upgrade in place. The update check is cached for one hour so it doesn't slow down your workflow.
π‘ Observability β OpenTelemetry traces, metrics, and logs
Every HTTP request, agent run, tool call, and storage operation is instrumented with OpenTelemetry spans and metrics. Configure OTLP gRPC export or a Prometheus pull endpoint directly from the Monitoring settings tab β no config files or restarts needed. Structured JSON logs are written to ~/.agento/logs/system.log with per-session logs at ~/.agento/logs/sessions/<id>.log.
π‘ Missing a feature? If there's something you'd like to see in Agento, open an issue on GitHub β we'd love to hear from you.
See Agento in action across its core features. Click any section below to expand the demo.
π¬ Chat with an AI Agent
Start a multi-turn conversation with any agent you've built. Responses stream live in the browser via Server-Sent Events, so you see output as it's generated β just like a terminal.
demo.webm
ποΈ Multi-Chat Workspace
Open multiple conversations side by side using tabbed workspaces. Each tab maintains its own session state so you can run independent agent tasks in parallel without losing context.
Multi-Tab.Chat.-.Demo.webm
β Favorites & Chat Title
Mark important conversations as favorites and rename chat titles inline β keeping your workspace organized without leaving the chat view.
Favorite.and.Chat.Title.Demo.webm
π Integrations (Google, GitHub, Slack, and more)
Connect external services β Google Calendar, Gmail, Drive, GitHub, Slack, Jira, Confluence, and Telegram β and expose them as tools your agents can call during a conversation.
β° Task Scheduler
Schedule agents to run automatically on a cron expression. Each run is logged with full job history so you can review what the agent did, when it ran, and whether it succeeded.
π Token Usage Analytics
Track token consumption, cache hit rates, and estimated costs across all your Claude sessions. Charts break down usage by model and time range so you always know where tokens are going.
π General Usage Analytics
Visualize session volume over time, per-model breakdowns, and activity heatmaps. A quick way to understand how heavily your agents are being used and when.
ποΈ Claude Code Session Journey
Browse and replay your Claude Code session history with a full timeline of tool calls, messages, and token usage β useful for auditing what an agent actually did during a run.
π‘ Monitoring & Observability
Configure OpenTelemetry exporters for traces, metrics, and logs directly from the Settings UI β no config files needed. Works with any OTLP-compatible collector or Prometheus.
π Notifications
Set up SMTP email notifications for task completions and agent events. Configure recipients, test delivery, and review the notification log β all from the Settings page.
π¨ Appearance Settings
Switch between light and dark themes and customize the UI appearance to match your workflow preferences, with changes applied instantly across the entire app.
- Claude Code CLI installed and authenticated on your machine
- Go 1.25+ and Node.js (only required when building from source)
No Anthropic API key is required. Agento uses the Claude Code CLI's existing authentication by default. If you prefer to call the Anthropic API directly, you can set ANTHROPIC_API_KEY as an optional override.
Download the latest release for your platform from GitHub Releases:
| Platform | File |
|---|---|
| Linux (x86_64) | agento_Linux_x86_64.tar.gz |
| Linux (arm64) | agento_Linux_arm64.tar.gz |
| macOS Intel | agento_Darwin_x86_64.tar.gz |
| macOS Apple Silicon | agento_Darwin_arm64.tar.gz |
| Windows (x86_64) | agento_Windows_x86_64.zip |
Extract the archive and move the agento binary to a directory in your PATH:
tar -xzf agento_Linux_x86_64.tar.gz
sudo mv agento /usr/local/bin/Homebrew:
brew install shaharia-lab/tap/agentoBuild from source (requires Go 1.25+ and Node.js):
git clone https://github.com/shaharia-lab/agento.git
cd agento
make buildagento webThis starts Agento on port 8990 and opens your browser automatically. To skip the browser:
agento web --no-browserTo use a different port:
agento web --port 3000No configuration is required. Agento works out of the box using your local Claude Code setup. All settings are optional and can be overridden with environment variables:
Environment variables
| Variable | Default | Description |
|---|---|---|
PORT |
8990 |
HTTP server port |
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 |
β | Use the Anthropic API directly instead of Claude Code CLI authentication |
AGENTO_DEFAULT_MODEL |
(Claude default) | Lock the Claude model used for direct chat sessions |
AGENTO_WORKING_DIR |
/tmp/agento/work |
Default working directory for agent sessions |
OTEL_EXPORTER_OTLP_ENDPOINT |
β | OTLP gRPC collector endpoint (e.g. localhost:4317). Can also be configured via Settings UI |
OTEL_METRICS_EXPORTER |
β | otlp (push) or prometheus (pull via /metrics) |
OTEL_LOGS_EXPORTER |
β | otlp |
Logs are written in JSON format to ~/.agento/logs/system.log. Per-session logs are at ~/.agento/logs/sessions/<session-id>.log. Set LOG_LEVEL=debug to include HTTP request logs.
agento web β Start the web UI
Usage:
agento web [flags]
Flags:
--no-browser Do not automatically open the browser on startup
--port int HTTP server port (overrides PORT env var) (default 8990)
agento ask β Query an agent from the terminal
Usage:
agento ask [flags] <question> [session-id]
Flags:
--agent string Agent slug to use
--agents-dir string Directory containing agent YAML files (overrides AGENTO_DATA_DIR)
--mcps-file string Path to the MCP registry YAML file (overrides AGENTO_DATA_DIR)
--no-thinking Disable extended thinking
Examples:
agento ask "What is 2+2?"
agento ask --agent hello-world "What time is it?"
agento ask --agent hello-world "Follow up" <session-uuid>
agento ask --agent hello-world --no-thinking "Quick question"
agento update β Update to the latest release
Usage:
agento update [flags]
Flags:
-y, --yes Skip confirmation prompt
- Getting Started β Detailed setup and first-run walkthrough
- Agents β Building and configuring custom agents with system prompts, models, tools, and template variables
- Integrations β Connecting Google, GitHub, Slack, Jira, Confluence, and Telegram as agent tools
- Monitoring β Setting up OpenTelemetry traces, metrics, and logs
- Development β Architecture overview, local setup, and contribution guidelines
MIT. Maintained by Shaharia Lab.