API keys
Hover needs no API key of its own. It ships as an MCP server your coding
agent calls — the agent (Claude Code, Cursor, …) brings the model and the auth,
and Hover rides whatever that agent runs (BYO-CLI). @hover-dev/mcp ships zero
LLM SDK: there is no model client inside Hover to hand a key to in the first
place.
How your agent authenticates
That part is your agent's mechanism, not Hover's:
- Subscription login — most agents log into a plan you already pay for
(
claude login, and the equivalents for Cursor / Codex / Gemini). Hover uses the session that's already there. - A model API key — if you'd rather run on a key, set it the way your agent
expects, in the environment you launch the agent from. For Claude Code that's
ANTHROPIC_API_KEY; other agents read their own variable. Hover reads none of them — the key only ever reaches the agent you already trust on yourPATH.
Either way Hover sees no key. It exposes grounded browser tools to the agent and nothing else.
Local & self-hosted models
The model is entirely your agent's choice. If your agent can point at a self-hosted, OpenAI-compatible endpoint (Ollama, LM Studio, vLLM), Hover works exactly the same — it never talks to the model, only to the agent. Your prompts and code go wherever your agent sends them; Hover adds no network hop of its own.
CI needs nothing
Authoring auth is a one-time, local concern. The saved .spec.ts runs in CI
with npx playwright test — no agent, no model, no key. Nothing you set for your
agent ever wires a key into CI.