← All setup docs

🎛️ Set up the Rehearsal Room mode switch

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.

  1. 🔑 Get a room id and an enrollment code from Greg
  2. 🎚️ Check the Play Live session the installer derives, or save one yourself
  3. 📋 Copy the prompt and paste it into Claude Code on that Mac
  4. ✅ Read its verdict and do the short human list it hands back

Open the prompt page →

Room
any id
Mac user
any account
Bundle
public, no secrets
Network
outbound only
🎧 Do this when the room is empty. The Play Live session changes what comes out of the speakers.

The Claude path

1 · Check the Mac is ready

PASS ✅ claude --version prints a version

2 · The Play Live session, usually derived for you

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.

🕵️ Two written sources disagree about the channel list and the rack was re-patched in September. Neither is an instruction. Check the room, then decide.
A, the June 1 session file: Korg Mini 9/10, Korg Grand 11/12, Nord 13/14, Bass DI 15/16, no vocal mic.
B, rooms.json "Rehearse mode": the Korg Grandstage pair and a vocal mic.
PASS ✅ both sessions are in Console's session list, whoever made the second one

3 · Get a code from Greg

Greg runs one command and sends you the room id and the code.

rr-enroll-code studio-c

Single 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 shaped RR-XXXXX-XXXXX-XXXXX-XXXXX

4 · Paste the prompt

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 prints INSTALLED OK, or a numbered list of what you must do

5 · Register the Play Live session

If the installer's live_preset step came back needing a human, hand it the file you saved in step 2.

bash ~/trc-room/add-live-preset.sh

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.

PASS ✅ a sha printed in a box

6 · Confirm and report

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

What the installer can hand back to you

StepWhat it meansThe fix
preflight_cltXcode Command Line Tools are missing and the silent install did not work xcode-select --install, click Install, re-run the installer
enroll · already_usedThat code has been spentAsk Greg for a new code
enroll · expiredOlder than 24 hoursAsk Greg for a new code
launchagentBootstrap 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_backgroundmacOS 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_settingssudo was declined or unavailable Run the printed command by hand, or re-run and type the password
auto_loginFileVault is on, which blocks auto-login Turn FileVault off, or accept a human login after every reboot
console_detectUAD Console is not installedInstall it from uaudio.com, re-run
apollo_detectNo Universal Audio interface is attachedConnect and power the Apollo, re-run
live_presetNothing to derive from, or every target channel is already unmutedBuild it by hand, step 2, then step 5
probe · failNo 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

Appendix · the manual path

For a Mac with no Claude Code on it. Same installer, driven by hand.

A1 · Download and verify

curl -fsSL -o ~/Downloads/rr-room-bundle-v1.5.1.tgz https://rrsetup.gregspero.com/rr-room-bundle-v1.5.1.tgz curl -fsSL -o ~/Downloads/rr-room-bundle-v1.5.1.tgz.sha256 https://rrsetup.gregspero.com/rr-room-bundle-v1.5.1.tgz.sha256 cd ~/Downloads && shasum -a 256 -c rr-room-bundle-v1.5.1.tgz.sha256

A mismatch means stop. Do not unpack it.

PASS ✅ the line ends in OK

A2 · Unpack

tar xzf ~/Downloads/rr-room-bundle-v1.5.1.tgz -C ~/ PASS ✅ ~/rr-room-bundle/install.sh exists

A3 · Install

bash ~/rr-room-bundle/install.sh --room studio-c --enroll RR-XXXXX-XXXXX-XXXXX-XXXXX

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.

PASS ✅ the summary reads INSTALLED OK

A4 · The rest

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

Where things live

~/trc-roomThe installed agent, mode 700
~/trc-room/envRoom id, door, and the two secrets enrollment fetched. Mode 600, never copied anywhere
~/Library/Logs/rr-mode.logEverything the agent does. tail -f it
~/Library/LaunchAgents/club.therecording.rr-mode.plistWhat keeps the agent running