Bring your own CLI: AI testing with no API key and no token resale
Most AI dev tools open with a text field that wants your API key. You paste it in, the tool calls the model for you, and someone bills you: the provider directly, or the tool with a margin stacked on top. That margin rarely shows up on the invoice as a line item.
Hover skips the field. Hover ships no model client, so there's nothing inside it to hold a key. It's an MCP server you add to the coding agent you already run.
How it works
You wire Hover into the agent you already use: install it globally, then register the bin, e.g. npm i -g @hover-dev/mcp && claude mcp add hover -- hover-mcp. From then on, Hover is just a set of tools that agent can call:
claude(Claude Code)codex(OpenAI Codex CLI)- any other MCP-capable coding agent (
gemini,qwen, …)
That agent talks to its own provider on your existing plan: the Claude Pro or Max or ChatGPT subscription you already pay for. Hover hands the agent grounded browser tools, receives the actions back, and crystallizes the verified flow into a Playwright spec. It never touches your key, because it never makes the model call. The agent does. There's no key field in Hover because there's no model in Hover.
Why build it this way
You don't pay a margin on inference. The model cost is whatever your subscription already covers. On a flat Pro or Max plan, a browser-driving session costs you nothing at the margin.
You have no key to leak. Hover stores no credentials. There's no .env with a long-lived provider key sitting in your repo waiting for someone to commit it by accident.
Your code and DOM never route through a vendor. Hover's local service carries no LLM SDK and no telemetry. Your data goes from the CLI to that CLI's provider, the same path you already trust when you run claude in your terminal. The service binds to 127.0.0.1 and refuses connections from anywhere else.
You stay free to switch models. The intelligence is the agent you chose, so changing providers means switching agents, and Hover doesn't care which one calls its tools. The day a model gets cheaper or faster or better at browser work, you point that agent at Hover. No migration, no re-platforming.
What it asks of you
This design assumes you already have a coding-agent CLI installed and logged in. If you don't, installing one is a real first step that a hosted tool skips. CLIs vary in how they sandbox the agent, so Hover puts a badge on soft-sandbox agents to tell you the tool surface is wider than the locked-down ones.
For the growing number of developers who live in claude or codex all day, reusing the plan you already pay for beats pasting another API key and paying a margin on top of it.
Try Hover on your own app.
Add Hover’s MCP to the coding agent you already run. It explores your app and crystallizes plain Playwright specs you own.
npm i -g @hover-dev/mcp && claude mcp add hover -- hover-mcpRead the quick start →