# Install KITCHEN COURT

> Start here when helping someone install KITCHEN COURT. This is the canonical installation guide. [setup.md](https://kitchencourt.coachcommandcenter.com/setup.md) covers an already-installed house; it is not another setup method.

KITCHEN COURT enables existing LLMs to make and play games, create media, and use a shared TV and phone controls. It uses the household’s own signed-in Claude, Codex or Grok CLI. KITCHEN COURT does not supply a model, install a provider CLI or copy a provider account. Games, media and phone controls can be used without one; AI creation needs an available provider.

## 1. Check the Mac

Supported installer: an Apple Silicon (arm64) Mac with macOS 15 or later, connected to the TV. Use a dedicated KITCHEN COURT Mac or login: anyone who joins from a phone or talks to the room is using the AI account signed in on that Mac. There is no supported Intel Mac, Windows, Linux or Raspberry Pi installer here. Phones on the same Wi-Fi as the Mac join in their browser and install no app.

KITCHEN COURT is in public beta. No invitation or list is needed to download and install it.

Read [the release manifest](https://kitchencourt.coachcommandcenter.com/releases/beta.json) and [the access state](https://kitchencourt.coachcommandcenter.com/api/beta/access) fresh. Access `public` means the download is open to anyone. If it reads `invite-only` or `closed`, the public beta is paused: say so, and do not work around it or manufacture a code.

For the download, require `published: true`, `status: "published"`, and `platforms["macos-arm64"]` with `artifact`, `sha256`, `bytes`, `signed: true` and `notarized: true`. Use that exact HTTPS artifact on downloads.kitchencourt.coachcommandcenter.com. Do not guess “latest” package names or copy a version from an old conversation. If either source is unavailable or inconsistent, explain the failed check rather than inventing availability.

## 2. Install the signed package

Use [the install page](https://kitchencourt.coachcommandcenter.com/install/), or the manifest directly. Download the exact package named by the manifest. Verify its SHA256 and byte count against that manifest and use macOS’s normal signature/notarization checks. Never remove quarantine or weaken Gatekeeper to get a failed package installed.

An assistant authorized to install KITCHEN COURT can perform the checks, download and open the package on the person’s behalf. These are argument arrays, not a shell script. Replace `PACKAGE` with the actual absolute local package path and `ARTIFACT_URL` with the exact manifest URL before executing anything; never execute placeholders. Choose an unused download path to avoid replacing another file.

~~~json
["/usr/bin/uname", "-m"]
["/usr/bin/sw_vers", "-productVersion"]
["/usr/bin/curl", "--fail", "--location", "--proto", "=https", "--proto-redir", "=https", "--max-redirs", "3", "--output", "PACKAGE", "ARTIFACT_URL"]
["/usr/bin/shasum", "-a", "256", "PACKAGE"]
["/usr/bin/stat", "-f", "%z", "PACKAGE"]
["/usr/sbin/pkgutil", "--check-signature", "PACKAGE"]
["/usr/sbin/spctl", "--assess", "--type", "install", "--verbose=2", "PACKAGE"]
["/usr/bin/open", "PACKAGE"]
~~~

Require architecture `arm64` and macOS major version at least 15. Compare the entire SHA256 and byte count to the freshly read manifest, not just the filename. `pkgutil` must report a trusted Apple distribution signature; the current KITCHEN COURT Developer ID Installer identity is **RYAN SHAWN CAMPBELL (CXS2ZZ7553)**. `spctl` must exit successfully and report acceptance as a notarized Developer ID package. The manifest’s boolean flags alone do not verify the downloaded file. If the signature identity changes unexpectedly, stop and check the publisher’s verified release information rather than accepting any signed package. Only run the final `open` after these checks pass. A failed download may leave a partial file; do not open it.

Open the package in macOS Installer from the intended logged-in console account. The person completes any normal macOS administrator authorization. Do not clone KITCHEN COURT’s source, run npm install, pipe a URL into a shell, use developer appliance scripts, or promise unattended installation without those OS permissions.

The installer includes KITCHEN COURT’s runtime, pinned Node/browser, native app components and private helper commands. It does not bundle provider CLIs, provider credentials or copies of their account folders. Official games are obtained through Guide rather than copied from this repository.

## 3. What the installer does

The installer sets up the house itself, in the logged-in console account: a house named KITCHEN COURT with a room named Living Room, KITCHEN COURT’s services, and the TV. No setup window opens, and nothing on the Mac asks for a code, an invitation or an account. On a reinstall or update the existing house, its identity and its owner phones are kept.

The app is `/Applications/KITCHEN COURT.app`; if the TV is not showing KITCHEN COURT, reopen it from Applications or Spotlight. The `homie-setup` helper inside it is a command for status and repair (see setup.md), not a step a person has to run, and there is no separate `/Applications/KITCHEN COURT Setup.app`.

## 4. Join from the phones and make an owner

The TV shows KITCHEN COURT’s Home with a join code (a QR square) and an address. Each person scans it, or opens that address, on a phone on the same Wi-Fi as the Mac, types a name and plays in the browser. No app, no account, no code. Do not invent a house hostname; use what the TV shows.

A name on a phone is not owner authority. To make a phone the owner, on that phone: tap the initial in the top-right corner, then **Make this phone an owner**. KITCHEN COURT shows six digits on the TV (if the TV is busy, the phone first offers to take it back to Home for everyone), and the person types them on the phone. The code lasts three minutes and allows five tries. KITCHEN COURT then shows a recovery code to write down. Once a house has an owner, an owner phone can also let another phone in. On a plain http address a phone is only an owner for now; after the house is online, the phone offers to repeat this at the secure address so it lasts.

The first owner phone sees a short checklist: make this phone the owner, name the house and this room, connect an AI (optional), **Get this house online**, **Let phones reach KITCHEN COURT**. None of it is needed to play; it can wait.

A provider marked missing or signed out is not ready. The person installs/signs into their chosen vendor’s native CLI through that vendor’s normal flow. KITCHEN COURT works without a provider. Finding one provider does not disable the others; a preferred provider for unnamed requests is optional.

Start games from the phone’s **Play** tab and use each game’s own controls. Phone/browser reconnect and cross-house play use the normal product flows; they do not require copying or launching an independent second game on the receiving Mac.

The installed updater checks the trusted release feed on its normal schedule and applies when the activity boundary permits. “Hourly checks” is not a promise that it interrupts play or installs every hour. Do not replace it with a custom download or downgrade script.

## 5. Get the house online (optional, later)

Local play, films, songs and making with an AI all work without this. Getting online gives the house its own HTTPS address and certificate, which sharing to kitchencourt.coachcommandcenter.com, play from away and a phone’s microphone, camera and tilt need. It needs an owner phone (step 4) and a setup code. **Public setup codes are not available yet**: kitchencourt.coachcommandcenter.com/setup says getting online opens soon. Do not tell the person a code is available, and do not look for a workaround. Today a code comes from an invitation sent by a friend whose KITCHEN COURT is already online (on their owner phone: the initial → **People** → **Invite a household**). Opening the invitation link on kitchencourt.coachcommandcenter.com offers **Copy setup code**; the AI should not handle that secret.

1. On the owner phone: tap the initial (top right), then **Settings**. Under **Get this house online**, paste the code and tap **Put this house online**. KITCHEN COURT restarts onto its new address in a few seconds.
2. Then tap **Let phones reach KITCHEN COURT**. The certificate takes a minute or two; open the new address KITCHEN COURT shows.

The code is a secret. Never ask the person to paste it into this conversation, print it in logs, or put it in a shell argument; if it expires, get a fresh one from where it came.

## 6. Let the existing assistant use KITCHEN COURT

Read [setup.md](https://kitchencourt.coachcommandcenter.com/setup.md) for exact post-install helper commands and workspace discovery. KITCHEN COURT supplies its own workspace MCP connection and bundled skills. No manual global MCP registration is required. The person can use the ordinary KITCHEN COURT phone assistant, or their native assistant in the KITCHEN COURT workspace.

Do not turn on telemetry, connect paid services, grant permissions or send diagnostics just to make setup look complete. Report the actual status and let the person make those choices. Never request provider tokens, owner keys, certificate private keys or recovery codes in a model conversation.
