# Set up WonderWander with me

You are helping me set up WonderWander on this Mac. WonderWander connects my Claude Code sessions to my iPhone: approvals on the Lock Screen, replies read aloud, and talking back by voice. It has two parts: **WonderWander for Mac** (a menu-bar app with a small bridge) and the **WonderWander iPhone app**.

How to work with me:
- Ask me the questions below **one at a time**, and only do the parts that apply to my answers.
- Tell me what you're about to change and wait for my OK before you install, move or edit anything.
- Never ask me for a password, token or key, and never print one. WonderWander's tokens stay in files that Docker or the app reads.
- If a step needs a click in an app window, tell me exactly what to click, then check the result yourself.
- Product page: https://unchartedarts.com/wonderwander · Help: https://unchartedarts.com/wonderwander/support

## 1. Check this Mac

- macOS 14 or later: `sw_vers -productVersion`.
- Is WonderWander already installed? Look for `/Applications/WonderWander.app` and read its version: `defaults read /Applications/WonderWander.app/Contents/Info.plist CFBundleShortVersionString`. If it's installed, skip to step 3.

## 2. Install WonderWander for Mac

With my OK:
1. Download it: `curl -fL -o ~/Downloads/WonderWander.dmg https://unchartedarts.com/wonderwander/download`
2. Check it's the genuine, notarized app before opening it: `spctl -a -t open --context context:primary-signature -v ~/Downloads/WonderWander.dmg` must say `accepted`, `source=Notarized Developer ID` and `origin=Developer ID Application: Jonathan Pollack (MQ73EEKQKX)`. If it doesn't, stop and tell me.
3. Open the disk image (`open ~/Downloads/WonderWander.dmg`) and ask me to drag WonderWander to Applications, or copy it there yourself with `ditto` if I say so. Then open `/Applications/WonderWander.app`. A lion appears in the menu bar.

## 3. Ask me these questions

1. **Where do you run Claude Code?** More than one can apply:
   - in a terminal on this Mac;
   - in the Claude desktop app's Code tab on this Mac;
   - in a Docker or dev container on this Mac;
   - as a second Claude account on this Mac (its own `CLAUDE_CONFIG_DIR`);
   - on the web (claude.ai/code), or on another computer.
2. **Do you use Tailscale, or want to?** It lets the phone reach this Mac away from home.
3. **Do you have the WonderWander iPhone app** on an iPhone or iPad with iOS 27?

## 4. Turn it on

Ask me to choose **Set Up WonderWander…** from the lion in the menu bar, then:
- **Background service:** Turn On (System Settings may ask to allow it under Login Items).
- **Claude Code hooks:** Add Hooks…. It shows what it will change in `~/.claude/settings.json`, keeps a backup and leaves other hooks alone.
- Leave **Claude Code integration** ticked: sessions can then add documents to my Dossier.

Then check it with the app's read-only self-test:
`/Applications/WonderWander.app/Contents/MacOS/WonderWanderMenu --setup-check`

## 5. Only the parts that apply

**Terminal or the desktop app's Code tab:** nothing more. Both read the same `~/.claude/settings.json`. Claude Code sessions that were already running pick up the hooks when they restart. Talking to a desktop-app session from the phone needs WonderWander 0.3.2 or later.

**A Docker or dev container on this Mac:** in WonderWander's Settings, under **Environments**, choose **Add a Container…**. It makes the container a token file and shows two steps: pass that file to the container (`docker run --env-file …`, compose or a dev container), and run one `curl … | sh` line inside it. Help me add both to my container setup. **Never mount `~/.wonderwander`, or my whole home folder, into the container:** the bridge's socket and keys there would give the container full control of WonderWander. The phone can't resume, restart or sleep a container's sessions.

**A second Claude account on this Mac:** with my OK, add it as an environment, then install its hooks, using the app's bundled bridge (substitute the account's real config dir; `work` and `Work` are a name and label):
```sh
W=/Applications/WonderWander.app/Contents
"$W/Helpers/node" "$W/Resources/bridge/dist/cli.js" env add work Work --config-dir ~/.claude-work
"$W/Helpers/node" "$W/Resources/bridge/dist/cli.js" install-hooks --env work
```

**Claude Code on the web (claude.ai/code):** not supported. Those sessions run on Anthropic's servers, not on this Mac, so the bridge can't see them. Tell me that plainly.

**Claude Code on another computer:** not supported yet. If it's another Mac, WonderWander for Mac can be set up there instead, and the phone paired with that Mac.

**Tailscale:**
- If I want it: Tailscale must be on this Mac and on the phone, signed in to the same tailnet. Check this Mac with `tailscale status`, or `/Applications/Tailscale.app/Contents/MacOS/Tailscale status` if the command isn't on the PATH.
- If my tailnet has access rules (ACLs), they must let the phone reach this Mac on **TCP 17801**. Show me the rule to add if it's missing; don't change my tailnet yourself.
- In the iPhone app, turn on **Settings › Connection › Tailscale when away**.
- Optionally, WonderWander for Mac's Settings › Connection › **Tailscale only** accepts phones over the tailnet alone. The phone then needs Tailscale on at home too.

If I don't want it: the phone and this Mac need to be on the same Wi-Fi network.

## 6. Pair the phone

Ask me to choose **Pair a Device…** from the lion menu, then scan the code it shows with the WonderWander iPhone app. My Claude Code sessions should appear on the phone.

## 7. Finish

Run `--setup-check` again. Its last line should say **Everything works**. If it doesn't, tell me which check failed and what it says to do, and point me to https://unchartedarts.com/wonderwander/support. Finally, list what you set up and what you left out, and why.
