WonderWander help
For WonderWander 1.0 on iPhone, iPad and Apple Watch, and WonderWander for Mac 0.4.0. Entries marked 1.0.1 come with the next update of the app. The app has the same help: tap the ? beside the lion.
What it works with
WonderWander needs Claude Code running on your own Mac. It learns about your sessions from Claude Code's hooks on that Mac, so a session that runs anywhere else can't reach it.
- Works: Claude Code in a terminal on your Mac (Terminal, iTerm2, or the terminal inside your editor); local sessions in the Claude desktop app's Code tab; and Claude Code in a Docker or dev container on that Mac, which the Mac app sets up for you.
- Doesn't work: Claude Code on the web (claude.ai cloud sessions), Claude Cowork, and Claude chat, in the app or on the web. None of them runs on your Mac.
- Not tested yet: the chat panel of the Claude Code extension for VS Code or JetBrains. Run
claudein the editor's terminal instead.
You need:
- a Mac with macOS 14 or later, with Claude Code and your own Claude plan or API key (WonderWander doesn't include Claude);
- an iPhone or iPad with iOS or iPadOS 27 or later;
- optionally, an Apple Watch with watchOS 27, paired with that iPhone; CarPlay; and Tailscale, to reach your Mac away from home.
WonderWander is free, with no account, no ads and no tracking. See the privacy policy.
Set up
- On the Mac, download WonderWander for Mac, open the download and drag WonderWander to Applications.
- Open WonderWander. A lion appears in the menu bar. Choose Set Up WonderWander… and follow it: it turns on the background service and adds Claude Code's hooks. Sessions that were already running pick up the hooks when they restart.
- On the iPhone or iPad, get WonderWander from the App Store.
- On the Mac, choose Pair a Device… from the lion menu; in the app, tap Scan the Mac's QR. The pairing is encrypted and pinned to your Mac's own certificate. An Apple Watch needs no pairing of its own: it works through the iPhone.
- To use it away from home, install Tailscale on the Mac and the iPhone, sign in to the same tailnet, and turn on Settings › Connection › Tailscale when away in the app. Connect once at home first, so the Mac can tell the phone its tailnet name.
Or let Claude Code do it: copy the setup instructions into Claude Code on your Mac and it walks you through, asking about the parts that depend on you.
The Mac app keeps itself up to date; Check for Updates… in the lion menu looks now. To remove it, choose Uninstall WonderWander… in its Settings: it also takes out what it added to Claude Code.
Features
Your sessions
The lion
At the top of the app, the lion shows what's happening: listening, thinking, speaking, waiting. Above it is the talk target, where the Action button and Talk to Claude send (see Talk target).
Sessions
The list shows every Claude Code session running on your Mac that isn't pinned (a pinned one is listed once, under Pinned). Hold a row's mic to talk to that session, tap its speaker to hear the last reply again, and tap the row to read the transcript and type a reply. Amber means it's waiting for you; an ASKS chip means it has a question for you.
Scrolled up in a transcript, the arrow at the bottom right takes you back to the end; a dot on it means something new came in below.
Pinned conversations, sleep and restart
Pin a conversation to come back to it; Resume wakes it the way Claude Code's agent view does. Hold its mic to talk to that conversation alone (one that's asleep wakes with your words), and tap its speaker to hear its last reply.
Hold any running session's card for Sleep: Claude Code stops and gives the Mac its memory back, the conversation is kept, and Resume wakes it. One that isn't pinned is pinned as it sleeps, so it stays in the list. A session running in a terminal can't sleep from the phone, since that would end it.
If the Mac's Settings allow restarting sessions from the phone, the same menu has Restart session: it reloads the session's tools and MCP servers and carries on in the same conversation. Restart is for terminal sessions.
Search and compose
The magnifier searches every session's history; the pencil sends a typed prompt to a session.
Connection and activity
The status pill at the top opens the connection, as Settings › Connection does: the bridge, pairing (Pair again, Reconnect, Forget this Mac), Tailscale when away, and the activity log of what the bridge did.
Talking to Claude
Talk target
Over the list is where the Action button and Talk to Claude go: “→ my-website” is the saved target, and “↩ data-pipeline · 4m” means it replies to the session that last talked to you, for 4 more minutes. Tap it to clear.
Swipe a card right to make it the saved target, and again to clear it; or use the card's menu (Make Talk Target), or, holding the phone upright, drag the green pill onto it. A card's mic or a Talk to a Session control always goes to its own session; otherwise a session's name said first (“blog drafts, publish the post”) wins, then the last speaker, then the saved target. The Lock Screen shows the same target (“Claude → my-website”). Settings › Talking to Claude has the switches.
Green target pill
On an iPhone with an Action button, held upright, hold the pill at the left edge, beside the Action button, then drag it onto a session or a pinned conversation to make it the talk target. A pinned one is reached by itself, and wakes if it's asleep. On its side or in two panes the pill steps aside: swipe a card instead.
Action button
Join the Push to Talk channel in Settings › Talking to Claude, then set the iPhone's Settings › Action Button › Shortcut › WonderWander › Talk to Claude. Press once and speak, even with the phone locked; press again to send. It sends by itself after a few seconds of silence: 6 unless you change it in Settings › Talking to Claude.
Talk from your Lock Screen
Join the Push to Talk channel first (Settings › Talking to Claude). Then:
- Touch and hold the Lock Screen, then tap Customize.
- Tap − on a control (the flashlight or the camera), then tap + in its place.
- Search for WonderWander and choose Talk to Claude, or Talk to a Session and pick one. Tap Done.
In Control Center: open it, tap + at the top left, then Add a Control. Search for WonderWander and choose Talk to Claude. Press once and speak, even with the phone locked; press again to send.
Talk to a Session
A button for Control Center or the Lock Screen: edit Control Center (or customize the Lock Screen), add WonderWander › Talk to a Session and pick one. Press it to talk to that session alone, with the phone locked; it works like the Action button.
Speech recognition
Your voice becomes text on the phone; only the text reaches the Mac. Settings › Listening › Recogniser: Parakeet runs on the phone's Neural Engine and mishears about a third as many words, after a one-time download of about 480 MB; Apple's model takes over whenever Parakeet isn't ready.
Hearing replies
Replies over Push to Talk
Join the channel in Settings › Talking to Claude: a reply that comes while the app is away then arrives as Claude talking, locked or not, and its notification comes silently. Press the Action button or Talk to Claude while Claude talks to cut in and answer. The Mac's Settings › Notifications › Speak replies over Push to Talk is on unless you turned it off; with it off, or the channel not joined, replies come as notifications.
Read replies aloud for a while
The pill under the lion (at the top of the list with two panes) says whether Claude's replies are read aloud: Read aloud, Read aloud · 1h 12m while a timed window counts down, or Read aloud off. Tap it for 20 minutes, 1, 2, 4 or 8 hours, Always or Off; Settings › Reading aloud › Read aloud on this phone has the same choices.
When a timed window ends, or with it off, replies arrive as quiet notifications: nothing is said, nothing comes over Push to Talk, and nothing chimes. Ask cards and permission requests still appear, and the speaker buttons always play.
Mute a session
Hold a running session's card and choose Mute to stop hearing that one session on this phone: its replies and questions aren't read aloud, nothing comes over Push to Talk, and its notifications arrive quietly. A muted card shows a small crossed-out speaker by its name.
Its permission requests still alert as usual, its ask cards still appear, and its speaker button still reads the last reply; so does tapping its notification. Talking to it still works, but its answer is muted too. It stays muted until you choose Unmute, across restarts, and only on that phone. Settings › Reading aloud counts the muted ones.
In the car
With CarPlay connected, Claude's replies play through the car the way navigation directions do: music dips, a podcast pauses, and both come back when Claude has finished. Replies over Push to Talk play that way too. A reply that comes during a call, or while Siri is listening or talking, isn't read; its speaker button reads it.
Turn off Settings › Reading aloud › Read aloud in the car and, while CarPlay is connected, the phone says nothing by itself and leaves the car's audio alone: replies still arrive as text and quiet notifications, and the speaker buttons still play.
Stop
The red ✕ appears whenever the phone is speaking. Tap it to stop and skip the rest of the reply.
Answering
Permission requests
When Claude Code asks permission to run something, a card appears in the app, on the Lock Screen and in the Dynamic Island. Always adds the rule Claude Code suggests, so it won't ask again. Open goes to that session's transcript, with the card on top. A card has no timer: it stays until you answer it, in the app or at the Mac's terminal (which clears it on the phone too), or the session moves on.
While you're using the Mac, they show in the app only, not on the Lock Screen (see the question about that below). Approve on a Lock Screen card asks for Face ID, Touch ID or your passcode; Deny is always one tap.
Questions and plans
When Claude asks you questions, its card shows every one with its options and, under them, a Write an answer… field, as the Claude app does: pick one for each (or several where it says choose any), or write your own answer in the field (hold its mic to dictate); with several allowed, what you write is added to what you picked. Then Send, which waits until each question has an answer. A picked option's preview shows under it.
The card waits at the end of that session's conversation, and its card in the list shows ASKS. A plan shows Keep planning and Approve; a tap continues in auto mode, hold for accept edits or ask before edits.
Several questions at once
When a session ends its turn with several questions, a numbered list or “Should I merge it? And tag it?”, its ask card shows each one with its own choices first (like Yes, go ahead and No, hold off, Yes and No, or the options it names), and under them a Write an answer… field for your words. A request for information, like “Send me the run ID”, has the field alone.
Answer as many as you like and Send: they go into that session as one reply, numbered to match (“1. Yes”, “2. Postgres”). No single tap answers them all, in the app, in a notification or on the watch: the notification offers Reply, and the watch asks them one at a time.
Ask cards
When a session ends its turn with a question, like “Want me to open the PR?” or “Say the word and I'll deploy”, it is waiting for you: its card in the list turns amber with an ASKS chip, and the phone says the question. Tap the card and its conversation opens at the end, where the ask card waits after Claude's last reply: scroll up for the context, then back down to answer.
Tap Yes, go ahead or No, hold off (or one of the options the question names, like “The cache” or “The retry”), or write your own answer in the card's Write an answer… field and send it; hold the field's mic to dictate, and the words land in the field for you to check first. Your answer is typed into that session. An open question (“Which way should it go?”) has the field alone.
The card has no timer: it stays until you answer, the session gets another prompt (from the Mac too), or a day passes. With the phone away, the question comes as a notification with the same answers; Yes to a destructive or deploy question asks for Face ID first, as Approve does.
Sending things to a session
Photos and files
In a session's reply field (the transcript, or the conversation beside the list), + attaches up to 10: Take Photo, Photo Library, Choose File (iCloud Drive, Downloads and other Files locations) or Paste. Photos, PDFs and text files only: photos up to 20 MB, PDFs 30 MB, text 10 MB.
Each uploads as soon as you add it (a ring shows how far; × removes it), and Send goes once they're all on the Mac. The session's Claude reads them, and they show in the transcript. They go only to the session you're replying to.
The Dossier
Dossier
A listen-later queue for long documents: research reports, multi-agent summaries, design notes. Ask any Claude Code session to “add this to my Dossier” and it sends the whole document, tagged with its project; on the Mac, dossier add report.md does the same. From another app, use the Share Sheet (below); on the Mac, any app's Share menu has WonderWander too.
The speech-bubble button at the top opens it (a cyan count is what came since you last looked). Items are grouped by tag, with what you're part-way through on top. Tap an item to read it, Play to hear it with your own voice: the paragraph being read is highlighted, a tap on any paragraph reads from there, ⏮ ⏭ move by paragraph and the list button jumps to a section.
It keeps playing with the phone locked and in the car, where it plays like a podcast; a reply from a session comes first and the Dossier carries on after. An item heard to the end is marked listened. Swipe left to retag, archive or delete (Undo for 5 seconds; a delete removes it from the Mac too), right to mark it listened.
Step-by-step guides
Ask a session for a step guide (“make me a step-by-step guide for … and add it to my Dossier”). It arrives as a guide, with a second play button, ▶:, beside Play. ▶: reads the preamble, says how it works and stops; from then on each Play or ⏭ (on the phone, the Lock Screen or your headphones; squeeze an AirPod) reads one step and waits, and ⏮ reads the step again. Plain Play reads a guide straight through. Its steps are in the Contents list too.
Apple Watch and away from home
Apple Watch
WonderWander on your watch lists your sessions with the ones waiting for you first, answers approvals and ask cards, and sends a session your words: tap Talk and dictate, or use Scribble. Talk to Claude, at the top of the list, needs no session picked: its words go where the iPhone's Action button would send them now.
It reaches the Mac through the iPhone, so keep the phone nearby; you don't pair the watch. Deny is always one tap. While the iPhone's Settings › Lock Screen › Approve needs Face ID is on, Approve and Yes to a destructive or deploy question ask for your watch's passcode, which an unlocked watch on your wrist already has. Always and plans stay on the phone. Add WonderWander to a watch face, or find it in the Smart Stack, to see how many sessions wait.
Away from home
With Tailscale on both devices and Settings › Connection › Tailscale when away on, the app reaches the bridge over your tailnet. If your tailnet has access rules, they must let the phone reach the Mac on TCP port 17801.
Questions
Before you install
Does it work with claude.ai, Cowork or Claude chat?
No. WonderWander works with Claude Code sessions running on your own Mac. Claude Code on the web runs in Anthropic's cloud, and Cowork and Claude chat aren't Claude Code sessions, so WonderWander can't see them.
Does it work with the Claude desktop app?
Yes, for Claude Code sessions in its Code tab that run on your Mac: you get their approvals, questions and replies, and can talk to them. Restarting a session from the phone is for terminal sessions only. Chat in the desktop app isn't supported.
Does it work in VS Code or JetBrains?
Claude Code run in the editor's built-in terminal works like any terminal session. The Claude Code extension's own chat panel hasn't been tested yet.
Does it cost anything? Do I need an account?
WonderWander is free, on the phone and the Mac, with no account and no in-app purchases. You need your own Claude Code, with a Claude plan or API key, on your Mac.
Why do I need the Mac app?
WonderWander for Mac runs the bridge between your phone and Claude Code. Your sessions stay on the Mac; the phone talks only to it, over an encrypted connection pinned to your Mac's own certificate.
Privacy and security
Where does my voice go?
It's recognised on the phone. Only the text goes to the bridge on your Mac, over your own network.
Where do my photos and files go?
To your Mac only, over the same encrypted, pinned link, and from there to the session you attached them to: its Claude reads them, so they reach Anthropic as part of that conversation, like your words. Before a photo leaves the phone it is re-encoded and everything but the picture is removed: location, camera, date and captions. PDFs keep their own details (an author, say).
The Mac keeps a sent file 7 days so a resumed session can read it again, then deletes it; nothing is saved to your photo library. Over cellular, the app asks before sending more than 25 MB. Video, audio and Office files can't be sent.
Can you read my notifications?
No. They're encrypted on your Mac with a key only your Mac and iPhone hold; our relay delivers them to Apple but can't read them. The privacy policy has the details.
Can someone with my locked iPhone use it?
They can't approve anything while Approve needs Face ID (or Touch ID) is on, as it is unless you turn it off, and Always and plans need the unlocked app. But with Talk and reply while locked on, as it is unless you change it, anyone holding your locked iPhone can send words to a session: Talk to it, Reply to a notification, or answer a question. A session can act on those words without asking, if it runs in auto or bypass permissions mode, or its allow rules already cover what it does.
To close that, turn on Settings › Lock Screen › Require Face ID to talk and reply while locked: Talk, Reply and answers then need the phone unlocked with Face ID, Touch ID or your passcode. Your Apple Watch follows it with its passcode, which it doesn't ask for while it stays on your wrist.
Hearing replies
Why don't I hear replies?
Check the Read aloud pill under the lion: Read aloud off, or a timed window that has ended, means replies arrive as quiet notifications; tap it and pick Always or a time. A card with a crossed-out speaker by its name is muted: hold it and choose Unmute.
Then check Settings › Reading aloud: what's read aloud, that Tell me when a session finishes is on, and, if Only through headphones or the car is on, that headphones are connected. With the phone locked or the app in the background, join the channel in Settings › Talking to Claude, and check that Speak replies over Push to Talk is on in the Mac's Settings (Settings › Reading aloud › While the app is away shows both). In the car, check that Read aloud in the car is on.
In the car the music pauses but I don't hear Claude.
Replies play through CarPlay like navigation directions, at the car's volume for directions, which many cars keep apart from the music's: turn the volume up while Claude is talking. During a call, or while Siri is listening or talking, a reply isn't read; tap its speaker to hear it. Check that Settings › Reading aloud › Read aloud in the car is on.
How do I have replies read aloud for just a while?
Tap the Read aloud pill under the lion and pick 20 minutes, 1, 2, 4 or 8 hours. It counts down, and when it ends replies arrive as quiet notifications until you pick again (a quiet notification says Read aloud ended). Always keeps reading them; Off stops now. Tapping a quiet notification opens the reply without reading it out; its speaker button reads it.
Talking
My prompt went to the wrong session.
The Action button and Talk to Claude go to a session whose name you say first, else to the session that last talked to you (for a few minutes), else to the talk target above the lion. Swipe the card you want right (or drag the green pill onto it), say its name first, or say “tell ‹project› to …”.
Where does Talk to Claude go?
To the first of these: a session whose name you say first (“blog drafts, publish the post” goes to blog-drafts, without its name); the session that last talked to you (a reply over Push to Talk, a spoken completion, an ask card), for 5 minutes after; the saved target (swipe a card right). With none, say “tell ‹project› to …”.
A card's mic, or a Talk to a Session control, always goes to its own session. The name has to come first and match a session's project closely; anything else goes to the usual target unchanged. Turn Answer the last speaker or Say the name first off in Settings › Talking to Claude if they get in the way.
It cut me off mid-sentence.
With the Action button, Talk to Claude or a Talk to a Session button, press again to send. It only sends by itself after the pause set in Settings › Talking to Claude (6 seconds unless you change it).
The Action button or Talk to Claude doesn't listen.
Join the Push to Talk channel in Settings › Talking to Claude. Then set the Action button to WonderWander › Talk to Claude, or add WonderWander › Talk to Claude to the Lock Screen or Control Center (see Talk from your Lock Screen).
My iPhone has no Action button.
Put Talk to Claude on your Lock Screen and in Control Center instead (see Talk from your Lock Screen). It does the same: press once and speak, even with the phone locked; press again to send.
Approvals and questions
Why don't approvals show on my Lock Screen while I'm at the Mac?
On purpose. When a permission request comes in while you have used the Mac's keyboard or mouse in the last few minutes (3 unless you change it in the Mac's Settings › Notifications › Approvals on the Lock Screen), you're at the desk and the terminal shows the same prompt, so the phone shows its card in the app but starts no Lock Screen card and sends no notification. Step away while it's still open and the Lock Screen card and notification come then. Set it to Always for the old behaviour.
What is an ask card?
A question a session ended its turn with (“Shall I merge it?”). It isn't a permission request: nothing is paused. Answer it with a tap or your own words and the answer goes into that session as your next prompt. It goes away by itself once the session gets a prompt from anywhere, including the Mac.
Why can't I attach to this session?
+ shows only for a running session, on an encrypted pairing (not Legacy), with a bridge that offers attachments. A session in a container (Docker, a dev container) can't see them yet: its chip says so. Mission control's compose sends to a project, which may be several sessions, so it has no +: open the session and reply there.
The Dossier
How do I get a report into my Dossier?
In any Claude Code session, say or type “add this to my Dossier” (or “save this for listening later”): the session sends the complete document with the Dossier's own tool, tagged with its project. From the Mac's terminal, dossier add report.md (add --tag Research to choose its group). From another app on the phone, Share › WonderWander; on the Mac, the Share menu's WonderWander in Safari, Notes, Mail or Finder. It shows on the phone with the Mac connected; with the phone away, a quiet notification says it came.
Does the Dossier play without the Mac?
Yes, for what's already on the phone: an item's text is kept once you've opened it or the phone has fetched it (it fetches what you haven't heard yet whenever it's connected), so it plays in the car or on a train. A new item, or a delete, waits for the Mac. The Dossier needs an encrypted pairing: a Legacy one shows nothing.
Why did an item leave my Dossier?
You deleted it (on this phone or another), or it was listened to and Remove listened after (⋯ in the Dossier, set on your Mac for every phone) said its time was up. Only listened items are ever removed by themselves. A removed item is gone from the Mac too: there is no trash.
Sessions
A session is missing from the list.
Only Claude Code sessions running on the paired Mac appear (see What it works with); pinned ones are under Pinned, and asleep ones show Resume there. Check the bridge is running: its lion is in the Mac's menu bar, with a dot at its top right while a phone is connected (a ring while none is, and no dot when the bridge isn't running). A session that was already running when you set WonderWander up appears once it restarts.
My Claude Code runs in Docker or a dev container.
On the Mac, open the lion menu › Set Up WonderWander… › Claude Code in a container…: it gives the container its own token and two lines to paste, then says Connected. Its sessions show in the app labelled with its name, with approvals, prompts and replies. The phone can't resume, restart or put them to sleep, because the Mac can't reach inside the container: do those there.
Pairing and connecting
It says Pair with your Mac.
On the Mac choose the lion menu › Pair a Device…, then in the app tap Scan the Mac's QR. The pairing is encrypted and pinned to that Mac's certificate. If the Mac refused this phone's pairing (revoked, or forgotten there), the screen says so. Forget this Mac (in the status pill) makes the bridge forget the phone too, and brings you back to pairing.
It says Not encrypted — pair again.
The phone was paired before the link was encrypted. Pair again the same way (the lion menu › Pair a Device…, then status pill › Pair again): from then on the link is encrypted and only your Mac's certificate is accepted.
Does it work away from home?
Yes, with Tailscale on both devices and Tailscale when away on in Settings › Connection. If your tailnet has access rules, they must let the phone reach the Mac on TCP 17801.
Pairing or connecting over Tailscale doesn't work.
Check that Tailscale is connected on both the phone and the Mac, and that Settings › Connection › Tailscale when away is on. If your tailnet has access rules, they must let the phone reach the Mac on TCP 17801 (17800 only for a Legacy pairing); tailscale ping ignores those rules, so it can answer while the app can't connect.
If the Mac signed in to Tailscale again, it has a new tailnet address: open Tailscale on the phone and refresh the Mac's entry, or turn Tailscale off and on; if it still can't connect, pair again. To test, set the Mac's Settings › Phones connect over to The local network and pair on Wi-Fi. If that works, it's the tailnet.
Apple Watch
Why does my watch say Open WonderWander on your iPhone?
The watch reaches the Mac only through the iPhone app. It says so when it can't reach the phone (out of range or switched off), or the phone can't start WonderWander in the background, which happens after you swipe it away in the app switcher: open it once. Approvals, answers and Talk to Claude never wait for the phone; words for one session wait up to 15 minutes, then are dropped.
Why does my watch say Approve on iPhone?
Your phone asks for Face ID to approve from the Lock Screen, and the watch meets that with its own passcode. With no passcode on the watch (Watch app › Passcode), it leaves Approve, and Yes to a destructive or deploy question, to the phone. Always, a plan and a question with several parts are answered on the phone too.
When something's wrong
- On the Mac: click the lion in the menu bar and choose Set Up WonderWander…. It checks the background service, Claude Code, its hooks, containers, your phone, Tailscale and notifications, and says what to do about anything that isn't working.
- On the phone: tap the status pill at the top. It shows the bridge, the pairing and the activity log of what the bridge did.
- Still stuck: look for your question above, or get in touch.
Get in touch
Questions, problems or ideas: email [email protected]. Please say which devices you use, which versions (the app's Help › About shows both), and what Set Up WonderWander… on the Mac reports.