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

# Remote connections

Remote connections let you access work running on another device or machine.
In the ZeroTwo mobile app, open **Remote** to work with ZeroTwo or ZeroCode chats on
a connected Mac or Windows device. You can also continue work from another
supported device running the ZeroTwo desktop app or connect the app to projects
on an SSH host.

Remote access uses the connected host's projects, chats, files, credentials,
permissions, plugins, Computer Use, browser setup, and local tools.

## What you can do remotely

* Start new chats in projects on the host, or continue existing ones.
* Send follow-up instructions, answer questions, and steer active work.
* Approve commands and other actions.
* Review outputs, diffs, test results, terminal output, and screenshots.
* Get notified when ZeroTwo completes a task or needs your attention.
* Switch between connected hosts and chats.

The next sections cover opening **Remote** in the ZeroTwo mobile app to access a
desktop host. To connect ZeroCode to a project on an SSH host, see
[connect to an SSH host](#connect-to-an-ssh-host).

<Frame>
  <img className="block dark:hidden" src="https://mintcdn.com/zerotwo/B2FY-6wZG9TdQ3iS/images/codex/app/mobile-setup-light.webp?fit=max&auto=format&n=B2FY-6wZG9TdQ3iS&q=85&s=9b4e338b264ee5de7a45416fc29af6fe" alt="Remote setup screen in the ZeroTwo mobile app" width="900" height="1200" data-path="images/codex/app/mobile-setup-light.webp" />

  <img className="hidden dark:block" src="https://mintcdn.com/zerotwo/B2FY-6wZG9TdQ3iS/images/codex/app/mobile-setup-dark.webp?fit=max&auto=format&n=B2FY-6wZG9TdQ3iS&q=85&s=eda300ba805fb69f3ceb54fe80ce3b40" alt="Remote setup screen in the ZeroTwo mobile app" width="900" height="1200" data-path="images/codex/app/mobile-setup-dark.webp" />
</Frame>

<a id="before-you-set-up-mobile-access" />

## Before you set up Remote

Remote supports hosts running the ZeroTwo desktop app on macOS and Windows.
You can control a host from ZeroTwo on iOS or Android, or from another Mac or
Windows device when **Control other devices** is available. Availability can
vary by rollout.

Make sure you have:

* ZeroCode access in the ZeroTwo account and workspace you want to use.
* The latest ZeroTwo mobile app on an iOS or Android device. If **Remote**
  doesn't appear in the app, update ZeroTwo first.
* The latest ZeroTwo desktop app for macOS or Windows running on a host that's awake,
  online, and signed in to the same account and workspace. Mobile setup starts
  from the app; you can't set it up from the ZeroTwo desktop app or desktop app.
* Any required multi-factor authentication, SSO, or passkey configuration for
  that account or workspace.

If you use ZeroCode through a ZeroTwo workspace, your admin may need to enable
Remote Control access before you can connect from your phone.

<a id="set-up-mobile-access" />

## Set up Remote

Start in the ZeroTwo desktop app on the host you want to connect. The setup flow
enables remote access for that host, then shows a QR code you can scan from your
phone.
The QR code pairs that phone with that host. Pair every phone or supported
desktop app device with every host you want it to control.

Existing connections used since June 8, 2026, remain paired. If you haven't
used an existing connection since June 8, 2026, update both apps and pair the
devices again.

<Steps>
  <Step title="Start Remote setup.">
    Open the app on the host and select **Set up Remote** in the sidebar.
  </Step>

  <Step title="Scan the QR code.">
    Use your phone to scan the QR code shown by the app. The code opens ZeroTwo
    so you can finish connecting the mobile app to the host.
  </Step>

  <Step title="Finish setup in ZeroTwo.">
    ZeroTwo opens the Remote setup flow. Confirm the same ZeroTwo account
    and workspace, then complete any required multi-factor authentication, SSO,
    or passkey steps. After setup succeeds, the host appears in Remote on your
    phone.
  </Step>

  <Step title="Review host settings.">
    In the app on the host, use **Settings > Connections** to manage connected
    devices. You can also choose whether to keep the computer awake, enable
    Computer Use, or install the Chrome extension.
  </Step>
</Steps>

## Choose what to connect

Start with the laptop or desktop where you already use ZeroTwo. Add an always-on
computer or SSH host when you need continuous access or a different environment.

###

Your laptop or desktop

Connect the Mac or Windows PC where the desktop app is already installed. This
gives remote access to the same projects, chats, credentials, plugins, and local
setup you already use.

If that computer sleeps, loses network access, or closes the app, remote access
stops until it's available again. If you use this computer as your host device,
keep it plugged in and use the host's connection settings to keep it awake where
available.

On a Mac laptop, remote access can stay available with the lid open and power
connected. With the lid closed, connect an external display as well. Choosing
**Sleep** still stops remote access.

On a Windows host, keep the session unlocked and available for tasks that use
[Computer Use](/computer-use). Computer Use on Windows runs in the
foreground, so remote control is best for starting or checking work while you
dedicate the host desktop to the task.

###

A dedicated always-on computer

Use a dedicated always-on Mac or Windows PC when you want ZeroTwo to stay
reachable for longer-running work.

Install the projects, credentials, MCP servers, skills, and tools ZeroTwo or
ZeroCode should use on that machine.

###

A remote development environment

Use an SSH host or managed remote development environment when the project
already lives in a remote environment. Connect the desktop app host to that
environment first; your phone still connects to the same host, and ZeroTwo works
in the remote environment with its dependencies, security policies, and compute
resources.

For SSH setup details, see [connect to an SSH host](#connect-to-an-ssh-host).

For browser or desktop tasks on an always-on computer or remote host, enable
Computer Use and install the Chrome extension on that host.

## What comes from the connected host

Your phone sends prompts, approvals, and follow-up messages to ZeroTwo. The
connected host provides the environment ZeroTwo uses.

That means:

* Repository files and local documents come from the connected host.
* Shell commands run on that host or remote environment.
* MCP servers, skills, browser access, and Computer Use come from that host's
  configuration.
* Signed-in websites and desktop apps are available only when the host can
  access them.
* The sandboxing settings, security controls, and action approvals still apply
  to the connected session.

A secure relay layer keeps trusted machines reachable across your authorized
ZeroTwo devices without exposing them directly to the public internet.

## Pick up work from another device

You can continue work from another signed-in device running the ZeroTwo desktop
app and supporting remote control. For example, if your laptop is unavailable, you can
start a chat from your phone on an always-on host, then later open the app on
your laptop and continue that same chat there.

On a Mac or Windows device where the feature is available, use **Settings >
Connections > Control other devices** to add the other host. A device can allow
remote access and control another device at the same time.

## Connect to an SSH host

In the ZeroTwo desktop app, add remote projects from an SSH host and run chats
against the remote filesystem and shell. Remote project chats run commands,
read files, and write changes on the remote host.

Keep the remote host configured with the same security expectations you use for
normal SSH access: trusted keys, least-privilege accounts, and no
unauthenticated public listeners.

<Steps>
  <Step title="Add the host to your SSH config so ZeroCode can auto-discover it.">
    ```text theme={null}
       Host devbox
         HostName devbox.example.com
         User you
         IdentityFile ~/.ssh/id_ed25519
    ```

    ZeroCode reads concrete host aliases from `~/.ssh/config`, resolves them with
    OpenSSH, and ignores pattern-only hosts.
  </Step>

  <Step title="Confirm you can SSH to the host from the machine running the app.">
    ```bash theme={null}
       ssh devbox
    ```
  </Step>

  <Step title="Install and authenticate ZeroCode on the remote host.">
    The app starts the remote ZeroCode app server through SSH, using the remote
    user's login shell. Make sure the `ZeroTwo` command is available on the
    remote host's `PATH` in that shell.
  </Step>

  <Step title="In the app, open **Settings > Connections**, add or enable the SSH host, then">
    choose a remote project folder.
  </Step>
</Steps>

<a id="hand-off-a-thread-between-hosts" />

<a id="hand-off-a-chat-between-hosts" />

<a id="hand-off-a-task-between-hosts" />

## Hand off a chat between hosts

Handoff moves an existing chat and its Git state between your local computer
and a connected remote host. Use it to start work locally, continue in a
worktree on a remote computer, and bring the chat back later.

Before you hand off a chat, connect the destination host and save a project
for the same Git repository on that host. If the project is a subdirectory of
the repository, save the same subdirectory on both hosts. ZeroCode only shows
destinations with a matching saved project.

To hand off a chat:

1. Open the chat in the desktop app.
2. In the chat footer, select the current run location, then select the
   destination host. Select **This computer** when handing a remote chat back
   to your local computer.
3. Review the destination and branch, then select **Hand off**.

ZeroCode creates or reuses a worktree on the destination host, transfers the
chat and Git state, and switches the chat to that host. If the chat is
running, handoff interrupts the current response before transferring it.

You can also ask ZeroCode in another chat to hand off a named chat to a
connected host. ZeroCode can't hand off the chat making the request, and handoff
to a ZeroCode cloud environment isn't supported.

## Authentication and network exposure

Remote connections use SSH to start and manage the remote ZeroCode app server.
Don't expose app-server transports directly on a shared or public network.

If you need to reach a remote machine outside your current network, use a VPN
or mesh networking tool instead of exposing the app server directly to the
internet.

## Troubleshooting

### You don't see the host on your phone

Confirm that the desktop app is running on the host, you've enabled **Allow
other devices to connect**, and both devices use the same ZeroTwo account and
workspace. If you haven't used the connection since June 8, 2026, update both
apps and pair the devices again.

### Remote Control is off after you sign back in

Signing out of ZeroTwo turns off **Remote Control**, but it doesn't remove your
existing device pairings. After you sign back in, turn on **Remote Control** to
restore the previous connection state.

If you see an error after you turn on **Remote Control** and select **Add**,
restart the ZeroTwo desktop app on the host, then try again.

### The approval request doesn't appear

In the ZeroTwo mobile app, open **Remote**. Confirm that the phone and host use
the same ZeroTwo account and workspace, then scan the QR code again or restart
setup from the host. If you use a ZeroTwo workspace, ask your admin to confirm
that they've enabled Remote Control access.

### The remote session disconnects

Check whether the host went to sleep, lost network access, or closed the app.
Keep the host awake and connected while ZeroTwo works.

### Authentication blocks setup

Complete the account or workspace authentication prompt shown during setup. If
your organization requires SSO, multi-factor authentication, or a passkey,
finish that flow before trying again. If setup still fails, ask your workspace
admin to confirm that they've enabled Remote Control access.

## See also

* [ZeroTwo desktop app](/app)
* [Features](/features)
* [ZeroTwo desktop app settings](/reference/settings)
* [Computer Use](/computer-use)
* [Chrome extension](/chrome-extension)
* [Command line options](/developer-commands)
* [Authentication](/quickstart)
