Runbook v1.4 · bundle v1.5.1 · any Mac, any user · 2026-09-14
🎯 Paste one prompt into Claude Code on the room Mac. That is the whole job.
claude --version answers.claude --version prints a version
The installer reads the RehearsalRoom2026 DAW session, unmutes the channels the band
should hear live through the speakers, and writes RehearsalRoom2026_NODAW. It asks a
person only when that DAW session is missing or when every one of those channels is already unmuted.
To build it by hand instead: open UAD Console, load RehearsalRoom2026,
unmute those channels, then Save As and name it exactly
RehearsalRoom2026_NODAW. Write down which channels you unmuted.
Those channels are muted in the DAW session so the DAW does not double the signal. Unmuting them is what Play Live means.
Greg runs one command and sends you the room id and the code.
rr-enroll-code studio-cSingle use. Expires in 24 hours. If it is spent or stale, ask for another one rather than retrying it.
PASS ✅ you have a room id and a code shapedRR-XXXXX-XXXXX-XXXXX-XXXXX
Open the prompt page on that Mac, type the room id and the code into the two fields, press Copy the prompt, then paste it into Claude Code and leave it alone.
It downloads the bundle, checks the sha256, enrolls, installs, loads the LaunchAgent, sets the power settings, runs the probe and the tests, and confirms the door sees the room.
It asks for the admin password at most once, and tells you what the password is for before it asks.
PASS ✅ it printsINSTALLED OK, or a numbered list of what you must do
If the installer's live_preset step came back needing a human, hand it the file you saved
in step 2.
It finds RehearsalRoom2026_NODAW.uadmix in Console's sessions folder on its own. If it
cannot, pass the full path. It prints a 64-character sha in a box and re-checks the load verb against
the Play Live session.
Open the room devices page. The room should read Online within two minutes.
Text Greg: the sha from step 5, the winning load verb, and which channels you unmuted.
PASS ✅ the room reads Online and Greg has the sha| Step | What it means | The fix |
|---|---|---|
| preflight_clt | Xcode Command Line Tools are missing and the silent install did not work | xcode-select --install, click Install, re-run the installer |
| enroll · already_used | That code has been spent | Ask Greg for a new code |
| enroll · expired | Older than 24 hours | Ask Greg for a new code |
| launchagent | Bootstrap failed: 5, the old job has not gone away |
Claude retries it. If it persists, background items are blocked, see the next row |
| login_items_background | macOS is blocking background items for the app that ran the installer | System Settings, Login Items & Extensions, Allow in the Background, turn the entry on, re-run |
| system_settings | sudo was declined or unavailable | Run the printed command by hand, or re-run and type the password |
| auto_login | FileVault is on, which blocks auto-login | Turn FileVault off, or accept a human login after every reboot |
| console_detect | UAD Console is not installed | Install it from uaudio.com, re-run |
| apollo_detect | No Universal Audio interface is attached | Connect and power the Apollo, re-run |
| live_preset | Nothing to derive from, or every target channel is already unmuted | Build it by hand, step 2, then step 5 |
| probe · fail | No load verb worked on this Mac | Set LOAD_GUI_OK=1 in ~/trc-room/env, grant Accessibility to /bin/bash, re-run probe.sh. Still failing: send Greg the table |
For a Mac with no Claude Code on it. Same installer, driven by hand.
A mismatch means stop. Do not unpack it.
PASS ✅ the line ends inOK
~/rr-room-bundle/install.sh exists
Replace the room id and the code with the ones Greg sent. Add --dry-run first to see every
action without writing anything. Add --no-system to skip the power settings and the admin
password. Re-running it after a fix is safe and expected.
It prints one RR_STEP line per step, then a summary that reads INSTALLED OK or
lists what needs a human.
INSTALLED OK
Steps 5 and 6 of the Claude path are the same by hand: add-live-preset.sh, then confirm the
room reads Online.
To start over at any point:
bash ~/trc-room/uninstall.sh --purge PASS ✅ the room reads Online in the admin portal| ~/trc-room | The installed agent, mode 700 |
| ~/trc-room/env | Room id, door, and the two secrets enrollment fetched. Mode 600, never copied anywhere |
| ~/Library/Logs/rr-mode.log | Everything the agent does. tail -f it |
| ~/Library/LaunchAgents/club.therecording.rr-mode.plist | What keeps the agent running |