#Trying to get browser/canvas tools working on a VPS install

1 messages · Page 1 of 1 (latest)

worldly creek
#

Hey! Trying to get browser/canvas tools working on a VPS install and the agent still doesn't have canvas capabilities after trying everything. Here's my full setup:

Version: OpenClaw 2026.2.21-2
Setup: Debian VPS, Chromium running headless, gateway via systemd

Config (~/.openclaw/openclaw.json browser section):

"browser": {
"enabled": true,
"cdpUrl": "http://127.0.0.1:9222",
"executablePath": "/usr/bin/chromium",
"headless": true,
"attachOnly": true,
"defaultProfile": "openclaw"
}Tools section:

"tools": {
"elevated": { "enabled": false }
}What's working:

• curl http://127.0.0.1:9222/json/version returns a valid response (Chrome/145.0)
• Gateway is healthy, RPC probe OK
• Logs show: browser/service: Browser control service ready (profiles=2)
• Canvas host mounted at http://127.0.0.1:18789/__openclaw__/canvas/

What's not working:

• Agent /status shows capabilities=inlineButtons — no browser/canvas listed
• Agent has no canvas tools available

Things already tried:

• Changed cdpUrl from 172.17.0.1 to 127.0.0.1
• Changed attachOnly from false to true
• Updated to latest version (2026.2.21-2)
• Multiple gateway restarts + /new sessions

Is there something in the config I'm missing to explicitly expose canvas tools to the agent? Does tools.canvas need to be set? Any help appreciated!

past breachBOT
#

/status showing capabilities=inlineButtons is Discord surface capability metadata, not a list of agent tools. So that line won’t ever tell you whether browser/canvas tools are enabled.

There’s also no tools.canvas config knob. browser + canvas are just core tools in group:ui, and they’re exposed (or not) purely by tool policy:

  • global: tools.profile, tools.allow, tools.deny, tools.byProvider
  • per-agent: agents.list[].tools.profile/allow/deny/byProvider

Docs (tool groups + profiles):
https://docs.openclaw.ai/tools
https://docs.openclaw.ai/gateway/configuration-reference#tools

The usual cause

Somewhere you (or onboarding) have a restrictive tool profile like coding or messaging, and group:ui isn’t added back in.

  • coding does not include browser/canvas by default
  • messaging does not include browser/canvas by default
  • minimal is basically just session_status
#

Fix is typically one of:

A) Set tools profile to full (global or per-agent)

{
  tools: { profile: "full" }
}

B) Keep your profile, but explicitly allow UI tools

{
  agents: {
    list: [
      {
        id: "main",
#
        tools: {
          profile: "coding",
          allow: ["group:ui"] // enables browser + canvas
        }
      }
    ]
  }
}

Two quick checks that catch 90% of “I edited config but nothing changed”

  1. Make sure the systemd service is reading the config file you edited:
openclaw gateway status

(look for “Config (service)” vs “Config (cli)” mismatches)