---
title: "Settings Reference"
description: "Every Cloud Link setting explained: connection ports, executables, working directory, login, keep awake, OpenCode configuration, services, and diagnostics."
canonical: "https://opencodecloud.link/docs/settings/"
lastUpdated: "2026-10-19"
---
Settings are local to the machine. They are never exposed through the tunnel,
and the control plane does not receive them. Use the search field in Settings
or the section tabs to find a control.

The connector requires a disconnect before you change connection settings.
After saving, reconnect and verify the OpenCode, Tunnel, and Proxy status rows.

## General

| Setting | What it does |
| --- | --- |
| **Control plane URL** | Where this machine registers and its tunnel is provisioned. Default: `https://api.opencodecloud.link`. |
| **Machine name** | The display name shown in the app and approval prompts. |
| **OpenCode port** | Local port the managed OpenCode server listens on. Must be free and valid. |
| **Proxy port** | Local port the Cloud Link authenticated proxy listens on. Must be free and valid. |
| **OpenCode executable** | Optional explicit path. Leave empty to use the bundled or `PATH` executable. |
| **cloudflared executable** | Optional explicit path. Leave empty to use the bundled or `PATH` executable. |
| **Working directory** | Folder OpenCode starts in. Defaults to your home directory on desktop. |
| **Start automatically on login** | Launch the connector quietly when you sign in. Off by default. |
| **Keep awake** | Off, while agents are active, or while remotely connected. Off by default. |
| **Keep awake on battery** | Allow the idle-sleep inhibitor on battery. Off by default. |
| **Remove saved connection** | Forget the local pairing without deleting the machine from your account. |

Changing the control plane, ports, machine name, or executable paths can require
a new pairing. If a paired proxy port change is rejected, re-pair explicitly.

### Connection precedence

When the same value is supplied in several places, Cloud Link uses:

1. an explicit command-line flag;
2. a supported environment variable;
3. a saved setting;
4. a built-in default.

See [CLI reference](/docs/cli/) for the supported environment variables.

### Ports and conflicts

Only one process can bind a port. If startup reports a proxy bind failure, stop
the other connector or process using that port, or choose a different port while
disconnected. The managed OpenCode server searches a small port range when its
preferred port is occupied, but paired ingress remains tied to the proxy port
until an explicit re-pair.

### Executables

The installer and Linux archive include verified tools. Leave the executable
fields empty unless you intentionally use a different build. Explicit paths are
trusted by choice and may not receive the same pinned-hash checks as bundled
tools.

## OpenCode

The OpenCode section edits the global OpenCode configuration file. See
[OpenCode configuration](/docs/opencode-configuration/) for the workflow and
safety notes.

| Tab | What it edits |
| --- | --- |
| **MCP** | Servers from `mcp.servers`; status appears while the connector runs |
| **Language servers** | The `lsp` list and the enable switch |
| **Plugins** | The `plugins` list; packages install when OpenCode reloads |
| **Raw config** | The complete JSON file, with reload, open folder, and save |

Saves are validated and written atomically where the configuration supports it.
The running OpenCode server reloads through its configuration watcher.

## Services

The Services section manages loopback applications published through the
tunnel. See [Exposed services](/docs/exposed-services/) for the field reference
and port model.

The section shows the services origin, a table of services with access and
reachability state, and an editor for the selected service. New services start
disabled and private.

## Diagnostics

**Diagnostics** lists recent connector lifecycle events. Credentials and
request contents are kept private. Use **Refresh logs** after reproducing a
problem, then follow [Troubleshooting](/docs/troubleshooting/).

## Power

| Mode | When the inhibitor is held |
| --- | --- |
| **Off** | Never |
| **While agents active** | During observed OpenCode session activity |
| **While remotely connected** | During authenticated proxy traffic in a short activity window |

On macOS the connector uses `caffeinate`; Windows uses the native
execution-state API; Linux uses `systemd-inhibit` and requires a logind session.
A headless Linux service without a session leaves the setting inactive.

The display may still sleep. Explicit sleep and a closed lid are always
honored.

## Remove a saved connection

Use this when the current pairing should stop retrying, for example after a
subscription lapses. It forgets local pairing state but leaves identity,
settings, and services intact. The machine remains in the app until you delete
it there. Pair again when you are ready to reconnect.

## Reset versus delete

- **Remove saved connection** affects only this computer's pairing.
- **Delete machine** in OpenCode Mobile retires the tunnel and DNS record.
- **Uninstall** removes the application; saved state may remain.

Do not delete local state while troubleshooting unless the connector explicitly
asks you to. Most credential errors are resolved by re-pairing, not by wiping
configuration.