Skip to content

What is repld?

repld is a persistent Python kernel that runs in your project directory. You and your agent share one namespace — the same __main__, the same variables, the same running state.

Most agent-tool setups are stateless: execute a script, get output, start over. repld is the opposite. The kernel stays up. Auth tokens persist. Background jobs keep running. Long tasks push notifications back to the agent instead of blocking.

The browser is a first-class object: attach to your logged-in Chrome tabs, discover API surfaces from your traffic, and reverse-engineer anything into a callable gist.

Terminal 1: claude --dangerously-load-development-channels server:repld
Terminal 2: repld exec # you — same namespace, same state

You don’t start the kernel. Claude Code spawns repld bridge, which attaches to a kernel already running for the project or spawns a headless one the first time a repld tool is actually used. Run repld yourself only when you want the live TUI display instead.

The agent calls exec to run Python. Short code returns inline; long-running tasks return a task_id and push a channel notification when done. You can inspect or modify anything the agent created from your own REPL.

PrimitiveWhat it does
execRun Python in the shared kernel
defer(coro)Fire-and-forget background task, pushes channel on completion
@every(seconds)Periodic ticker — survives past the exec that started it
notify(content)Push a channel notification to the agent
browser.get(glob)Attach to a Chrome tab by URL pattern
tab.fetch(url)In-page fetch — inherits the browser’s session