getting started

You talk.
Claude drives.

repld is a live workspace you and Claude share: a Python session, your real Chrome, and push notifications. You describe what you want and steer the results. Claude writes the code, and when something earns its keep, you tell it to turn that into a reusable tool.

Three commands.

Install repld, register it with the client, then launch Claude with channel support. Nothing is written into your project, and you don't start the workspace yourself — the bridge spawns one the first time Claude uses it.

terminal
$ uv tool install repld-tool
$ cd your-project
$ claude mcp add repld -- repld bridge

$ claude --dangerously-load-development-channels server:repld

# the kernel starts itself; check on it from any terminal:
$ repld status
 kernel pid=4821  up 2m
  socket:    $XDG_RUNTIME_DIR/repld/projects/your-project-a1b2c3d4/kernel.sock
  log:       repld log -f

Log in like a human.
Automate like a machine.

You're already logged into the apps that matter: your CRM, your bank, internal dashboards, admin panels. Claude attaches to your Chrome and inherits those sessions. There's no OAuth dance, no API keys to provision, nothing to put in a secrets file.

The traffic is the documentation. Claude watches what the page does and reads the private API right off the wire.

I'm logged into our Shopify admin in Chrome

Claude

I'll attach to your Shopify admin tab and read the API surface off your traffic.

tab = await browser.get("*admin.shopify*")
await tab.click("text=Orders")
reqs = tab.network(url="*api*")
# 14 API calls — REST admin + GraphQL

Found the orders endpoint. Want me to pull recent orders?

Say what you want. Claude builds it.

You steer, you don't script. Claude runs Python in the live session, you see the results, and you redirect from there. The conversation is the development environment.

Discovery

"What API calls does this page make when I click Export?"

Claude attaches, you click, and it reads the network delta.

Extraction

"Pull all invoices from last month"

Claude uses your session to fetch and paginate, then hands back structured data.

Automation

"Check for new orders every 15 minutes and notify me"

Claude wires @every + notify(). You get channel pushes.

Keep it

"Let's make a gist for this app's API"

Say this early. Claude explores the app and writes the reusable Python as it goes.

Say this first.

Claude can pull up repld's own docs on demand. A one-line nudge before you start is the difference between Claude guessing and Claude knowing.

Before browser work

"Read the browser guide first"

repld://docs/browser

Before writing a gist

"Read the guide before you start"

repld://docs/guide

Before using an existing gist

"Check the gist API first"

repld://gists/{name}

Before designing automation

"Read the playbook"

repld://docs/playbook

Before graduating to production

"Read the production guide"

repld://docs/production

Say it early.

You don't have to wait until you've done a thing three times. When you know an app will matter long-term, tell Claude upfront: "let's make a gist for this." It pokes at the API live and writes the gist as the shape of it becomes clear.

Exploring the app and building the gist happen in the same conversation. Discovery is development.

Let's reverse-engineer the company directory API and make a gist for lookups

Claude

I'll read the browser guide first, then attach to your tab and map the API.

# reads repld://docs/browser
# reads repld://gists/_registry
tab = await browser.get("*directory.example.com*")
# discovers search, company, financials endpoints
# writes gists/acme.py with Acme class

Created gists/acme.py — try from acme import Acme.

Nothing restarts.

The session doesn't reset between messages. Variables stay, logins stay, and background tasks keep running. Claude picks up exactly where it left off, and so do you. Open repld exec in another terminal to inspect anything Claude created.

repld is a place you and Claude work together, not a framework you configure and walk away from. You bring the context: which apps matter, what the data means, when something looks wrong. Claude brings the hands, executing and fetching and wiring and writing the code. The shared session is where you meet.