- Access the dashboard at your gateway URL + /dashboard — no separate install required
- Enable authentication in gateway.yaml with dashboard_auth: true and a dashboard_password value
- Agent Status panel shows heartbeat, model, latency, and 24-hour message volume per agent
- Channel Health panel flags disconnected or high-latency channels in real time
- Dashboard suits team monitoring and shared visibility; TUI suits active development and SSH sessions
Forty seconds. That's how long a senior engineer on a well-configured team takes to assess whether their OpenClaw deployment is healthy — because every signal they need is in the dashboard. Here's how to set it up and read it the way they do.
How to Access the OpenClaw Dashboard
The dashboard is served by the gateway process itself. Open a browser and navigate to your gateway URL with /dashboard appended. For a local setup: http://localhost:8080/dashboard. For a production deployment behind a reverse proxy: https://your-gateway.example.com/dashboard.
No separate server. No separate install. If your gateway is running, the dashboard is available. This is a deliberate design choice — the dashboard was built to be a zero-friction operational tool, not a separate service you need to maintain.
The dashboard uses a WebSocket connection to receive real-time updates from the gateway. Every event — an agent status change, a channel disconnect, a spike in error rate — pushes to the dashboard immediately. You're not seeing cached data; you're seeing the current state.
By default, the dashboard requires no authentication. Anyone who can reach your gateway URL can see your agent configuration, channel data, and metrics. Enable auth before exposing your gateway to the internet — the config is two lines in gateway.yaml.
Configuring Dashboard Authentication
Authentication is configured in gateway.yaml. Open the file and add the following under the root-level config:
# gateway.yaml
dashboard:
enabled: true
auth: true
password: ${OPENCLAW_DASHBOARD_PASSWORD} # Reference env var, never hardcode
Set the environment variable before starting the gateway:
export OPENCLAW_DASHBOARD_PASSWORD="your-strong-password-here"
openclaw gateway start
After restarting the gateway, navigating to /dashboard will show a password prompt. The session persists in a browser cookie for 24 hours — users won't need to re-authenticate on every visit.
As of early 2025, OpenClaw dashboard auth uses a single shared password. Per-user accounts with role-based access are on the roadmap. For teams that need multi-user access today, put a reverse proxy in front with its own auth layer (Nginx basic auth or Cloudflare Access both work well).
The Agent Status Panel
The top section of the dashboard is the Agent Status panel. This is where you'll spend most of your time. Each registered agent gets a card showing:
- Agent name and ID — exactly as configured in your agent YAML
- Online/offline indicator — green dot for active heartbeat, red for missed heartbeat
- Model in use — the LLM provider and model name the agent is currently using
- Last heartbeat — timestamp of the most recent heartbeat ping
- Messages (24h) — total messages processed in the last 24 hours
- Avg response latency — rolling average of the last 50 responses
A red indicator means the agent hasn't sent a heartbeat within the configured interval. This almost always means the agent process crashed or the network between the agent and gateway dropped. It does not automatically restart the agent — you need a process manager (systemd, PM2, Docker restart policy) for that.
An agent card showing green (online) but with latency above 8 seconds is a slow-burn problem. Usually it means the LLM provider is under load, a tool call is hanging, or memory retrieval is slow. Catch it in the dashboard before your users notice degraded response quality.
The Channel Health Panel
Below agent status, the Channel Health panel lists every active message channel. For each channel you see the channel type icon (Telegram, WhatsApp, API, Discord), connection status, the agent it's routed to, and message volume in the past hour.
Color coding is straightforward: green means connected and processing normally, yellow means elevated latency or intermittent errors, red means the channel has lost connection to the upstream platform. Yellow channels keep working — they're degraded, not failed. Red channels have stopped receiving messages.
Click any channel row to expand it and see the last 10 messages processed, the current webhook URL (for platform-based channels), and the error log for the last failed delivery if one exists. This is the fastest way to diagnose a channel that went red — the error log usually tells you exactly what happened.
Metrics and Charts
The bottom section of the dashboard contains time-series charts. These are not just decorative — they're the tool that separates reactive operations from proactive ones.
The three primary charts are: Message Volume (messages per minute across all channels, last 24 hours), Response Latency (p50 and p95 latency per agent, last 24 hours), and Error Rate (percentage of requests that resulted in an error, by agent).
A sudden spike in error rate alongside a flat message volume means one agent is failing on a specific type of request — usually a tool call or parsing error. A spike in both message volume and latency means your LLM provider is under load. A drop in message volume with no latency change usually means a channel disconnected upstream.
For longer-term metrics beyond 24 hours, expose the gateway's Prometheus endpoint at /metrics and scrape it with your own Grafana setup. The dashboard is for operational monitoring; Grafana is for trend analysis and capacity planning.
Dashboard vs TUI: The Definitive Comparison
| Scenario | Use Dashboard | Use TUI |
|---|---|---|
| Sharing status with non-technical stakeholders | ✓ | — |
| Active debugging on an SSH session | — | ✓ |
| Viewing 24-hour metric trends | ✓ | — |
| Sending a test message to an agent | — | ✓ |
| Headless server with no display | — | ✓ |
| Multi-user team monitoring | ✓ | — |
Common Dashboard Mistakes
- Leaving the dashboard open with auth disabled on a public gateway — anyone who knows your gateway URL can access your entire agent configuration. Enable auth the moment you expose the gateway to the internet.
- Treating red channel indicators as agent failures — a red channel usually means the upstream platform (Telegram, WhatsApp) dropped the webhook connection, not that your agent crashed. Check the channel error log before restarting agents.
- Not monitoring the metrics charts — teams that only watch the green/red status dots miss gradual degradation. A latency trending from 3s to 7s over two hours is a warning sign that's invisible if you only look at status colors.
- Hardcoding the dashboard password in gateway.yaml — use the
${ENV_VAR}syntax to pull the password from an environment variable. Hardcoded passwords end up in version control.
Frequently Asked Questions
How do I access the OpenClaw dashboard?
Navigate to your gateway URL in a browser and append /dashboard — for example, http://localhost:8080/dashboard for local setups. The dashboard is served by the gateway process itself, so no separate server is needed.
How do I enable authentication on the dashboard?
Set dashboard_auth: true in gateway.yaml and define a dashboard_password value. On next gateway restart, the dashboard will require a password. Store the password in an environment variable and reference it with the ${ENV_VAR} syntax to avoid hardcoding it.
What does the agent status panel show?
The agent status panel shows each registered agent's name, model, online/offline state, last heartbeat timestamp, message count in the last 24 hours, and average response latency. Agents highlighted in red have missed their heartbeat interval — indicating they may be crashed or unreachable.
Can multiple team members use the dashboard simultaneously?
Yes. The dashboard is a standard web page — multiple people can have it open at the same time. All views update in real time via a shared WebSocket connection to the gateway. There is no per-user session management in the current version; all users share the same access level.
Does the dashboard show historical metrics or only real-time data?
The dashboard shows real-time data plus a rolling 24-hour history for message volume and latency charts. For longer-term historical metrics, integrate OpenClaw with Grafana using the Prometheus metrics endpoint at /metrics on the gateway.
What is the difference between the dashboard and the TUI?
The dashboard is a web interface accessible from any browser, ideal for team monitoring and visual metrics. The TUI runs inside your terminal and is better for developers on SSH servers or during active debugging sessions. Both read from the same gateway data.
M. Kim works with product and operations teams to build monitoring and observability setups for AI agent deployments. Has configured OpenClaw dashboards for teams ranging from solo builders to 20-person operations teams, and developed the alerting patterns described in this guide.