Browser Use Box
A 24/7 Claude Code agent with a persistent Chromium session, installed on any Ubuntu box you own and driven from Telegram or a web terminal.
- Source repo
- browser-use/bux
- Stars
- ★ 459
- Last updated
- 6d ago
- License
- MIT
- Primary language
- Python
- FA score
- 34/100 · Major gaps
At a glance
- Works with
- Platform-specificClaude Code · Claude APIChatGPT (Unsupported)
- You'll need
- Typical use
- A sales or support team that wants to text a persistent operator on Telegram to sign into dashboards, fill forms, and scrape pages without opening a laptop.
- Main limitation
- Core browser capability depends on Browser Use Cloud and a valid API key; you cannot run the browser automation without that service.
- Source review
- 34/100 · Major gaps 2 safety controls not found
What does this agent do, and when should you use it?
Browser Use Box is an install script plus three systemd services that place Claude Code, a real Chromium session, and a chat entry point on a machine you control. You run a curl-piped install.sh with a BROWSER_USE_API_KEY on Ubuntu 22.04+ (≥2GB RAM; a $5 VPS qualifies), and optionally pass a Telegram bot token. The browser side runs through browser-harness over CDP-on-wss against Browser Use Cloud, so cookies and logins persist between runs. Commands arrive either from telegram_bot.py or from a localhost-bound ttyd web terminal and are executed by claude -p, with agent state living in /home/bux so reboots keep cookies, skills, and chat history. When Claude hits a login wall, 2FA, or CAPTCHA, it hands back a live view URL and waits rather than stuffing credentials.
install.sh provisions three systemd units: telegram_bot.py (Telegram ingress), ttyd (a web terminal bound to localhost), and bux-browser-keeper (keeps the browser session alive). Both input paths funnel into claude -p, which drives a browser through browser-harness using CDP over wss to Browser Use Cloud. Persistent state sits in /home/bux, and agent/CLAUDE.md is loaded as context on every session — it defines working-directory layout, skill policies, and allowed tools; re-running the idempotent installer lets the next Claude turn pick up edits. On login walls, 2FA, or CAPTCHA, the agent emits a live view URL and pauses for a human to take over.
- A sales or support team that wants to text a persistent operator on Telegram to sign into dashboards, fill forms, and scrape pages without opening a laptop.
- An automation engineer running round-the-clock Playwright-style browser jobs on a cheap Hetzner or DigitalOcean VPS while keeping long-lived login state.
- A solo developer using a Mac mini or Raspberry Pi at home as the host, connecting remotely through the localhost web terminal when needed.
- Workflows that require human takeover — CAPTCHA or two-factor steps — where you want the agent to pause and hand over a live view URL instead of working around it.
- Teams that want to treat agent/CLAUDE.md as a versioned behavior config, customizing tool allowlists and working-directory conventions per project.
How do you install or deploy this agent?
Requirements: an Ubuntu 22.04+ box (≥2GB RAM; a $5 VPS works), a Browser Use Cloud API key, and an Anthropic API key or Claude Max subscription; Telegram is optional.
Run the one-line installer on the target box (needs sudo):
curl -fsSL https://raw.githubusercontent.com/browser-use/bux/main/install.sh \
| sudo BROWSER_USE_API_KEY=bu_xxx bashTo enable the Telegram bot, also pass a token from @BotFather:
curl -fsSL https://raw.githubusercontent.com/browser-use/bux/main/install.sh \
| sudo BROWSER_USE_API_KEY=bu_xxx TG_BOT_TOKEN=xxx bashAfter installation, check the services and complete the Claude login as the bux user:
systemctl is-active bux-browser-keeper bux-ttyd
sudo -iu bux
claude /loginFull installation and troubleshooting steps are documented in install.md in the repository.
How do you use this agent?
Once logged in, verify the setup by asking Claude to visit a page and report its title:
claude "visit https://browser-use.com and report the page title"Alternatively, paste a setup prompt into Claude Code on your laptop and let it SSH into the remote box to run the install, verify services, and drive the /login flow:
Set up https://github.com/browser-use/bux on my remote box.
SSH into it (I'll paste the host below), run install.sh with my BROWSER_USE_API_KEY, and optionally wire up a Telegram bot if I give you a token from @BotFather. Read install.md first. After the install completes, verify the services are running (systemctl is-active bux-browser-keeper bux-ttyd), then become the `bux` user and run `claude /login` so I can complete the OAuth flow. Once logged in, test the setup by asking claude to visit https://browser-use.com and report the page title.To customize behavior, edit agent/CLAUDE.md (working-directory layout, skill policies, allowed tools) and re-run install.sh — it is idempotent and the next Claude turn picks up the change. Day-to-day you interact through the Telegram bot or the localhost-bound ttyd web terminal.
What are this agent's strengths and limitations?
- State persists in /home/bux, so cookies, logins, skills, and chat history survive reboots — suited to long-running duties.
- Browser sessions go through browser-harness to Browser Use Cloud, gaining its free-tier 3 concurrent browsers plus proxies and CAPTCHA handling.
- Installation is a single curl command, and the services are managed as three systemd units with a verifiable health check (systemctl is-active).
- On login walls, 2FA, or CAPTCHA the agent returns a live view URL and waits for a human instead of bypassing credentials.
- agent/CLAUDE.md is an editable, versionable behavior config that can be redistributed by re-running the idempotent installer.
- Core browser capability depends on Browser Use Cloud and a valid API key; you cannot run the browser automation without that service.
- The runtime is tied to Claude Code with Anthropic credentials (API key or Claude Max), so switching model providers means code changes.
- The host must be Ubuntu 22.04+ with at least 2GB RAM; other operating systems are not documented as supported.
- Setup includes sudo, systemd services, and an interactive claude /login OAuth step, so it cannot be fully unattended.
- The Telegram and ttyd entry points (ttyd bound to localhost) require your own hardening in a self-hosted deployment.
- The team managed pilot is $1,000/month, and the README does not itemize how that offering differs from self-hosting.
How does this agent compare with similar options?
Key facts side by side with the most closely related agents.
| Agent | Source review | Form / cost | Stars | Updated | Language | Full support on |
|---|---|---|---|---|---|---|
| Browser Use Box This agent | 34 · Major gaps | — | ★ 459 | 6d ago | Python | Claude Code · Claude API |
| Atomic Agent | 56 · Major gaps | CLIFree + model costs | ★ 3.5k | today | TypeScript | — |
| Opensteer | 49 · Major gaps | CLIFree | ★ 204 | today | TypeScript | — |
| Browser Use | 47 · Major gaps | Hosted serviceFreemium | ★ 119k | 3d ago | Python | Codex · Claude Code · OpenAI API · Claude API |
How does FollowAgents rate this agent?
Why each dimension lost points
README shows the installer runs with sudo, creates a bux user and systemd services, but gives no least-privilege detail (which user each service runs as; ttyd binding is only asserted as localhost). No rollback/uninstall path. Sensitive data (BROWSER_USE_API_KEY, TG_BOT_TOKEN, Claude login state) is only said to land in /etc/bux/env and /home/bux with no encryption or access-control notes. No dependency pinning or audit evidence. External effects (browser automation, Telegram messaging) have no described confirmation gate. Only README and CI provide partial signals, hence low scores.
CI runs shellcheck, py_compile, ruff and an install smoke test, supporting basic self-consistency; but dependencies are unpinned and failure messages/recovery strategy are absent from visible files, so only thin credit.
README states target scenarios (Telegram-driven browser automation on a VPS) and hardware requirements clearly; but capability boundaries and trigger precision (when to hand off to a human, CAPTCHA/2FA handling) are only one line, and environment fit is limited to Ubuntu 22.04+, so moderate-low.
Install guide and CI smoke test are fairly complete and LICENSE is full MIT; but information architecture is diluted by many marketing landing-page links, there is no version number/CHANGELOG, maintenance responsibility points to an unverified publisher, and naming stability has no evidence.
Value proposition is clear (24/7 browser agent + Telegram), but output usability, marginal value and cost-benefit have no measured or example outputs, only marketing pages, so conservative thin scores.
README claims partially cross-check with CI steps (service names, file paths), but many managed-pilot and benefit claims have no in-repo evidence, and fact vs inference is not clearly separated.
- Not found in source: least-privilege scopingGrant only what the task needs: a dedicated account or read-only token, scoped to specific directories and repos.
- Not found in source: rollback or recovery pathBack up first, or work on a git branch or snapshot, so its changes can be undone.
- Installer runs with sudo and creates system services with no least-privilege or uninstall/rollback documentation; audit install.sh before deploying.
- API keys, Telegram token and Claude login state storage is only asserted, with no encryption or access-control description.
- README contains many managed-pilot marketing links and benefit claims without in-repo verifiable evidence; do not infer reliability from them.
- Publisher identity is unverified by FollowAgents; maintenance responsibility and update path are unclear.