> ## Documentation index
> Fetch the complete documentation index at: https://haarness.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Haarness for iPhone

Haarness for iPhone keeps your agents within reach. See what needs you, approve or answer in one tap, even from
the Lock Screen, and pick up any chat on your computers or in Haarness Cloud. The work still runs where it always
did: on your computer, or in a Cloud workspace.

> Haarness for iPhone is coming soon to the App Store. Until then, the Cloud app at
> [haarness.ai](https://haarness.ai) works in your phone's browser, with the same chats and approvals.

It runs on iPhone and iPad with iOS 18 or iPadOS 18 or later. On an iPad, the list stays in a sidebar and the chat
you open sits beside it.

## Sign in

1. Open the app and tap **Sign in**. Haarness Cloud's sign-in page opens: use the same account as on your computer,
   with Apple, Google or your email.
2. To reach your computer's projects, connect it once with `haarness remote enable`. See
   [Remote control](https://haarness.ai/docs/cloud/remote-hosts.md#connect-your-computer).

**Use an API key** signs in with a key instead. Create it in the Cloud app under **API keys** (sidebar,
**Developers**) with **Read remote hosts**, **Control remote hosts**, **Read workspaces**, **Manage workspaces** and
**Use chats and files**. A key sign-in gets no notifications and cannot delete your account; sign in with the
browser for those.

The app has three tabs:

| Tab | What it holds |
| --- | --- |
| **Today** | A box to start an agent, **Needs you**, the chats to **Continue** and what is **Live** |
| **Remote** | Chats shared with `/rc` (**Chats**) and your computers (**Hosts**) |
| **Cloud** | Your Cloud **Workspaces**, Cloud **Agents** and **Schedules** |

Tap your avatar at the top of a page for your profile: your plan, notifications, appearance and theme, privacy and
**Sign out**. If you belong to a team, pick it under **Account**: workspaces, computers, schedules and billing follow
the account you choose.

## Agree to send to AI models

The first time you send an agent something, such as a message, a photo, a file, an answer to its question, a note
with a rejection or a schedule prompt, the app shows **Sending to AI models**. What you send goes to the AI model the
chat uses, from a provider such as Anthropic, OpenAI or Google, through Haarness Cloud or the computer you connected.
Haarness does not use it to train models.

- **Agree and continue** sends what was waiting. The app does not ask again on this phone.
- **Not now** sends nothing and keeps your message.

**Allow once** and **Reject** send no words of yours, so they work without it. In the share sheet, the button reads
**Agree and send** until you agree.

To withdraw it, tap your avatar and, under **Privacy**, turn off **Send to AI models**, then choose **Stop**. Agents
then get no new messages, photos, files or answers from this phone, while their work on your computers and in Cloud
goes on. Signing out withdraws it too.

## Answer what needs you

**Needs you** on **Today** lists every approval and question waiting in your account, on your computers and in
your Cloud workspaces, with the chat and where it runs.

- Swipe an approval right to **Allow once** or left to **Reject**, or tap it to open its chat. When **Reject** would
  also stop other requests waiting in that chat, the app asks first.
- **Review all** goes through the waiting requests one at a time and shows each one in full.
- In a chat, the request waits above the message box, as on Desktop. Read the command, file or page it asks about,
  then choose **Allow once**, **Always…** or **Reject**. **Tell the agent what to do instead…** turns **Reject** into
  **Send**, with your note.
- A chat that finished shows as **Finished** until you open it. Swipe it to **Dismiss**, or use **Clear finished**;
  the chats themselves stay.

A request for a website in your Chrome, in a chat shared with `/rc`, shows **Answer this on the computer running
Chrome.** It can only be answered there.

## Get notified when an agent needs you

The app never asks to send notifications when you first open it. **Today** shows **Get a nudge when an agent needs
you**; tap **Turn on**, then allow notifications. The app asks once more after you send your first message, and
**Turn on** is also in your profile under **Notifications**.

You are notified when:

| What happened | The notification says |
| --- | --- |
| An agent asks for approval | What it wants, such as "Wants to run a command" |
| An agent asks you a question | "Has a question for you" |
| A chat finishes | "Finished" (not for runs a schedule started) |
| A chat stops with an error | "Stopped with an error" |
| Your credits, payments or two-factor sign-in change | Such as "Your AI credits are used up" |

Each notification names the chat, and the project and computer or the Cloud workspace. It goes to the person who
connected that computer or started that Cloud workspace, and the app icon counts the requests waiting on them.

- Each chat has one notification at a time: answer it and the next request in that chat takes its place, without a
  sound. A request answered anywhere else leaves your phone. While the app is open, the chat on screen gets no
  notification and the others arrive without a sound.
- Approvals and questions are Time Sensitive, so a Focus lets them through unless Time Sensitive is off for Haarness
  in iPhone Settings; your profile tells you when it is.
- **Finished** comes once the chat is done, helper agents included. Stopping a chat yourself sends nothing.
- A request can only be answered while its computer is online. After half a minute offline, its notifications go
  away; what still waits comes back, without a sound, when the computer does.
- Removing a computer, no longer sharing a chat, deleting a Cloud workspace or leaving a team clears its notifications.

## Answer from the Lock Screen

Touch and hold an approval notification:

- **Allow once** allows this request.
- **Reject** rejects it, and the other requests waiting in that chat.
- **Reply** rejects it with a note, such as "Use the staging database instead".

A question offers **Answer** when it accepts your own words; otherwise tap the notification to choose in the chat.
**Allow once**, **Reply** and **Answer** ask you to unlock your iPhone first; **Reject** works while it is locked.
**Reply** and **Answer** send your words to the agent, so they appear once you have agreed to
[send to AI models](https://haarness.ai/docs/cloud/iphone.md#agree-to-send-to-ai-models).

A request for a website in your Chrome has no buttons: tap it to open the chat. The notification never shows the
command or the question itself; tap it to read them in the chat. If an answer cannot be sent, a notification says
**Couldn't send your answer — open Haarness**.

## Follow a chat in a Live Activity

When you send a message from the phone, or start a Cloud workspace there, a Live Activity follows the chat on the
Lock Screen and in the Dynamic Island: **Working**, then **Needs you** (with how many requests wait), **Done**,
**Failed** or **Stopped**, with the chat's title, where it runs and how long it has been going. Tap it to open the
chat.

A new request lights up the Dynamic Island without a sound of its own: the request's notification is the one sound
you hear. **Done** and **Failed** stay for an hour; a chat you stop leaves at once. Chats started elsewhere get no
Live Activity. To turn them off on this phone, use the **Live Activities** switch in your profile, under
**Notifications**.

## Choose which notifications you get

Tap your avatar; the **Notifications** section is in your profile:

- **Notifications** says whether they are **On**, **Quiet** or **Off** for Haarness on this phone. **Turn on** asks
  for permission, and **Open Settings** opens iPhone Settings when they are off.
- **Approvals and questions**, **Finished**, **Errors**, **Billing** and **Security** turn each kind on or off for
  you: every phone you are signed in on follows the same choices, and so does **Settings → Notifications** in the
  Cloud app. With **Approvals and questions** off, the app icon does not count waiting requests either.
- **Live Activities** turns them on or off for this phone only.
- **Send a test notification** checks that notifications arrive.

Sound, banners and Focus are set on each phone, in iPhone **Settings → Notifications → Haarness**.

## Stop notifications on one phone

**Settings → Notifications** in the Cloud app lists the phones that get your notifications, iPhones and Android
phones, with when each signed in and was last notified. The switches above apply to all of them; to change one phone
only:

- **Silence it:** on that phone, open iPhone **Settings → Notifications → Haarness** and turn off **Allow
  Notifications**. The phone stays signed in, and your other phones keep getting notifications.
- **Stop it entirely:** sign the phone out. Sign out in the app (avatar, then **Sign out**), or choose **Revoke**
  next to the phone in **Settings → Devices** in the Cloud app. It is listed under **Phones and tablets** with the
  same sign-in date, named after its model and system, such as "iPhone · iOS 26". A phone that is signed out gets
  no notifications.

## Open links and QR codes in the app

With the app installed, these Haarness Cloud links open in the app instead of the browser:

| Link | Opens |
| --- | --- |
| A chat shared with `/rc`, or its QR code | That chat |
| A project on a computer, or a chat in it | That project or chat |
| A computer | **Remote › Hosts** |
| A Cloud workspace, or a chat in it | That workspace or chat |
| A schedule | That schedule |

Scan the `/rc` QR code with the Camera, or tap a link in Messages, Mail or Notes. Other Haarness Cloud pages, such
as billing, open in the browser, and so does a link you tap inside the Cloud app in Safari.

## Start Cloud workspaces and schedules

- **Start an agent:** on **Today**, type what the agent should do, pick where it runs (a project on a computer, a
  Cloud agent or a blank Cloud workspace) and send. For a Cloud workspace, Cloud sends your message as soon as the
  machine is ready, so you can close the app. **New workspace** on the **Cloud** tab, and **Start** beside a Cloud
  agent, start one too.
- **Cloud workspaces:** open one to chat with it. Its menu has **Stop** or **Start**, **Delete…** and **Settings…**,
  where you rename it, keep it awake, choose when it sleeps, change its model or instructions, or save it as a
  Cloud agent.
- **Schedules:** **Cloud › Schedules** lists each schedule with its next and last run. Swipe one right to **Run
  now**, or left to **Pause**, **Resume** or **Delete**; open it to see its runs or **Edit** it. To schedule a
  prompt, choose **Schedule this chat…** in a Cloud workspace chat's menu. See
  [Schedule prompts](https://haarness.ai/docs/cloud/schedules.md).

## Manage your computers and shared chats

On **Remote › Hosts**, each computer lists its projects. **Add** opens a folder on that computer as a project, and
swiping a project to **Close** hides it from remote access; its files and chats stay. A computer's menu has
**Rename…** and **Remove access…**, which disconnects it from Cloud and keeps everything on the computer. On
**Remote › Chats**, swipe a shared chat to **Stop sharing**.

## Work in a chat

A chat on the phone works as on Desktop:

- Choose its approvals from **+**: **Review**, **Auto** or **Yolo**. A mode other than the default shows as a pill next
  to the model, and Yolo always shows, in red.
- Attach **Photos**, **Files** or a **Camera** photo; type `/` for commands and `@` for files and agents.
- Send while the agent works to steer it. Touch and hold the send button to choose whether the message steers the
  current work or waits for the next turn.
- The chat's menu has **Find in chat**, **Fork chat**, **Undo last turn**, **Share transcript** and **Archive**.

## Report an agent's reply

If an agent writes something harmful, hateful, sexual, malicious or false, touch and hold the reply and choose
**Report**. Pick what is wrong, add a note if you like and tap **Send report**. The report goes to the Haarness team
with the reply's text, the model when the app knows it and where the reply appeared, so we can review it even after
the chat is gone. We keep reports for a year; see the [Privacy policy](https://haarness.ai/privacy).

## More ways in

- The **Needs you** widget, for the Home Screen and the Lock Screen, shows what waits on you, or **All clear**. Tap
  it to open the chat, or **Today** when several wait.
- Share text, a link, a photo or a PDF from another app and pick **Haarness**: **Send to Haarness** starts a chat
  with it. Photos and PDFs go to projects on your computers.
- **Siri, Spotlight and Shortcuts:** "Start an agent in Haarness" asks what the agent should do and starts it where
  you last started one. "What needs me in Haarness" opens **Today**, with **Review all** when something waits.

## Plans and credits

Your profile shows your plan under **Plan**: how much of this month's included AI credits is left and when they
refill, your purchased credits, and a warning if the last payment failed.

Haarness for iPhone sells nothing. To choose or change a plan, buy credits or update your card, go to
[haarness.ai](https://haarness.ai) in a browser and open **Billing**. On the US App Store, **See plans** or **Manage
billing** in your profile opens it in Safari for you. If Safari is signed in as someone else, the billing page says
so and offers **Sign in as someone else**. See [Credits and plans](https://haarness.ai/docs/cloud/credits-and-plans.md).

## Delete your account

Tap your avatar, then **Delete account** under **Sign out**. The app shows what is deleted, asks you to type your
email address or `DELETE`, as it shows, and a two-factor code if you use one, then deletes your Haarness account and signs out. See
[Delete your Haarness account](https://haarness.ai/docs/cloud/delete-account.md) for what is kept, and what a team owner does first.

## What goes through Apple

Notifications reach your iPhone through Apple Push Notification service. Apple receives your phone's notification
address and what the notification shows: the chat title, the project, computer or workspace name, the kind of
request, such as "Wants to run a command", and the IDs the app needs to open the chat. A Live Activity update
carries the chat's state and how many requests wait. A chat's title comes from its first message unless you name the
chat, so it can repeat the start of what you asked. Notifications never carry the rest of your messages, the agent's
replies, commands, file contents or questions. See
[Data and storage](https://haarness.ai/docs/security/data-and-storage.md#notifications-on-your-phone).

## Next

- [Remote control](https://haarness.ai/docs/cloud/remote-hosts.md): share a chat or connect your computer
- [Permissions](https://haarness.ai/docs/security/permissions.md): what an agent may do without asking
