The CoderClaw Chrome extension lets the agent control your existing Chrome tabs (your normal Chrome window) instead of launching a separate coderclaw-managed Chrome profile.
Attach/detach happens via a single Chrome toolbar button.
There are three parts:
http://127.0.0.1:18792 by default)chrome.debugger and pipes CDP messages to the relayCoderClaw then controls the attached tab through the normal browser tool surface (selecting the right profile).
coderclaw browser extension install
coderclaw browser extension path
chrome://extensionsThe extension ships inside the CoderClaw release (npm package) as static files. There is no separate “build” step.
After upgrading CoderClaw:
coderclaw browser extension install to refresh the installed files under your CoderClaw state directory.chrome://extensions → click “Reload” on the extension.CoderClaw ships with a built-in browser profile named chrome that targets the extension relay on the default port.
Use it:
coderclaw browser --browser-profile chrome tabsbrowser with profile="chrome"If you want a different name or a different relay port, create your own profile:
coderclaw browser create-profile \
--name my-chrome \
--driver extension \
--cdp-url http://127.0.0.1:18792 \
--color "#00AA00"
ON when attached.ON: attached; CoderClaw can drive that tab.…: connecting to the local relay.!: relay not reachable (most common: browser relay server isn’t running on this machine).If you see !:
If the Gateway runs on the same machine as Chrome, it starts the browser control service on loopback and auto-starts the relay server. The extension talks to the local relay; the CLI/tool calls go to the Gateway.
If your Gateway runs on another machine, start a node host on the machine that runs Chrome. The Gateway will proxy browser actions to that node; the extension + relay stay local to the browser machine.
If multiple nodes are connected, pin one with gateway.nodes.browser.node or set gateway.nodes.browser.mode.
If your agent session is sandboxed (agents.defaults.sandbox.mode != "off"), the browser tool can be restricted:
target="sandbox"), not your host Chrome.Options:
{
agents: {
defaults: {
sandbox: {
browser: {
allowHostControl: true,
},
},
},
},
}
Then ensure the tool isn’t denied by tool policy, and (if needed) call browser with target="host".
Debugging: coderclaw sandbox explain
gateway.nodes.browser.mode="off").coderclaw browser extension path prints the installed on-disk directory containing the extension files.
The CLI intentionally does not print a node_modules path. Always run coderclaw browser extension install first to copy the extension to a stable location under your CoderClaw state directory.
If you move or delete that install directory, Chrome will mark the extension as broken until you reload it from a valid path.
This is powerful and risky. Treat it like giving the model “hands on your browser”.
chrome.debugger). When attached, the model can:
Recommendations:
0.0.0.0) and avoid Funnel (public).Related: