GhostGet

GhostGet runs agent-browser internally, where your agent can’t steer it

agent-browser is Vercel Labs' Rust CLI for agent-driven browsing: open, click, type, fill, snapshot, screenshot, and eval, with sessions and profiles your agent composes as shell commands. GhostGet itself pins agent-browser 0.32.3 as an internal dependency for page captures that need rendering, and no GhostGet command lets the caller choose a selector, keystroke, or script.

Who controls the browser

Used directly, agent-browser is a steering surface: the agent decides which URL to open, which selector to click, what to type, and what JavaScript to evaluate. Disk-first snapshots keep the token cost lower than streamed MCP state, but the permission model is unchanged. Every reachable page is a place the agent can act, and every action is one the caller chose.

GhostGet uses the same class of engine inside a capture path with fixed limits. When an HTTP fetch cannot produce the requested result, an internal browser acquisition may render the page under a limit of two browsers at once across all GhostGet processes sharing a state home. The caller supplies a URL and a result contract; it cannot supply a selector, a coordinate, a keystroke, or a script. The agent can’t reach the engine.

Side by side

Decision agent-browser, used directly GhostGet
Interface Shell commands the agent composes itself Named operations plus page reads and archives; no browser commands
Who chooses the steps The agent: selectors, coordinates, JavaScript, session state The reviewed contract; the agent picks only the outcome
Browser exposure Full steering, including eval on live pages Internal capture only, behind a limit of two browsers at once; no command, selector, or script reaches it
Credentials Whatever the agent's browser profile or keyboard input contains Opaque auth locators bound to one account realm and transport
Result shape Snapshots, screenshots, and command output on disk or stdout Markdown, archive records, structured results, or structured errors

When to pick which

Pick agent-browser directly when your agent needs to compose its own browsing: exploratory sessions, form experiments, or flows where the steps are the deliverable. It is a well-shaped tool for that job, which is part of why GhostGet builds on it rather than reinventing the engine.

Pick GhostGet when the deliverable is the result, not the session. A page read returns Markdown; an account action returns a structured result; and the agent cannot turn the capture engine into a navigation surface because no command, selector, or script channel reaches it. If your threat model is "the agent must not click around the web," that closure is the product.