# Remote Control

Connect your computer so Droid can work on it from the web or other devices.

Remote Control connects your Linux, macOS, or Windows computer so Droid can work on it from the web or other devices. Use an environment you already manage, such as a VPS, cloud VM, workstation, or on-prem server. Droid uses the development setup and git credentials already configured on that computer.

Factory does not provision or maintain your computer. For compute hosted and managed by Factory, use [Droid Computers](/droid-computers/overview).

## Before you start

Make sure you have:

- A computer running **Linux**, **macOS**, or **Windows**
- The Droid CLI installed on that computer
- Authenticated with Factory (`/login` in an interactive session)
- Network access to Factory APIs and the relay for your organization's region:
  `relay.factory.ai` for non-EU organizations, or `relay.eu.factory.ai` for EU
  organizations.

<Note>
No inbound ports need to be opened. Your computer connects through Factory's relay service when you start the daemon with `--remote-control` (alias: `--remote-access`).
</Note>

## Connect with the Factory App

The Factory App registers your computer automatically using your system's hostname. Open **Settings → Droid Computers** and switch on **Remote Control** to make it reachable from other devices through Factory's relay. The connection remains active while the Factory App is running.

## Connect with the CLI

```bash
droid daemon --remote-control
```

If the computer is not registered, this prompts you for a name and registers it automatically.

To register manually first, run `droid computer register [name]`, then start `droid daemon --remote-control` to connect through Factory's relay service.

<Note>
Only one registration is allowed per computer at a time. Run `droid computer remove` first, or delete the computer through the settings page, if you need to re-register.
</Note>

## Troubleshooting availability

<Troubleshooting>
  <TroubleshootingItem title="Computer is not listed">
    Check **Settings → Droid Computers** to confirm the computer is listed.
  </TroubleshootingItem>

  <TroubleshootingItem title="Remote Control is disabled">
    In **Settings → Droid Computers**, verify **Remote Control** is enabled for that computer.
  </TroubleshootingItem>

  <TroubleshootingItem title="Daemon is not running">
    Make sure the daemon is running with `droid daemon --remote-control`.
  </TroubleshootingItem>

  <TroubleshootingItem title="Droid Computers page is missing">
    Contact an organization Manager, Owner, or Factory support.
  </TroubleshootingItem>
</Troubleshooting>

## Managing and updating your computer

- Use `droid computer list` to see registered computers
- Use `droid computer ssh <name>` to open an SSH session to a registered computer
- Use `droid computer port-forward <name> <mappings...>` to forward local TCP ports to a registered computer over the relay
- Use `droid computer remove` to unregister the current computer and clean up local config
- Update the Droid CLI manually on the computer, then restart the daemon process

For example, `droid computer port-forward workstation 8080:80 5432` forwards local port 8080 to remote port 80 and local port 5432 to remote port 5432.

Remote Control uses whatever git credentials are already configured on your computer.

## Security and networking notes

{/* sweep-allow: term-bullets */}

- **Relay mode**: Your computer routes traffic through Factory's relay service, so no public ports are exposed
- **Credentials**: Factory does not manage git credentials on your computer; its existing git configuration is used
- **Ownership**: You are responsible for hardening and maintaining the underlying computer

<RelatedLinks>
  <RelatedLink href="/droid-computers/overview" title="Droid Computers">
    Use persistent compute hosted and managed by Factory.
  </RelatedLink>
  <RelatedLink href="/droid-cli/cli-reference" title="CLI reference">
    Find computer commands and daemon options.
  </RelatedLink>
</RelatedLinks>
