Skip to content

Chrome extension stuck on "…" badge — gateway sends connect.challenge but extension has no handler #22553

@boxedagent-source

Description

@boxedagent-source

Summary

After installing the Chrome extension relay (v2026.2.19-2), clicking the extension icon leaves the badge stuck on "…" forever. The gateway sends a connect.challenge event after WebSocket handshake but the extension has no handler for it.

Steps to reproduce

  1. Run openclaw browser extension install and load unpacked in Chrome
    1. Set port (18792) and gateway token in extension Options page
    1. Confirm Options page shows green "Relay reachable and authenticated"
    1. Click extension icon on any Chrome tab
    1. Badge shows "…" and never changes to "ON"
      Root cause identified: Manually tested the WebSocket endpoint:
curl -i -N -H "Connection: Upgrade" -H "Upgrade: websocket" -H "Sec-WebSocket-Version: 13" -H "Sec-WebSocket-Key: dGhlIHNhbXBsZSBub25jZQ==" "http://127.0.0.1:18792/extension?token=<token>"

Gateway responds with:

{"type":"event","event":"connect.challenge","payload":{"nonce":"b08424c6-99f6-4a1a-afef-0dc44ac8cb84","ts":1771662593647}}

The extension background.js only handles ping and forwardCDPCommand — there is no connect.challenge handler. The relay waits for a challenge response that never arrives, so the connection never completes and the badge stays on "…".

Version: OpenClaw 2026.2.19-2 (45d9b20)
OS: macOS
Gateway port: 18792

Expected behavior

After clicking the extension icon on a Chrome tab, the badge should transition from "…" to "ON", indicating the extension is successfully attached and OpenClaw can control the tab.

Actual behavior

Badge stays on "…" forever. No errors in the extension service worker console. Gateway logs show no extension connection attempts. The relay is reachable (HTTP 200, WebSocket 101 upgrade succeeds) but after the gateway sends connect.challenge, the extension never responds and the connection hangs indefinitely.

OpenClaw version

2026.2.19-2 (45d9b20)

Operating system

macOS

Install method

npm global

Logs, screenshots, and evidence

Impact and severity

Affected: All users trying to use the Chrome extension relay
Severity: High — blocks the entire browser control feature via extension
Frequency: 100% repro on v2026.2.19-2
Consequence: Extension unusable; browser control only possible via separate Playwright-managed profile

Additional information

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingstaleMarked as stale due to inactivity

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions