What to try with a real Mac, a real iPhone and a real agent before Remote goes to testers. Each step says what should happen. Note anything else, with the time, so it can be found in the Mac's log.
- Farol on the Mac from source, against your copy of this package: in
farol, runswift package edit farol-remote --path ../farol-remote, thenmake run. Runswift package unedit farol-remoteandgit checkout Package.resolvedwhen you are done. - Farol for iPhone from Xcode on your phone, with your copy of this package dragged into the project.
- In Settings → Remote on the Mac, turn Remote on. If a row asks to update or connect Claude Code, do it, then start Claude Code again so it asks to approve the new hooks once.
- Pair the phone with the code.
- The list groups sessions under Needs you, Working, and Done and idle. A session moves between them within a second of its dot changing on the Mac.
- New session starts Claude Code in the project you pick. The phone opens it on "Nothing said yet", not on the terminal.
- Your first message there reaches the agent, shows as Sending then Sent, and the conversation fills in as the agent answers.
- "Open a plain shell instead" opens a shell, straight on its terminal.
Ask the agent for something that needs permission, like "run ls in a new folder you create".
- A Bash approval shows "Needs your approval", the command, and the answers as buttons, numbered as on the Mac.
- Tapping Yes runs it. The card says "Sending your answer…" until the agent moves on.
- Tap an answer twice fast. Only one is typed on the Mac.
- Answer on the Mac while the card is on the phone, then tap on the phone. The phone's tap is refused and nothing is typed.
- An Edit approval shows the file and the start of the change.
- A question from AskUserQuestion shows "Asks you", the question, and each answer with its description. Picking one answers it.
- A question with several parts falls back to the options read off the screen, and still answers.
- With Codex, an approval shows and answers from the options read off the screen.
- A reply while the agent works shows as Queued, then joins the conversation once the agent reads it.
- A long paste of 20 lines folds to 8 with Show all, and shows once in the conversation, not twice.
- Turn on airplane mode, send a reply: it shows "Sends when your Mac is back" with a dashed outline. Turn airplane mode off: it goes, once.
-
/clearin Claude Code, from the phone: the conversation starts over. - Stop, and Interrupt from the ⋯ menu, stop the agent.
- + in the reply picks a screenshot. Its thumbnail fills a ring as it goes, and Send waits for it.
- Sent with a question, the agent looks at the picture and answers about it, in Claude Code and in Codex.
- Your message shows "Picture" above your words, not a path.
- Four photos at once all arrive. A large photo from the camera arrives too, made smaller on the way.
- Turn on airplane mode while a picture is on its way, then off: it finishes, once.
- The file is in ~/Library/Caches/Farol/Attachments on the Mac, and only you can read it.
- The terminal icon opens the terminal as a screen. Typing
lsthere shows its output within a moment. - Output that runs, like
ping -c 5 1.1.1.1, appears line by line, and the screen follows it unless you scroll up. - ctrl → ⌃C stops it. ⌃D ends a shell. ⌃R searches its history.
- Show earlier output brings back what scrolled off. In Claude Code it says there is nothing earlier.
- Going back to the conversation and into the terminal again keeps the conversation where it was.
- With the app closed, a waiting agent notifies, and tapping the notification opens that session.
- The Live Activity counts what waits and works, and ends when nothing does.
- The new iPhone app with the released Farol on the Mac: sessions, conversations and answers work. The terminal says to update Farol on the Mac, and has no ctrl key.
- The released iPhone app with the new Farol on the Mac: sessions, the screen and replies work.
- The new iPhone app with
farol-hoston a server: its sessions open on their terminal, and replies work.
- Put the Mac to sleep and wake it: the phone reconnects by itself within a few seconds, on the same session.
- Switch the phone from Wi-Fi to cellular mid-session: it reconnects, and nothing sent is lost or sent twice.
- Quit Farol on the Mac: the phone says the Mac is not connected. Open it again: the phone comes back.