← Channels Overview

🌐 OpenClaw WebChat

Chat with your agent directly in the browser — no messaging app needed. Built into the Gateway Control UI at localhost:18789. Supports Talk Mode, file uploads, and remote access via Tailscale.

Easy · Already built-inlocalhost:18789No extra setup

💻 Why WebChat?

AdvantageDetails
Zero setupAlready built into the Gateway. Start the gateway → open browser → chat.
No app neededWorks in any modern browser — Chrome, Firefox, Safari, Edge.
Dashboard accessSame UI gives you config, logs, sessions, and debug tools alongside chat.
Talk ModeClick the mic icon for voice conversations directly from the browser.
Best for testingFastest way to test your agent without setting up Telegram/WhatsApp/Discord first.
✅ Fastest path to chat: Just run openclaw onboard --install-daemon and open the browser. No channel configuration needed. WebChat works immediately.

🔗 Accessing WebChat

# Start the gateway (if not already running as daemon)
openclaw gateway --port 18789

# Open in browser:
# http://127.0.0.1:18789

# Or open directly:
openclaw dashboard

# WebChat is at:
# http://127.0.0.1:18789/webchat

The Control UI is the main page. WebChat is either a tab within it or accessible at /webchat.

💡 Gateway token: On first access, you'll need the gateway token shown during setup. Save it — you'll need it to pair the dashboard.

🎛️ Control UI dashboard

The web interface at localhost:18789 is much more than just chat:

TabWhat it does
OverviewGateway health, connected channels, agent status
WebChatChat directly with your agent
ConfigEdit openclaw.json via form or raw JSON editor
SessionsView active sessions, token usage, costs
LogsReal-time gateway logs (like openclaw logs --follow)
CronManage scheduled jobs
CanvasA2UI agent-driven visual workspace

✨ WebChat features

FeatureStatusNotes
Text messages✅ FullMarkdown rendering, code highlighting
File uploads✅ FullDrag and drop or click to upload
Code blocks✅ FullSyntax highlighted with copy button
Voice (Talk Mode)✅ FullClick mic icon for hands-free voice chat
Streaming✅ FullResponses appear word-by-word in real-time
Slash commands✅ Full/status, /model, /reset, etc.
Canvas✅ FullAgent-driven visual workspace for rich outputs
Debug tools✅ FullInspect sessions, tokens, tool calls
Mobile✅ ResponsiveWorks on phone browsers (via Tailscale for remote)

🌍 Remote access (Tailscale)

By default, WebChat only works on localhost. To access from other devices, use Tailscale Serve/Funnel:

# Install Tailscale (tailscale.com)
# Then expose the gateway:
tailscale serve --https=443 http://127.0.0.1:18789

# Now access from any device on your tailnet:
# https://your-machine.tail-net.ts.net

⚠️ Never expose port 18789 directly to the internet without authentication. Use Tailscale for private network access, or set up a reverse proxy with authentication. The gateway has built-in auth modes:

{
  "gateway": {
    "port": 18789,
    "bind": "lan",
    "auth": {
      "mode": "password",
      "password": "your-secure-password"
    }
  }
}

Bind modes

ModeWho can connect
"local"Only localhost (default, safest)
"lan"Local network devices
"public"⚠️ Anywhere (requires auth)

🎤 Voice from browser

Click the microphone icon in WebChat to start Talk Mode directly in your browser:

  • Browser captures audio via Web Audio API
  • Speech is transcribed (Whisper STT)
  • Agent processes and responds
  • Response is spoken back (ElevenLabs TTS)
⚠️ HTTPS required for remote: Browsers block microphone access over plain HTTP (except localhost). Use Tailscale Serve (which provides HTTPS) or a reverse proxy with TLS cert.

⚙️ Configuration

// WebChat is a built-in channel — minimal config needed
{
  "gateway": {
    "port": 18789,
    "bind": "local",
    "auth": {
      "mode": "token"
    }
  }
}

WebChat uses the gateway's WebSocket connection. All slash commands, session management, and tools work exactly the same as in messaging channels.

Enable Chat Completions API

For third-party voice clients (like openclaw-voice), enable the HTTP endpoint:

{
  "gateway": {
    "http": {
      "endpoints": {
        "chatCompletions": {
          "enabled": true
        }
      }
    }
  }
}

🔧 Troubleshooting

ProblemFix
Can't access localhost:18789Ensure gateway is running: openclaw gateway status. Check port isn't taken.
Dashboard shows “not connected”Enter the gateway token from initial setup. Check openclaw gateway status for the token.
Mic doesn't work remotelyBrowser requires HTTPS for mic access. Use Tailscale Serve or add TLS via reverse proxy.
WebCrypto errorSame HTTPS issue — device identity generation requires secure context. Use localhost or HTTPS.
Slow responsesCheck model and API connectivity. Run openclaw logs --follow for latency info.
Can't upload filesCheck browser permissions. Try drag-and-drop instead of file picker.