Skip to content

Roadmap

The core loop. Personas in a committed config, an age-encrypted team vault, session minting through a provider, guardrails (dev-only origins, live-key refusal, cookie pinning, TTL clamping), an audit log, and Playwright storage-state export.

The managed browser. A dedicated Chrome profile valetkey controls over a debugging connection, so sessions inject live, including httpOnly cookies, and switching personas takes one command with no restart. This is also the integration point for Claude in Chrome and Chrome DevTools MCP. See the managed browser.

The MCP server. valetkey mcp gives agents four tools (list_personas, login_as, whoami, logout) so they sign themselves in without shell commands, and no response ever carries a credential value. See the MCP reference.

The record provider. Sign in once by hand in the managed browser and valetkey captures the session for reuse, which makes it work with any auth system without writing a mint function. See record a session.

First-party plugins that replace hand-written mint functions and can seed users unattended:

  • Better Auth, using its test-utils session minting
  • Auth.js, via database session insertion or JWT encoding
  • Supabase, via admin magic-link generation

Clerk, Firebase (Auth Emulator), and Auth0 follow. Each ships with a working example app in the repo.

Team workflow polish (init --agent generators for Claude Code, Codex, and Cursor), an API-header delivery mode for agents that call your API directly instead of browsing, and Windows support for the managed browser.

The full design lives in the spec. Suggestions and provider requests are welcome in GitHub issues.