Skip to main content

Overview

ClawControl provides optional configuration overrides for OpenClaw’s gateway and browser behavior. These settings are defined in your deployment’s config.json and override OpenClaw’s default configuration. The configuration is applied during deployment in src/services/setup/index.ts:240.

Gateway Configuration

Customize the OpenClaw gateway settings that control how you access the web dashboard.
openclawConfig.gateway
object
Gateway server configuration.

Gateway Authentication

ClawControl automatically generates a secure authentication token for your gateway during deployment. This token is:
  • Generated in src/services/deployment.ts:670 using 32 random bytes
  • Stored in the deployment state at ~/.clawcontrol/deployments/<name>/state.json
  • Written to OpenClaw’s config as gateway.auth.token
  • Required to access the web dashboard
The gateway URL with authentication token is displayed after successful deployment.

Tailscale Integration

When Tailscale is enabled (default), ClawControl configures:
{
  "gateway": {
    "tailscale": {
      "mode": "serve",
      "resetOnExit": false
    }
  }
}
This enables secure access to your OpenClaw gateway over your private Tailscale network. See src/services/setup/index.ts:271-274.

Browser Configuration

Configure the browser automation settings used by OpenClaw agents.
openclawConfig.browser
object
Browser automation configuration.

Default Browser Settings

ClawControl sets the following browser defaults (see src/services/setup/index.ts:251-263):
{
  "browser": {
    "enabled": true,
    "remoteCdpTimeoutMs": 15000,
    "remoteCdpHandshakeTimeoutMs": 3000,
    "defaultProfile": "openclaw",
    "color": "#FF4500",
    "headless": true,
    "noSandbox": true,
    "attachOnly": false,
    "executablePath": "/usr/bin/google-chrome",
    "profiles": {
      "openclaw": {
        "cdpPort": 18800,
        "color": "#FF4500"
      }
    }
  }
}
Your custom browser settings override these defaults.

Agent Configuration

Configure the AI provider, model, and communication channel for your OpenClaw agent.
openclawAgent
object
AI agent and channel configuration.

How Agent Config is Applied

ClawControl transforms your agent config into OpenClaw’s internal format (see src/services/setup/index.ts:287-318):
  1. Model Configuration: Combines aiProvider and model into a model key
  2. Auth Profile: Creates an API key authentication profile for the provider
  3. Channel Setup: Configures Telegram with bot token and access control

Example Configurations

Minimal Configuration

Use all defaults, only specify agent settings:
{
  "name": "simple-agent",
  "provider": "hetzner",
  "hetzner": { "apiKey": "..." },
  "openclawAgent": {
    "aiProvider": "anthropic",
    "aiApiKey": "sk-ant-...",
    "model": "claude-3.5-sonnet-20241022",
    "channel": "telegram",
    "telegramBotToken": "1234:ABC..."
  }
}

Custom Gateway Port

Change the gateway port from default 18789:
{
  "openclawConfig": {
    "gateway": {
      "port": 8080
    }
  }
}

Non-Headless Browser

Enable visible browser UI (useful for debugging):
{
  "openclawConfig": {
    "browser": {
      "headless": false
    }
  }
}

OpenRouter with Multiple Models

Use OpenRouter as a gateway to multiple AI providers:
{
  "openclawAgent": {
    "aiProvider": "openrouter",
    "aiApiKey": "sk-or-v1-...",
    "model": "anthropic/claude-3.5-sonnet",
    "channel": "telegram",
    "telegramBotToken": "..."
  }
}

Telegram Access Control

Restrict bot access to a specific user:
{
  "openclawAgent": {
    "aiProvider": "anthropic",
    "aiApiKey": "sk-ant-...",
    "model": "claude-3.5-sonnet-20241022",
    "channel": "telegram",
    "telegramBotToken": "...",
    "telegramAllowFrom": "@yourusername"
  }
}

Schema Reference

OpenClawConfigSchema: src/types/index.ts:134-150 OpenClawAgentConfigSchema: src/types/index.ts:155-164 Configuration Implementation: src/services/setup/index.ts:240-284

Build docs developers (and LLMs) love