Install¶
Requirements¶
- Claude Code, signed in.
Install it and run
claudeonce in a terminal to log in. -
Python 3.10 or newer, and Node.js.
Which Python runs the kernel¶
romp-serve chooses the interpreter each time it starts the kernel, and the
choice follows the Agent SDK venv (sdkvenv under the state directory), whose
compiled extensions import into the kernel process and so must be built for the
interpreter the kernel runs. The order is: ROMP_PYTHON if set, refused with
one line when it is not an executable interpreter; otherwise the interpreter
the venv's pyvenv.cfg records, if it still runs and still reports the venv's
version and build; otherwise another Python of that same minor and build on
PATH or in ~/.local/bin, which the venv still matches; otherwise the newest
python3.X on PATH or in ~/.local/bin, then python3, the rule for a
machine that has no venv yet (pick_python in bin/romp-serve;
bin/romp-sdk-setup and bin/romp-codex-setup carry the same function, so
each venv is built with the interpreter the kernel runs). install.sh runs
that same pick as its preflight and stops, naming the interpreter and the
install command, when it is older than 3.10, the floor the kernel and the Agent
SDK share; bin/romp-serve refuses to start the kernel on one below it, so a
manager never respawns a kernel that cannot run. The full rules, and what the
kernel reports when the two disagree, are in the
reference.
Because the venv comes first, installing another interpreter does not move the
kernel onto it. One hazard remains: uv python install <version> puts a
python3.X shim in ~/.local/bin, which the newest-first fallback searches, so
on a machine with no SDK venv (or a venv whose recorded interpreter is gone) the
next restart runs the newest Python it finds. Install extra interpreters with
uv python install --no-bin <version> and reach them through uv python find
<version> or a venv, never as a bare python3.X on PATH. To move the kernel
to another Python on purpose, whether another version or the free-threaded build
(3.14t) of the same one, go in this order: set ROMP_PYTHON to the new
interpreter (in ~/.config/romp/service.env for the login service), rebuild the
SDK venv for it with ROMP_PYTHON=<path> bin/romp-sdk-setup (the same value the
service reads; run plainly, the script follows the existing venv's interpreter
and rebuilds nothing), run the test suite there, then restart.
Skipping a step leaves a kernel that cannot start sessions; the setup script says
from what to what it rebuilds, and the kernel names the mismatch on every
session's card if it comes up on the wrong interpreter anyway.
Install¶
Open a new terminal afterwards, so ~/romp/bin is on your PATH, and type
romp to launch the user interface in a browser.
On macOS the login agent runs the manager under its own copy of node
(romp-node, in the state directory), so Full Disk Access can be granted to romp
alone; a node that cannot run from a copy (Homebrew's build is one) is
detected and the system node used instead, and ROMP_NO_NODE_COPY=1 in
~/.config/romp/service.env skips the copy (0, false, no and off are off; any
other non-empty value, disabled and none included, is on). See the
reference.
The same command updates Romp later. To remove Romp, run romp uninstall (add
--purge to delete recorded sessions too).
This clones Romp to ~/romp and installs the newest release.
What it installs, in detail.
Manual and custom installs¶
Install this way to keep Romp somewhere other than ~/romp, or to run the
latest commit rather than the newest release:
git clone https://github.com/romp-on/romp.git ~/romp
cd ~/romp
git checkout "$(git tag -l 'v*' --sort=-v:refname | grep -E '^v[0-9]+\.[0-9]+\.[0-9]+$' | head -n1)" # newest release
# or: git checkout main # the latest commit
./install.sh
Then add bin/ to your PATH in your shell rc; install.sh prints the exact
line for your clone.
First run¶
The installer leaves Romp's back end running, so there is nothing to start. Open
the dashboard by typing romp in the terminal. That prints the URL at which
Romp can be reached and opens it in your browser.
In VS Code or Cursor¶
The installer adds the extension automatically. Reload your editor window and open Romp from the sidebar.