Remote Control lets you operate your local Sero desktop session from another client. It has two separate integration paths:
Tailscale is the private VPN/tailnet layer for remote web access. Discord is a separate optional bot integration; it does not depend on Tailscale and it does not provide the Sero Remote web UI.
Remote Control is not screen sharing. The work still happens on your Mac, in your active local Sero profile. Remote clients are alternate control surfaces for the Sero desktop process that is already running locally.
The gateway is off by default. It only starts when the desktop process is launched with:
Read Security / Privacy before enabling it.
| Path | What it does | Network dependency |
|---|---|---|
| Local web gateway | Serves Sero Remote locally for testing and pairing | Localhost only |
| Sero Remote over Tailscale | Lets another browser/device on your tailnet use the web UI | Tailscale VPN / tailscale serve |
| Discord bot | Lets allowed Discord users send prompts by DM or mention | Discord bot token and allowlist |
Use Tailscale serve for tailnet-only exposure. Do not use public Tailscale funneling or direct public-internet exposure during the alpha.
Sero Remote is the browser-based remote UI. It can show workspaces and sessions, send prompts, display streamed responses/tool activity, and expose remote panels such as files or artifacts where supported.

The web UI is useful when you want to continue a Sero session from another trusted device without opening the full desktop app on that device. It still controls the local desktop process and local workspace state on your Mac.

Local gateway endpoints currently include:
A basic/legacy local web UI may also be available on:
For remote web access, Tailscale is the recommended transport. Sero can expose
the gateway to your private tailnet through tailscale serve; a paired browser
then uses the tailnet URL and a temporary web token/login flow.
The Discord path is optional and separate from the web/Tailscale path. When configured, the gateway starts a Discord adapter that listens for DMs or mentions and forwards allowed messages into Sero.
Discord setup depends on environment/profile configuration:
SERO_DISCORD_TOKEN — Discord bot tokenSERO_DISCORD_USERS — comma-separated allowlist of Discord usernames or user
IDsCurrent behavior is fail-closed: if SERO_DISCORD_USERS is empty, the Discord
adapter refuses to start for security. Set an explicit allowlist before relying
on Discord access.
Use Discord for prompt-style interactions, not for full workspace browsing. The web UI is the richer remote control surface; Discord is a bot channel.
An authenticated gateway client can interact with the same local Sero profile that your desktop app is using. Current gateway capabilities include:
Because prompts can cause the agent to use tools, a paired web client or allowed Discord user can have high-impact effects on your workspaces. Treat Remote Control access like access to the desktop UI.
Sero uses profile-scoped gateway credentials:
| Credential | Location |
|---|---|
| master gateway token | <SERO_HOME>/agent/gateway-token |
| gateway config | <SERO_HOME>/agent/gateway-config.json |
| web tokens | <SERO_HOME>/agent/gateway-web-tokens.json |
| Discord bot token / allowlist env | <SERO_HOME>/agent/.env or launch environment |
The master token is a high-privilege secret for the active profile. Web tokens are used for browser/device pairing and can expire or be revoked.
Current web-token behavior includes:
Do not paste gateway tokens, web-token files, login URLs, QR codes, Discord bot tokens, or Discord allowlists into bug reports, screenshots, chat transcripts, or public issues. See State and Folders for the canonical storage map.
Sero includes a pairing flow for connecting a remote browser or web client. The flow creates a time-limited web token and can produce a login URL or QR code for the browser. When served over Tailscale, that paired browser can control the local Sero session from another trusted tailnet device.
Practical guidance:
Token URLs are sensitive because they can leak through browser history, autocomplete, screenshots, referrers, logs, or shared terminal output.
During the current source-only alpha, Remote Control does not promise:
The gateway has authentication and scope checks, but an authenticated client is still powerful. Master-auth clients can access the profile broadly. Scoped web tokens may limit gateway file/session/artifact access to specific workspace IDs, but that is not the same as a comprehensive per-tool permission system.
If Remote Control behaves unexpectedly, include:
SERO_GATEWAY=1serve was active, and whether public funneling was avoidedSERO_DISCORD_TOKEN and an explicit
SERO_DISCORD_USERS allowlistUseful logs can include:
Never include raw gateway tokens, web-token files, QR codes, full login URLs, Discord bot tokens, or private tailnet URLs. Rotate any token that may have been exposed.