#I'm trying to get browser services up and this is the error I'm getting

1 messages · Page 1 of 1 (latest)

runic vector
#

ou're right, I apologize for the confusion. The browser issue is still unresolved:

The problem: Browser service is running on port 18791, but the browser tool is configured to connect to 18800 — that's a config mismatch in OpenClaw itself.

Your options:

Use the Control UI browser directly — The browser should work from the Control UI dashboard itself at http://192.168.50.189:18789
Wait for a fix — This looks like an OpenClaw bug that needs a patch
Try restarting — If you restart the gateway from the Control UI (not via me), it might resync
The browser feature works in the Control UI - it's just the agent tool that's hitting the wrong port.

runic ridgeBOT
#

To help others find answers, you can mark your question as solved via Right click solution message -> Apps -> âś… Mark Solution

quaint timberBOT
#

18791 vs 18800 usually isn’t a mismatch/bug — it’s two different things:

  • 18789 = Gateway HTTP/WebSocket port (what the Control UI hits)
  • 18791 = browser control service port (derived: gateway.port + 2, loopback-only)
  • 18800 = the Chrome CDP port for the managed openclaw browser profile (the actual browser debugging endpoint)

So seeing logs that mention 18800 typically means: “Gateway/browser-control is trying to attach to the browser’s CDP”, not “the tool is configured to hit the wrong control port”.

To debug what’s actually failing, can you paste:

  1. openclaw --version
  2. openclaw config get gateway.port
  3. openclaw browser status
  4. openclaw browser profiles

If the failure is “can’t connect to 18800”, common causes are:

  • something else already bound to 18800, or
runic vector
#

openclaw --version
2026.3.2
pika@ironclaw:~$ openclaw config get gateway.port

🦞 OpenClaw 2026.3.2 (85377a2) — Making 'I'll automate that later' happen now.

18789
pika@ironclaw:~$ openclaw browser status

🦞 OpenClaw 2026.3.2 (85377a2) — Your .env is showing; don't worry, I'll pretend I didn't see it.

│
â—‡
profile: openclaw
enabled: true
running: false
cdpPort: 18800
cdpUrl: http://127.0.0.1:18800
browser: unknown
detectedBrowser: chromium
detectedPath: /usr/bin/chromium-browser
profileColor: #FF4500
pika@ironclaw:~$ openclaw browser profiles

🦞 OpenClaw 2026.3.2 (85377a2) — WhatsApp automation without the "please accept our new privacy policy".

│
â—‡
openclaw: stopped [default]
port: 18800, color: #FF4500
chrome: running (0 tabs)
port: 18792, color: #00AA00

quaint timberBOT
#

That output clears it up: there’s no “18791 vs 18800 mismatch” here — your managed browser profile just isn’t running.

From your commands:

  • gateway.port = 18789 (good)
  • profile: openclaw … running: false … cdpPort: 18800
    → nothing is listening on 127.0.0.1:18800 because the openclaw-managed Chromium isn’t started.
  • chrome: running (0 tabs) port: 18792
    → the extension relay service is up, but no Chrome tab is attached, so profile="chrome" won’t work yet either.

Option A (recommended on a server): start the managed openclaw browser

Run:

openclaw browser start --browser-profile openclaw
openclaw browser status
#

If it fails, immediately run:

openclaw logs --follow

…and paste the error. On headless Linux boxes, the usual fix is enabling headless:

openclaw config set browser.headless true
openclaw gateway restart
openclaw browser start --browser-profile openclaw

Option B: use the chrome extension relay profile

Right now it says “0 tabs”, which means you need to attach a tab in your desktop Chrome/Brave using the OpenClaw Browser Relay extension (badge ON). After that, tools/agent calls must use profile="chrome".

#

If you paste the openclaw browser start --browser-profile openclaw failure log (if any), I can tell you exactly which of the common Linux issues you’re hitting (display/headless, sandbox, missing deps, etc.).

runic vector
#

what do I fill in for --browser--

quaint timberBOT
#

--browser-profile should be the profile name from your openclaw browser profiles output.

In your case you have:

  • openclaw (managed browser, currently stopped)
  • chrome (extension relay, currently running but 0 tabs attached)

So use one of these:

# managed browser (recommended for headless/server)
openclaw browser start --browser-profile openclaw

# extension relay (only works after you attach a tab in the browser extension)
openclaw browser status --browser-profile chrome
#

If you’re trying to get the agent/browser tool working on that Linux box, start with --browser-profile openclaw. If it errors, paste the log output and we’ll fix the specific cause (often headless/display).

runic vector
#

openclaw browser start --browser-- profile openclaw
error: unknown option '--browser--'

quaint timberBOT
#

Yeah that’s just a typo/flag name issue.

The flag is one word:

openclaw browser start --browser-profile openclaw

Not --browser-- profile.

If you want to double-check flags on your install:

openclaw browser start --help

Run the correct start command and if it fails, paste the error + the first few related lines from:

#
openclaw logs --follow
runic vector
#

openclaw gateway restart

🦞 OpenClaw 2026.3.2 (85377a2) — I'm not magic—I'm just extremely persistent with retries and coping strategies.

Restarted systemd service: openclaw-gateway.service
pika@ironclaw:~$ openclaw browser start --browser-- profile openclaw
error: unknown option '--browser--'
pika@ironclaw:~$ ^C
pika@ironclaw:~$ openclaw browser start --browser-profile openclaw

🦞 OpenClaw 2026.3.2 (85377a2) — I don't have opinions about tabs vs spaces. I have opinions about everything else.

│
â—‡
Error: Error: Failed to start Chrome CDP on port 18800 for profile "openclaw".
Hint: If running in a container or as root, try setting browser.noSandbox: true in config.
Chrome stderr:
[105626:105626:0305/203146.084080:ERROR:chrome/browser/process_singleton_posix.cc:345] Failed to create /home/pika/.openclaw/browser/openclaw/user-data/SingletonLock: Permission denied (13)
[105626:105626:0305/203146.084253:ERROR:chrome/app/chrome_main_delegate.cc:513] Failed to create a ProcessSingleton for your profile directory. This means that running multiple instances would start multiple browser processes rather than opening a new window in the existing process. Aborting now to avoid profile corruption.

quaint timberBOT
#

That’s not a port/config mismatch — it’s a filesystem permissions issue on the browser profile dir.

The key line is:

Failed to create .../user-data/SingletonLock: Permission denied
→ Chromium can’t write into ~/.openclaw/browser/openclaw/user-data, so it aborts to avoid corrupting the profile.

1) Check who owns that directory

Run:

ls -ld ~/.openclaw/browser/openclaw/user-data
ls -la ~/.openclaw/browser/openclaw/user-data | head

2) Fix it (pick one)

#

Option A (keep the profile, just fix ownership):

sudo chown -R $USER:$USER ~/.openclaw/browser/openclaw/user-data

Option B (nuke the profile safely by moving it aside):

mv ~/.openclaw/browser/openclaw/user-data ~/.openclaw/browser/openclaw/user-data.bak

Then try again:

openclaw browser start --browser-profile openclaw
openclaw browser status
runic vector
#

openclaw browser start --browser-profile openclaw

🦞 OpenClaw 2026.3.2 (85377a2) — It's not "failing," it's "discovering new ways to configure the same thing wrong."

│
â—‡
Error: Error: Failed to start Chrome CDP on port 18800 for profile "openclaw".
Hint: If running in a container or as root, try setting browser.noSandbox: true in config.
Chrome stderr:
[106111:106111:0305/203549.779002:ERROR:chrome/browser/process_singleton_posix.cc:345] Failed to create /home/pika/.openclaw/browser/openclaw/user-data/SingletonLock: Permission denied (13)
[106111:106111:0305/203549.779202:ERROR:chrome/app/chrome_main_delegate.cc:513] Failed to create a ProcessSingleton for your profile directory. This means that running multiple instances would start multiple browser processes rather than opening a new window in the existing process. Aborting now to avoid profile corruption.

quaint timberBOT
#

The error is still exactly the same, so the fix is still the same: Chromium cannot write to that profile directory.

browser.noSandbox will not help here — the problem is:

Permission denied creating:
/home/pika/.openclaw/browser/openclaw/user-data/SingletonLock

Do this first: show ownership/perms

ls -ld /home/pika/.openclaw \
       /home/pika/.openclaw/browser \
       /home/pika/.openclaw/browser/openclaw \
       /home/pika/.openclaw/browser/openclaw/user-data

Then fix ownership (most common cause: you ran something once with sudo)

#
sudo chown -R pika:pika /home/pika/.openclaw/browser/openclaw
# (or even: sudo chown -R pika:pika /home/pika/.openclaw )

Then retry:

openclaw browser start --browser-profile openclaw

If you don’t have sudo, paste the ls -ld ... output — we’ll need to either (a) run the gateway/browser under the user that owns that directory, or (b) have whoever has root fix the ownership once.

runic vector
#

drwx------ 15 pika pika 4096 Mar 5 20:34 /home/pika/.openclaw
drwxrwxr-x 3 pika pika 4096 Mar 5 04:30 /home/pika/.openclaw/browser
drwxrwxr-x 3 pika pika 4096 Mar 5 04:30 /home/pika/.openclaw/browser/openclaw
drwxrwxr-x 3 pika pika 4096 Mar 5 04:30 /home/pika/.openclaw/browser/openclaw/user-data

quaint timberBOT
#

Those perms/ownership look totally fine — so the “permission denied” is almost certainly not normal Unix file permissions.

Next quick check: can you create a file there as pika?

touch /home/pika/.openclaw/browser/openclaw/user-data/krill_test
rm /home/pika/.openclaw/browser/openclaw/user-data/krill_test
ls -la /home/pika/.openclaw/browser/openclaw/user-data | grep Singleton || true
  • If the touch works but Chromium still can’t create SingletonLock, that strongly points to Snap/AppArmor-constrained Chromium (very common on Ubuntu when chromium-browser is a snap wrapper), or another sandbox policy blocking Chromium from writing there.

In that case the pragmatic fix is: use a non-snap browser binary (recommended: Google Chrome) and point OpenClaw at it:

  1. Check if you’re on snap chromium:
#
readlink -f "$(which chromium-browser)"
snap list | grep chromium || true
  1. Install Chrome + set executablePath:
openclaw config set browser.executablePath /usr/bin/google-chrome-stable
openclaw config set browser.headless true   # if this is a server/no GUI
openclaw gateway restart
openclaw browser start --browser-profile openclaw

Paste the output of the touch test + the readlink/snap check and I’ll tell you which branch you’re on.

runic vector
#

chromium 145.0.7632.116 3375 latest/stable canonical** -

quaint timberBOT
#

Yep — that confirms it. You’re using Snap Chromium (canonical**), and that’s the reason you’re getting the weird “Permission denied” on SingletonLock even though the directory perms look correct. It’s Snap/AppArmor confinement, not Unix ownership.

Fix (recommended): install a non-snap Chrome/Brave and point OpenClaw at it

1) Install Google Chrome (deb):

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i google-chrome-stable_current_amd64.deb
sudo apt --fix-broken install -y

2) Tell OpenClaw to use it (and run headless if this is a server):

openclaw config set browser.executablePath /usr/bin/google-chrome-stable
openclaw config set browser.headless true   # if you don’t have a GUI
# optional (only if you still hit sandbox errors):
#
# openclaw config set browser.noSandbox true

openclaw gateway restart
openclaw browser start --browser-profile openclaw
openclaw browser status

Docs: https://docs.openclaw.ai/tools/browser-linux-troubleshooting

Alternative (no server browser): use the chrome relay profile

If you don’t actually want a browser running on the Linux box, you can use the chrome profile — but you must attach a tab via the Browser Relay extension (right now it says 0 tabs).

If you run the Chrome install path above and browser start still errors, paste the new stderr (it should change from the SingletonLock error).

runic vector
#

openclaw browser start --browser-profile openclaw

🦞 OpenClaw 2026.3.2 (85377a2) — Your .zshrc wishes it could do what I do.

│
â—‡
Error: Error: browser.executablePath not found: /usr/bin/google-chrome-stable

quaint timberBOT
#

That just means Chrome isn’t actually installed on that box (or the binary name/path is different).

1) Find what you actually have

Run:

command -v google-chrome-stable || true
command -v google-chrome || true
ls -la /usr/bin/google-chrome* 2>/dev/null || true
dpkg -l | grep -i chrome || true

2) Set browser.executablePath to the path that exists

Common paths:

  • /usr/bin/google-chrome (often the one that exists)
  • /usr/bin/google-chrome-stable (exists if the deb installed properly)
#
  • /usr/bin/brave-browser (if you install Brave)

Example:

openclaw config set browser.executablePath "/usr/bin/google-chrome"
openclaw gateway restart
openclaw browser start --browser-profile openclaw

If Chrome really isn’t installed yet

Re-run the install (from the Linux troubleshooting doc):

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i google-chrome-stable_current_amd64.deb
#
sudo apt --fix-broken install -y

Paste the command -v ... output and I’ll tell you the exact executablePath to use.

runic vector
#

openclaw browser start --browser-profile openclaw

🦞 OpenClaw 2026.3.2 (85377a2) — I'm the assistant your terminal demanded, not the one your sleep schedule requested.

│
â—‡
Error: Error: browser.executablePath not found: /usr/bin/google-chrome

quaint timberBOT
#

That error means Google Chrome is not installed on that machine (or you’re on an architecture where the Chrome .deb doesn’t exist).

Two quick questions to decide the right path:

uname -m
dpkg --print-architecture
command -v google-chrome-stable google-chrome || true

If it’s x86_64 / amd64

Install Chrome, then set the path that actually exists:

wget https://dl.google.com/linux/direct/google-chrome-stable_current_amd64.deb
sudo dpkg -i google-chrome-stable_current_amd64.deb
#
sudo apt --fix-broken install -y

command -v google-chrome-stable  # use whatever this prints

Then:

openclaw config set browser.executablePath "$(command -v google-chrome-stable)"
openclaw gateway restart
openclaw browser start --browser-profile openclaw

If it’s arm64 / aarch64

Chrome stable won’t install there. Easiest options are:

  • Use the chrome relay profile (attach a tab via the Browser Relay extension; no server-side browser needed), or