Automation & Ops browser-automationanti-detectfingerprint-spoofingweb-scrapingplaywrightaccessibility-treesession-isolationcookie-management

Camoufox CLI

Anti-detect browser automation with persistent identities for shell-capable AI agents.

FollowAgents review · FARS-2.1
Use with care
60/ 100 5-point scale 3.0 / 5
1 2 3 4 5 6
Per-dimension scores and reasoning
1Trust11 / 29 · 1.9/5

The evidence clearly describes the daemon, Unix socket, sessions, tabs, cookie import/export, persistent identities, proxies, local files, upstream Camoufox attribution, and authorship. Deductions apply because the tool can navigate, click, fill forms, execute arbitrary page JavaScript, read or write cookies, save screenshots, and access networks through proxies without confirmations, domain restrictions, or privilege tiers. Proxy credentials may appear in plaintext command lines and configuration, with no documented permission or redaction controls for configuration, cookies, profiles, or sockets. Only coupled dependencies are exactly pinned; Pillow and development dependencies are not fully locked, and browser acquisition can fall back to scraping release pages without documented checksums, signatures, audits, or vulnerability response. Closing sessions and manually deleting profiles provide limited recovery, but remote web actions are generally irreversible. No concrete malware, credential theft, covert exfiltration, or other red-line evidence is present.

2Reliability9 / 14 · 3.2/5

The README, package metadata, and tests are broadly consistent about core commands, configuration precedence, session isolation, tab state, and error paths. There are targeted tests for concurrent recovery and the last-tab-close race. Deductions reflect the absence of implementation files, recorded test results, and end-to-end evidence, plus the README command catalog omitting the tested pdf command. Installation requirements, tightly coupled dependency pins, and the GitHub rate-limit fallback are documented, but browser releases, system packages, and dual npm/pip distribution chains remain availability dependencies. Missing arguments, unknown actions, an unlaunched browser, and malformed configuration have error or warning evidence, although not every failure branch asserts a specific actionable message.

3Adaptability14 / 18 · 3.9/5

The intended audiences and scenarios are thoroughly described for AI agents and developers, including browsing, extraction, parallel tabs, multiple identities, and multi-account isolation, so audience and scenarios receive full credit. Commands, flags, configuration precedence, and persistent versus per-launch state are reasonably bounded, but acceptable-use, site-policy, dangerous-action, and anti-detection boundaries are not documented. CLI triggers are precise and parameter validation is tested; however, the actual Agent Skill files are absent, preventing a complete assessment of natural-language activation and false-trigger avoidance. npm, pipx, Linux dependencies, minimum Node/Python versions, and configuration paths are covered, while macOS, Windows, containers, permissions, and parity between distributions are not comprehensively addressed.

4Convention12 / 18 · 3.3/5

The README has strong information architecture and complete installation, quick-start, command, configuration, persistence, and architecture sections, earning full installation credit. Naming is mostly stable and many commands are tested, but pdf is absent from the README and no Node/Python release-synchronization mechanism is shown. Examples are extensive, though there is no dedicated FAQ or systematic troubleshooting guide. GitHub rate limits, shared-browser queueing, unenforced tab-name uniqueness, and Alpha status are disclosed, but anti-detection limitations, compatibility risks, and legal or site-terms concerns are not consolidated. The MIT license is consistent across README, metadata, and the complete LICENSE, justifying full marks. Version 0.7.3 and Alpha status are present, but there is no changelog or upgrade policy. An author and issue tracker are identifiable, yet publisher identity is unverified and no maintenance policy, support commitment, or security-reporting route is supplied.

5Effectiveness10 / 13 · 3.8/5

Accessibility snapshots, stable references, JSON output, text, screenshots, PDF, cookies, and tab/session results are designed for direct shell and agent consumption, justifying full output-usability credit. Camoufox integration, persistent fingerprints, and parallel isolation offer clear incremental value over a basic browser CLI. The central claims of no detectable Playwright leakage and effective anti-detection lack static comparative evidence, detection results, or included implementation support, so marginal value is not fully demonstrated. Installation is concise and daemon/browser sharing can reduce repeated work, but browser downloads, system dependencies, proxy management, persistent state, and operational or compliance burdens keep cost-benefit below comprehensive treatment.

6Verifiability4 / 8 · 2.5/5

Command behavior, defaults, configuration precedence, errors, and concurrency semantics are traceable across documentation, metadata, and multiple test files. Deductions apply because fingerprint spoofing, GeoIP behavior, persistent identity implementation, and the claim of no bot-detectable Playwright leaks lack corresponding implementation files, focused tests, or measured results in the supplied evidence. The supplied sources partially corroborate version, license, commands, and configuration, but all originate from the same repository and include neither execution records nor independent corroboration. Documentation does not clearly distinguish tested facts, intended design, and marketing-level effectiveness claims, so fact/inference separation is weak.

Evidence confidence: Low Reviewed Sep 11, 2026 Reviewed revision 4d86686d8034
Safety controls not found in source: confirmation before acting
Before you use it
  • Proxy URLs may contain usernames and passwords; avoid placing them directly in command lines visible to process listings, shell history, logs, or agent transcripts unless that exposure has been assessed.
  • Cookies, persistent browser profiles, and screenshots can contain authenticated state, personal data, or confidential page content; the supplied source does not document encryption, permission hardening, redaction, or secure deletion.
  • The click, fill, press, eval, and cookie-import operations can cause real external effects, while no pre-submit confirmation, domain allowlist, or transactional rollback is shown.
  • The anti-detection and no-Playwright-leaks statements are not demonstrated by the supplied implementation or tests and should not be treated as guarantees against detection.
  • Browser installation depends on GitHub release assets and may fall back to page scraping; controlled environments should independently pin artifacts and verify provenance and integrity.
  • Tabs share fingerprints, cookies, and login state, while unique names are not enforced; concurrent agents can accidentally mix identities or interfere with state.
  • Before using fingerprint spoofing, multi-account isolation, or automated interaction, independently verify authorization, target-site terms, and applicable law.
Review evidence [1][2][3][4][5][6]
See the full review method →

What does this agent do, and when should you use it?

Camoufox CLI provides a browser automation CLI and agent skills for AI systems or people that can execute shell commands. Its command-line client sends JSON commands over a Unix socket to a long-running Python daemon, which controls the Firefox-based Camoufox browser through Playwright. It navigates pages, manipulates elements, extracts text, evaluates JavaScript, manages cookies, and produces accessibility-tree snapshots or screenshots. Camoufox handles canvas, WebGL, audio, screen, and font fingerprint spoofing at the C++ level rather than relying on ordinary Playwright-side patches. The deployment boundary is the user's command-line environment and locally running browser processes, with profiles, configuration, cookies, and screenshots stored on the local filesystem. It fits automation that needs stable or isolated browser identities, provided the team accepts its browser, runtime, network, and process-management dependencies.

When a user or agent invokes camoufox-cli, the CLI sends JSON commands through a Unix socket to an auto-started Python daemon. The daemon uses Playwright to manage Camoufox and preserves the element ref registry between commands. open, back, forward, reload, url, and title navigate or inspect the current page; snapshot emits an accessibility tree with @ref identifiers that can be passed to click, fill, type, select, check, hover, and press. text, eval, and screenshot return page text, JavaScript results, and image output, while cookies import, cookies export, tabs, switch, and sessions manage browser state and isolation. Named tabs share one browser fingerprint, cookie jar, and login state but retain separate pages, refs, and histories; named sessions use independent processes with separate random fingerprints and cookies. With --persistent, the CLI writes camoufox-cli.json beside the browser data and retains the fingerprint, OS, noise seeds, locale, and relevant location settings.

  1. An automation engineer using Codex or Claude Code needs to browse sites from shell commands and target interactive controls through stable @ref identifiers.
  2. A web-data collection team wants Camoufox spoofing for canvas, WebGL, audio, fonts, and screen metrics instead of ordinary browser-automation fingerprints.
  3. A multi-account operator needs separate sessions, persistent profiles, and per-session proxies to isolate cookies, fingerprints, and browser processes.
  4. Several concurrent agent tasks need separate named tabs while sharing one authenticated browser identity and cookie jar.
  5. A user needs to retain login state between automation runs through persistent profiles and cookie import or export.
  6. A test or operations workflow needs command-line page text extraction, JavaScript evaluation, element or URL waits, and screenshot capture.

What are this agent's strengths and limitations?

Pros
  • Camoufox implements C++-level spoofing for canvas, WebGL, audio, screen metrics, and fonts rather than relying solely on page-level injection.
  • Accessibility snapshots expose concise @ref targets, allowing agents to locate and operate controls through shell commands without generating browser-control code.
  • It offers two concurrency models: named tabs that cheaply share an identity and login, and named sessions with separate processes, fingerprints, and cookies.
  • --persistent freezes the fingerprint, OS, and noise seeds while retaining browser data, allowing the same profile path to appear as the same device across launches.
  • Both npm and pipx installation paths are documented, and the project explicitly lists Codex, Claude Code, Cursor, OpenClaw, and other shell-capable agents.
Limitations
  • The execution chain depends on a Python daemon, Playwright, and the Camoufox browser; npm users also need Node.js 20.10+, and Linux may require additional system packages.
  • The browser download depends on GitHub Releases. Anonymous GitHub API limits can be exhausted on shared servers or CI, and the documented fallback still requires access to GitHub release pages.
  • Named tabs inside one session share a browser process, so a slow command can queue work from other tabs; stronger parallel isolation consumes additional sessions and processes.
  • Persistent profiles do not store --proxy or --no-geoip; operators must supply those launch-specific options whenever they are required.
  • Tab-name uniqueness is left to each agent, with no enforcement to prevent collisions.
  • Configuration changes do not affect an already-running session until that session is closed and its daemon is launched again.

How do you install or deploy this agent?

For npm, Node.js 20.10 or later is required:

npm install -g camoufox-cli
camoufox-cli install

Alternatively, install through Python's pipx:

pipx install camoufox-cli
camoufox-cli install

On Linux, the installer can add system dependencies:

camoufox-cli install --with-deps

To add the packaged skills for tools such as Claude Code, Cursor, and Codex, run:

npx skills add Bin-Huang/camoufox-cli

The browser is downloaded from GitHub Releases, so initial installation requires network access. Basic browsing does not document any required credential; protected sites and authenticated proxies still require their respective login or proxy credentials.

How do you use this agent?

A minimal working sequence is:

camoufox-cli open https://example.com
camoufox-cli snapshot -i
camoufox-cli click @e1
camoufox-cli close

snapshot -i lists interactive elements only; use the actual ref returned in its output, such as @e1, in later commands. For a persistent identity, run:

camoufox-cli --persistent ~/.camoufox-cli/profiles/alice open https://example.com

For an isolated identity, use a named session and repeat the proxy on every launch:

camoufox-cli --session a --persistent ~/.camoufox-cli/profiles/alice --proxy http://user:pass@host:port open https://example.com

Defaults can be stored in ~/.camoufox-cli/config.json, or another path selected through $CAMOUFOX_CLI_CONFIG. A session reads configuration when its daemon first starts; close an already-running session before expecting configuration changes to apply.

FAQ

Does it require a paid service or API key?
The repository is MIT-licensed, and its basic installation and browsing commands do not document an API-key requirement. Credentials are still needed for protected websites or authenticated proxies; proxy pricing is not specified.
What is the difference between a named tab and a session?
Named tabs in one session share a browser process, fingerprint, cookies, and login state while keeping separate pages, refs, and histories. Named sessions run separate browser processes and receive independent random fingerprints and cookies.
What does a persistent identity retain?
The first-launch fingerprint, OS, and canvas or font noise seeds are frozen. Locale and proxy-derived timezone or geolocation can be refreshed. The proxy address and --no-geoip setting are per-launch options and are not retained.
Why did a configuration change not take effect?
A session reads its configuration when the daemon first launches. Close the running session with camoufox-cli --session <name> close before restarting it. A broken configuration is ignored with a warning on stderr.
Can several agents share one authenticated browser?
Yes. Unique named tabs can share a session's fingerprint, cookies, and login state while maintaining their own pages and refs. Because they share one browser process, commands may queue behind a slow tab operation.

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents