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

# Remote control

Remote control reaches your own computer from the Cloud app. Continue a chat from your phone, open the computer's
projects from any browser, approve what the agent wants to do, and check the changes. Everything still runs on your
computer: its files, its chats and its model keys stay there.

Choose a remote host when the work belongs on your machine, such as a local repository, your own tools or your own
model keys. Choose a [Cloud workspace](https://haarness.ai/docs/cloud/workspaces.md) when the work should keep going while your computer is
off.

**Remote control** in the Cloud app has two tabs, one for each way in:

| You want to | Do this | It appears under |
| --- | --- | --- |
| Pick up one chat on your phone or in a browser | Type `/rc` in that chat | **Chats** |
| Open any project on the computer, with its files and terminal | Run `haarness remote enable` once | **Hosts** |

## Continue a chat on your phone

In a chat in Haarness Desktop or the terminal UI, type:

```text
/rc
```

`/remote-control` works too. Haarness connects the chat to Cloud and shows a QR code and a link. Scan the code with
your phone's camera, or open the link in any browser signed in to Haarness Cloud with the same account. The chat
opens with its history, and anything you send from there runs on your computer.

With [Haarness for iPhone](https://haarness.ai/docs/cloud/iphone.md) or [Haarness for Android](https://haarness.ai/docs/cloud/android.md) installed, the code
and the link open the chat in the app. The app can also notify you when the chat needs an approval or an answer, and
you can answer from the notification.

- The chat is listed in **Remote control › Chats**, with the computer it runs on.
- While it is shared, Desktop shows a **Remote** chip beside the composer and the terminal UI shows `remote` in the
  status band. Run `/rc` again to see the link and code.
- It stays reachable while the computer is awake and online, even after you close Haarness.
- Not signed in to Haarness Cloud yet? `/rc` offers to sign you in, then shares the chat.

To stop, run `/rc stop`, choose **Stop sharing** in the dialog, or choose **Stop sharing** next to the chat in
**Remote control › Chats**. The chat and its work stay on your computer. Sharing it again gives a new link.

> In a team account, members with builder access or above can use a shared chat too, and viewers see it listed.
> A shared chat still works in its project folder, like every chat, and includes the agents it started. Sharing
> it does not limit which files the agent can read and change there. Other chats and the computer's terminal stay
> private.

From a script, `haarness remote enable --chat CHAT_ID` does the same; `haarness sessions list` shows chat IDs, and
`haarness remote sessions` lists the chats you share.

## Connect your computer

To reach every project on the computer, on that computer, in a terminal:

```sh
haarness login
cd ~/code/my-project
haarness remote enable --name "Work laptop"
```

`remote enable` starts a small background connector. It connects out to Cloud, so you do not need to open a port,
set up SSH or run a tunnel. Check that it is running, and see this computer's host ID, with:

```sh
haarness remote status
```

Keep the computer awake and online while you want to reach it.

## Work on it from the browser

1. Open **Remote control › Hosts** in the Cloud app and pick your computer.
2. Open a project from the list, or choose **Open a folder on this computer** to browse to another one.
3. Start a new chat or continue one.

You get the same chat as on your computer, with streaming answers, approvals, files, changes and a terminal. Chats
in one project share that project's folder. On a phone, Haarness for iPhone and Haarness for Android list the same
computers and projects under **Remote › Hosts**.

**Close project** hides a project from remote access. Its files and chats stay on your computer, and opening it
again brings them back. **Rename** on the host changes the name Cloud shows for the computer.

## Disconnect

| You want to | Do this |
| --- | --- |
| Pause remote access for now | On that computer, `haarness remote disable HOST_ID`; `haarness remote enable` starts it again |
| Remove the computer from Cloud | **Remove access** on the host, or `haarness remote revoke HOST_ID` |
| Connect it again after removing it | On that computer, `haarness remote enable`: it registers the computer again |

`haarness remote status` shows the host ID of the connector on the computer you run it on; `haarness remote hosts`
lists every computer connected to your account. Disconnecting never deletes files or chats, and work that is
already running on the computer keeps going.

## Start it with your computer

The connector that `remote enable` starts does not come back after your computer restarts. To keep a computer
reachable all the time, run `haarness remote run` under your system's service manager, such as launchd, systemd or
Task Scheduler.

## Good to know

- **Model usage** follows your computer's settings: its own provider keys, or Haarness Cloud if you chose it there.
- **If the connection drops,** work that is running on your computer keeps going. When you reconnect, check the
  chat before you send the same thing again.
- **API keys** can reach remote hosts too, with the **Read remote hosts**, **Connect a remote host** and **Control
  remote hosts** permissions. See [Cloud API](https://haarness.ai/docs/cloud/api.md#permissions).
