Installation
Install the plugin using the OpenClaw CLI:Auto-start behavior
By default, the Camofox server automatically starts when OpenClaw loads the plugin. This means:- No manual server management required
- Server launches in the background on port 9377
- Health checks confirm server readiness before tool calls
- Server persists across agent sessions
openclaw.json:
autoStart: false, you must manually start the server using CLI commands.
Available tools
The plugin registers 10 tools for browser automation. All tools use thecamofox_ prefix to distinguish them from built-in browser tools.
camofox_create_tab
Create a new browser tab with anti-detection fingerprinting. Returns atabId for subsequent operations.
Parameters:
url(string, required) - Initial URL to navigate to
{ "tabId": "abc123", "url": "...", "title": "..." }
camofox_snapshot
Get an accessibility snapshot of the page with element references (e1, e2, etc.) for interaction, plus an optional screenshot.
Parameters:
tabId(string, required) - Tab identifier from create_taboffset(number, optional) - Character offset for paginated snapshots. UsenextOffsetfrom a previous truncated response to see more content.
- Accessibility tree with clickable element refs
- Optional base64 PNG screenshot
- Pagination info if content is truncated (
hasMore,nextOffset)
hasMore in the response and call again with the nextOffset value to retrieve additional content.
camofox_click
Click an element by reference from a snapshot or CSS selector. Parameters:tabId(string, required) - Tab identifierref(string) - Element ref from snapshot (e.g.,e1)selector(string) - CSS selector (alternative to ref)
ref or selector, not both.
camofox_type
Type text into an input field or editable element. Parameters:tabId(string, required) - Tab identifiertext(string, required) - Text to typeref(string) - Element ref from snapshotselector(string) - CSS selector (alternative to ref)pressEnter(boolean) - Press Enter after typing
camofox_navigate
Navigate to a URL or use a search macro like@google_search.
Parameters:
tabId(string, required) - Tab identifierurl(string) - URL to navigate tomacro(string) - Search macro (e.g.,@google_search)query(string) - Search query when using a macro
@google_search@youtube_search@amazon_search@reddit_search@wikipedia_search@twitter_search@yelp_search@spotify_search@netflix_search@linkedin_search@instagram_search@tiktok_search@twitch_search
camofox_scroll
Scroll the page in a specified direction. Parameters:tabId(string, required) - Tab identifierdirection(string, required) - One of:up,down,left,rightamount(number) - Pixels to scroll (optional)
camofox_screenshot
Take a full-page screenshot. Parameters:tabId(string, required) - Tab identifier
camofox_close_tab
Close a browser tab and free resources. Parameters:tabId(string, required) - Tab identifier
camofox_list_tabs
List all open tabs for the current user. Parameters: None Returns: Array of tab objects withtabId, url, title, and userId
camofox_import_cookies
Import cookies from a Netscape-format cookie file. Use this to authenticate to sites like LinkedIn without interactive login. Parameters:cookiesPath(string, required) - Path to cookie file (relative to~/.camofox/cookies/)domainSuffix(string, optional) - Only import cookies matching this domain suffix
Export cookies from browser
Use a browser extension like “cookies.txt” to export Netscape-format cookies.
Configuration options
Configure the plugin inopenclaw.json:
Configuration reference
Server port. Change if 9377 conflicts with another service.
Auto-start server when plugin loads. Set to
false for manual control.Maximum concurrent browser sessions. Each user gets an isolated session with separate cookies and storage.
Maximum tabs per user session. Prevents resource exhaustion from runaway agents.
Session inactivity timeout in milliseconds. Sessions close after 10 minutes (600000ms) by default.
Kill the browser process after this many milliseconds with no active sessions. Set to
0 to keep the browser running indefinitely.Node.js V8 heap limit in megabytes. Increase if you see out-of-memory errors with many concurrent tabs.
Resource limits in context
The default limits are conservative for shared environments:- 5 sessions = 5 simultaneous users/agents
- 3 tabs per session = 15 total tabs maximum
- 10 min session timeout = automatic cleanup of idle agents
- 5 min idle shutdown = browser stops when not in use, restarts on next request
Health check registration
The plugin registers a health check foropenclaw doctor and openclaw status:
- ok - Server reachable and healthy
- warn - Server starting or temporarily unavailable
- error - Server not reachable (check if auto-start disabled)
CLI commands
The plugin adds theopenclaw camofox command with subcommands:
openclaw camofox status
Show server status and active tabs:openclaw camofox start
Manually start the server:autoStart: false in config.
openclaw camofox stop
Stop the managed server process:autoStart: true.
openclaw camofox tabs
List all active browser tabs:openclaw camofox configure
Display configuration help:openclaw.json snippets.
Agent workflow example
Here’s a typical agent workflow using Camofox tools:Get snapshot
Agent calls Receives accessibility tree with element refs:
camofox_snapshot to see the page content:Get updated snapshot
After navigation completes, agent calls
camofox_snapshot again to see search results with new refs.Extract information
Agent parses snapshot text to extract search results and clicks relevant links using new refs from the updated snapshot.
Troubleshooting
Plugin won’t start
Symptom: Health check shows “error” status- Check auto-start
- Check logs
- Verify installation
Verify If
autoStart is not disabled:autoStart: false, either change to true or manually start:Port conflicts
Symptom: “Address already in use” error on port 9377Server unreachable during tool calls
Symptom: Tool calls fail with connection errorsThe server may still be starting. Wait 15 seconds after OpenClaw launch before the first tool call.
Cookie import returns 403
Symptom:camofox_import_cookies fails with “Forbidden”
Cause: CAMOFOX_API_KEY is not set.
Solution:
Out of memory errors
Symptom: Server crashes with heap out of memory Solution: Increase Node.js heap limit:Disabling built-in browser tools
To use Camofox as the only browser tool in OpenClaw, disable the built-in browser:camofox_* tools. Useful when you need anti-detection for all browsing tasks.