Documentation Index
Fetch the complete documentation index at: https://mintlify.com/nullclaw/nullclaw/llms.txt
Use this file to discover all available pages before exploring further.
Browser Tools
NullClaw provides two browser tools for web interaction:browser— Multi-action browser tool (open, read, screenshot)browser_open— Allowlist-based URL opener
browser
A flexible browser tool supporting multiple actions:- open — Launch URL in system browser
- read — Fetch page content via curl
- screenshot — Redirects to dedicated screenshot tool
- click/type/scroll — Require CDP (not available)
Parameters
Browser action:
open, read, screenshot, click, type, or scrollURL to open or read (required for
open and read actions)CSS selector for click/type actions (not available)
Text to type (not available)
Configuration
Action: open
Launch a URL in the system’s default browser. Usage:| Platform | Command |
|---|---|
| macOS | open URL |
| Linux | xdg-open URL |
| Windows | cmd.exe /c start URL |
- Only
https://URLs accepted (nohttp://) - On Windows: blocks shell metacharacters (
;,|,&,%, etc.) to prevent command injection - On Unix: URL passed as separate argv element (safe from injection)
Action: read
Fetch page content via curl and return body text (truncated to 8 KB). Usage:-sS— Silent but show errors-L— Follow redirects-m 10— Timeout after 10 seconds--max-filesize 65536— Abort if body exceeds 64 KB
- Fetches up to 64 KB raw
- Returns up to 8 KB to LLM
- Appends
[Content truncated to 8 KB]if truncated
curlmust be installed and in PATH- Network access required
Action: screenshot
Redirects to the dedicatedscreenshot tool.
Usage:
Actions: click, type, scroll
These actions require Chrome DevTools Protocol (CDP), which is not available in NullClaw. Usage:browser_open
Open an allowlisted HTTPS URL in the default browser. Unlike thebrowser tool’s open action, browser_open enforces a domain allowlist configured at tool initialization.
Parameters
HTTPS URL to open in browser
Configuration
Usage
Allowed domain:github.com in allowlist → allowed
Blocked domain:
Domain Allowlist Rules
Exact match:example.comin allowlisthttps://example.com→ allowed
example.comin allowlisthttps://api.example.com→ allowedhttps://v2.api.example.com→ allowed
example.comin allowlisthttps://notexample.com→ blockedhttps://example.com.evil.com→ blocked
Security Blocklist
The following hosts are always blocked, even if in the allowlist:localhost*.localhost*.local127.*.*.*10.*.*.*192.168.*.*169.254.*.*(link-local)::1(IPv6 localhost)
Empty Allowlist
Ifallowed_domains is empty, all URLs are rejected:
Platform Support
Supported platforms:- macOS —
open URL - Linux —
xdg-open URL
- Windows — Returns error (Windows support not implemented for
browser_open)
Comparison: browser vs browser_open
| Feature | browser (open action) | browser_open |
|---|---|---|
| Domain allowlist | No | Yes (required) |
| Localhost blocking | No | Yes (always) |
| Configuration | None | allowed_domains required |
| Platform support | macOS, Linux, Windows | macOS, Linux only |
| Use case | General browsing | Restricted browsing |
browser:
- Interactive agent browsing
- User-requested URLs
- Trusted environment
browser_open:
- Production deployments
- Multi-tenant agents
- Restricted URL access
URL Security
HTTPS-Only
Both tools rejecthttp:// URLs:
Shell Injection Prevention (Windows)
On Windows, thebrowser tool blocks shell metacharacters in URLs:
Blocked characters:
&— Command chaining|— Piping;— Command separator"'— Quote injection<>— Redirection`— Backtick execution()— Subshell^— Escape character%— Variable expansion!— History expansion\n\r— Newlines
On Unix systems (macOS, Linux), the URL is passed as a separate argv element to
open/xdg-open, so query parameters like ?a=1&b=2 are safe.
Use Cases
Open Documentation
Fetch API Status
Restricted GitHub Access
Fetch HTML Content
Source
browser—src/tools/browser.zig:16-150browser_open—src/tools/browser_open.zig:12-89
Testing
Run browser tool tests:- Open action (test mode skips actual spawn)
- Read action (requires curl)
- URL validation (HTTPS-only)
- Domain allowlist matching
- Localhost blocking
- Shell injection prevention (Windows)
- Error cases