Common Issues
Browser Launch Failures
”Daemon not found” error
This typically occurs when the daemon cannot start or the socket path is unreachable. Solutions:-
Clean up stale daemon files:
-
Check socket path length (common on macOS):
-
Verify write permissions:
Browser fails to launch with custom executablePath
When using a custom Chromium binary (e.g., for serverless deployment), ensure the path is valid and the binary is executable:Timeout Errors
Default timeout issues
The default Playwright timeout is 25 seconds. This is intentionally below the CLI’s 30-second IPC read timeout to ensure proper error messages. For slow pages or operations:IPC EAGAIN errors (os error 35/11)
These errors indicate the daemon is taking too long to respond. Recent versions include automatic retry logic and backpressure-aware socket writes. Solutions:-
Update to the latest version:
-
Use explicit waits instead of letting operations time out:
-
Lower the default timeout if you’re running many operations:
Session and State Issues
Stale refs after page navigation
Refs (@e1, @e2, etc.) are invalidated when the page changes. Always re-snapshot after navigation:
- Clicking links or buttons that navigate
- Form submissions
- Dynamic content loading (dropdowns, modals)
Session conflicts with concurrent agents
Always use named sessions when running multiple automations:State load failures
If state loading fails, ensure:-
The browser is running:
-
The state file is valid:
-
Encryption key matches (if state is encrypted):
Network and Certificate Issues
HTTPS certificate errors
For development environments with self-signed certificates:Proxy SSL inspection issues
Some corporate proxies perform SSL inspection. Combine proxy settings with certificate error ignoring:Connection resets and broken pipes
The CLI includes automatic retry logic for transient errors like connection resets, broken pipes, and temporary resource unavailability. If you still see these errors:- Check network stability
- Restart the daemon:
Platform-Specific Issues
Linux: Missing system dependencies
On Linux, Chromium requires system dependencies:macOS: Binary permission issues
If postinstall scripts don’t run (e.g., when using bun), the native binary may not be executable:Windows: CMD wrapper issues
Older versions had issues with the Windows CMD wrapper routing through Node.js. Update to the latest version:JavaScript Evaluation Issues
Shell quoting corruption
Complex JavaScript expressions can be corrupted by shell quoting. Use--stdin or -b to avoid issues:
Recommended approach with heredoc:
Performance Issues
Slow command execution with npx
npx routes through Node.js before reaching the Rust CLI, adding overhead. For regular use, install globally:
Large snapshots causing slowdowns
Filter snapshots to reduce output size:iOS Simulator Issues
Appium connection failures
Ensure Appium and XCUITest driver are installed:Simulator boot timeout
First launch takes 30-60 seconds. Subsequent commands are fast. If boot consistently times out:-
Manually boot simulator and verify it works:
-
Check available devices:
Real device WebDriverAgent signing issues
For real iOS devices, WebDriverAgent must be code-signed:-
Open WebDriverAgent project:
-
In Xcode:
- Select
WebDriverAgentRunnertarget - Go to Signing & Capabilities
- Select your Team (free Apple Developer account works)
- Let Xcode manage signing automatically
- Select
Getting Help
Enable debug output
Check browser console for errors
Report issues
If you encounter a bug, report it at: https://github.com/vercel-labs/agent-browser/issues Include:- Agent Browser version:
agent-browser --version - Platform and OS version
- Full error message
- Steps to reproduce
- Debug output if available