> ## 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 Android

Haarness for Android puts your agents on your Android phone or tablet: see what needs you, allow or answer in one
tap, even from a notification, and pick up any chat on your computers or in Haarness Cloud. The work still runs on
your computer or in a Cloud workspace.

> Haarness for Android is coming soon to Google Play; there is no other download yet. Until then, the Cloud app at
> [haarness.ai](https://haarness.ai) works in your phone's browser, with the same chats and approvals.

It needs Android 9 or later. On a tablet, or an unfolded foldable, the list and the open chat sit side by side.

## Sign in

1. Open the app and tap **Sign in**. Haarness Cloud's sign-in page opens in your browser. Use the same account as on
   your computer, or create one there.
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).

To sign in with a key instead, tap **Use an API key**. Create the key 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**. With a key, Haarness Cloud sends the phone no notifications (the app checks for them
itself), and the profile has no per-kind notification switches and no **Delete account**.

## Find your way around

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

Tap your avatar at the top of a page for your profile: **Plan**, **Notifications**, **Appearance**, **Theme**,
**Privacy**, **Sign out** and **Delete account**. If you belong to a team, switch to 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 a message, photo, file, answer or note, 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 your computer. 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.

The share sheet's button reads **Agree and send** until you agree. **Allow once** and **Reject** send no words of
yours, so they work without agreeing. To withdraw, turn off **Send to AI models** under **Privacy** in your profile
and choose **Stop**; signing out withdraws it too. Agents' work on your computers and in Cloud goes on either way.

## Answer what needs you

**Needs you** on **Today** lists every approval and question waiting on your computers and in your Cloud workspaces.

- Swipe an approval right for **Allow once** or left for **Reject**, or tap it to open its chat. Touch and hold it for
  **Review all**, which shows the waiting requests one at a time, in full.
- In a chat, the request waits above the message box. Read what it asks for, then choose **Allow once**, **Always…**
  or **Reject**. **Tell the agent what to do instead…** turns **Reject** into **Send**, with your note.
- Finished chats stay listed until you open them. Swipe one to **Dismiss**, or tap **Clear finished**.

A request to use a site in your Chrome shows **Answer this on the computer running Chrome.**

## Get notified when an agent needs you

1. On **Today**, find **Get a nudge when an agent needs you** and tap **Turn on**.
2. Allow notifications when Android asks.

The app never asks the moment you open it. If you tap **Not now**, it asks once more after your first message, and
**Turn on** stays in your profile. On Android 12 and earlier there is no prompt: notifications are already on.

You are notified when an agent asks for approval ("Wants to run a command") or asks a question, when a chat you
started finishes (not runs a schedule started) or stops with an error, and about billing and two-factor changes. Each
notification names the chat and where it runs. A request answered elsewhere disappears, the chat you have open gets
none, and they make no sound while the app is open. They go to whoever connected the computer or started the Cloud
workspace.

### How notifications arrive

When your Haarness Cloud sends notifications to Android phones, they arrive through Firebase Cloud Messaging, Google's
push service, within seconds, even with the app closed. Your iPhone and Android phone get the same ones, and an answer
on one clears both. **Settings → Notifications** in the Cloud app says which phones yours sends to.

Otherwise the app checks for itself: at once while it is open, and about every 15 minutes in the background while
online (Android may wait longer to save battery). That is the case with an API-key sign-in, on a phone without Google
Play services, or when your Haarness Cloud does not send to Android phones.

## Answer from the notification

Expand an approval notification and tap **Allow once**, **Reject** (which also rejects the other requests waiting in
that chat) or **Reply**, which rejects it with your note. A question offers **Answer** when it takes your own words;
otherwise tap it to choose in the chat. On Android 12 and later, **Allow once**, **Reply** and **Answer** ask you to
unlock the phone first.

**Reply** and **Answer** appear only once you have
[agreed to send to AI models](https://haarness.ai/docs/cloud/android.md#agree-to-send-to-ai-models). Chrome site requests have no buttons.
The notification never shows the command or the question: tap it to read them. If an answer cannot be sent, it
changes to **Couldn't send your answer — open Haarness**.

## Choose which notifications you get

The **Notifications** section of your profile has:

- **Notifications**: **On**, **Quiet** or **Off** on this phone, with **Turn on** or **Open Settings**.
- **Approvals and questions**, **Finished**, **Errors**, **Billing** and **Security**: each kind on or off on every
  phone you use, the same switches as **Settings → Notifications** in the Cloud app (browser sign-in only).
- **Live updates** (below), set per phone, and **Send a test notification**.

Sound, pop-ups and Do Not Disturb are set per channel in Android **Settings → Apps → Haarness → Notifications**:
**Needs you**, **Finished**, **Errors**, **Billing**, **Security**, **Live updates** and **Other**.

## Stop notifications on one phone

- **Silence it:** turn off notifications in that phone's **Settings → Apps → Haarness → Notifications**. It stays
  signed in; your other phones still get notified.
- **Stop it entirely:** sign it out, in the app (**Sign out** in your profile) or with **Revoke** in the Cloud app's
  **Settings → Devices**. It is listed under **Phones and tablets** by model, such as "Pixel 8 · Android 16", or as
  **Android phone or tablet**.

## Follow a chat in a live update

When you send an agent work from this phone, a live update follows the chat in your notifications: **Working**,
**Needs you**, then **Done**, **Failed** or **Stopped**, with where it runs and how long it has run. On Android 16 it
can show as a chip in the status bar. **Done** and **Failed** stay up to an hour.

With the app closed, it keeps moving only when your Haarness Cloud sends notifications to Android phones; otherwise it
shows what the app last saw. Turn it off with the **Live updates** switch or channel.

## Chat from your phone

- **+** beside the message field attaches **Photos**, **Files** or a **Camera** shot: up to 8 attachments and 11 MB
  per message.
- Type `/` for commands and `@` for files and agents. The model pill picks the model and its reasoning, and **+** also
  picks the agent and the approvals: **Review**, **Auto** or **Yolo** (shown in red while it is on).
- While the agent works, touch and hold send to choose **Steer now** or **Queue for after this turn**.
- The **⋯** menu has **Review changes**, **Find in chat**, **Fork chat**, **Undo last turn** and
  **Share transcript**.

## Start Cloud workspaces and schedules

- **Start an agent:** on **Today**, type the task, pick where it runs (a project on a computer, a Cloud agent or
  **New Cloud workspace**) and send. A Cloud workspace gets your message once its machine is ready, so you can close the
  app.
- **Cloud workspaces:** touch and hold one for **Stop** or **Start**, **Settings…** (name, sleep, model, instructions,
  save as a Cloud agent) and **Delete…**.
- **Schedules:** **Cloud › Schedules** lists each with its next and last run. Swipe one to **Run now**, **Pause**,
  **Resume** or **Delete**; touch and hold for **Edit…**. To make one, choose **Schedule this chat…** in a Cloud
  workspace chat's menu. See [Schedule prompts](https://haarness.ai/docs/cloud/schedules.md).
- **Computers:** in **Remote › Hosts**, **Add** opens another folder as a project; the menu has **Rename…** and
  **Remove access…**.

## Open Haarness links in the app

Links to a `/rc` chat, a computer or project, a Cloud workspace or chat, and a schedule open in the app, as does the
`/rc` QR code scanned with your camera. If they open in the browser, add the Haarness links in Android
**Settings → Apps → Haarness → Open by default**. A Haarness page the app has no screen for opens in a browser tab
over the app.

## Use the widget, share sheet and app shortcuts

- **Needs you widget:** shows on your Home screen how many requests wait and the first of them, or **All clear**, as
  of the app's last look. Tap it to open the chat. Make it wider to see more.
- **Share sheet:** share text, a link, a photo or a PDF and pick **Haarness** to start a chat with it. Photos and PDFs
  go to projects on your computers; text can also start a Cloud agent.
- **App shortcuts:** touch and hold the app icon for **Start an agent**, **What needs me** and your recent chats.

## Report an agent's reply

Touch and hold a harmful, hateful, sexual, malicious or false reply and choose **Report**. Pick what is wrong, add a
note if you like and tap **Send report**. The Haarness team gets the reply's text, the model and where it appeared,
and keeps the report for a year ([Privacy policy](https://haarness.ai/privacy)). No **Report**? Your Haarness Cloud doesn't support it
yet.

## Check your plan and credits

**Plan** in your profile shows your plan, the included AI credits left, purchased credits and a failed payment. The
app sells nothing: to change a plan, buy credits or update your card, open **Billing** at
[haarness.ai](https://haarness.ai) in a browser. See [Credits and plans](https://haarness.ai/docs/cloud/credits-and-plans.md).

## Delete your account

1. In your profile, tap **Delete account**, under **Sign out**.
2. Read what is deleted. Type what the app asks for (your email address or `DELETE`) and, with two-factor
   authentication, a code.
3. Tap **Delete account**. The app signs out.

The only owner of a team others belong to must make someone else an owner first. See
[Delete your Haarness account](https://haarness.ai/docs/cloud/delete-account.md) for what is kept.

## What goes through Google

When your Haarness Cloud sends notifications to Android phones, Firebase Cloud Messaging carries them. Google
receives your phone's notification token and what the notification shows: the chat title, the project and computer or
the workspace name, a fixed phrase such as "Wants to run a command", how many requests wait, and the IDs the app needs
to open the chat. Never your messages, the agent's replies, commands, file contents or questions. A chat's title comes
from its first message unless you rename it, so it can repeat the start of what you asked.

The app gets a token from Google only after a browser sign-in with notifications allowed, and uses Firebase for
nothing else: no analytics or crash reports. When the app checks for itself, nothing goes through Google. 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
