Getting Started

Installation

Get pagerunner running in under two minutes. Homebrew, Cargo, or pre-built binary — then register it with your MCP client.

Prerequisites

  • macOS or Linux (macOS recommended for Keychain integration)
  • Chrome must be installed — pagerunner drives Chrome via CDP (Chrome DevTools Protocol)
  • Rust 1.91+ if installing via Cargo

Install via Homebrew

The easiest path on macOS and Linux.

terminal
brew tap enreign/pagerunner
brew install pagerunner

Install via Cargo

If you already have Rust installed.

terminal
cargo install pagerunner

If you see "requires rustc 1.91+" despite having a newer Rust, Homebrew's Rust may be shadowing rustup's. Fix with: export PATH="$HOME/.cargo/bin:$PATH"

Install pre-built binary

No dependencies required. Download the binary for your platform.

macOS Apple Silicon
curl -L https://github.com/Enreign/pagerunner/releases/latest/download/pagerunner-macos-arm64 \
  -o pagerunner && chmod +x pagerunner
macOS Intel
curl -L https://github.com/Enreign/pagerunner/releases/latest/download/pagerunner-macos-x86_64 \
  -o pagerunner && chmod +x pagerunner
Linux x86_64
curl -L https://github.com/Enreign/pagerunner/releases/latest/download/pagerunner-linux-x86_64 \
  -o pagerunner && chmod +x pagerunner

On macOS, if Gatekeeper blocks the binary on first run:

terminal
xattr -d com.apple.quarantine pagerunner

Auto-detect Chrome profiles

Pagerunner reads Chrome's profile list and writes ~/.pagerunner/config.toml automatically.

terminal
pagerunner init
pagerunner status

Alternatively, run pagerunner example-config to see the config format and write it by hand.

Register with your MCP client

Claude Code

terminal
claude mcp add pagerunner -- pagerunner mcp

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

claude_desktop_config.json
{
  "mcpServers": {
    "pagerunner": {
      "command": "pagerunner",
      "args": ["mcp"]
    }
  }
}

Cursor / Windsurf

Add to your project or user settings.json MCP configuration:

settings.json
{
  "mcp.servers": {
    "pagerunner": {
      "command": "pagerunner",
      "args": ["mcp"]
    }
  }
}

Important: The mcp subcommand is required. Registering just the binary path without mcp will not work.

Verify

terminal
pagerunner --help
pagerunner status

If both commands work, you're ready. Open your MCP client and ask it to open a browser.

Next: CLAUDE.md Setup →