---
title: doctl harness-runtime start-proxy
description: |-
    Bridge a local coding-agent CLI to a hosted M.A.R.S session.

    `launch` is doctl&#39;s built-in chat. `start-proxy` is different: it runs a small local …
product: Reference
url: https://docs.digitalocean.com/reference/doctl/reference/harness-runtime/start-proxy/
last_updated: "2026-09-23"
---

> **For AI agents:** The documentation index is at [https://docs.digitalocean.com/llms.txt](https://docs.digitalocean.com/llms.txt). Markdown versions of pages use the same URL with `index.html.md` in place of the HTML page (for example, append `index.html.md` to the directory path instead of opening the HTML document).

# doctl harness-runtime start-proxy

Generated on 23 Sep 2026 from `doctl` version [`v1.173.0`](https://github.com/digitalocean/doctl/releases/tag/v1.173.0)

## Usage

```shell
doctl harness-runtime start-proxy [flags]
```

## Description

Bridge a local coding-agent CLI to a hosted M.A.R.S session.

`launch` is doctl’s built-in chat. `start-proxy` is different: it runs a small local server that speaks the agent CLI’s own protocol — a WebSocket JSON-RPC server for Codex, an HTTP+SSE opencode server for opencode — so you can keep using the agent’s native UI while the sandbox lives on DigitalOcean.

Typical flow:

```bash
# terminal 1 — keep this running
doctl harness-runtime start-proxy --type codex --session my-session --port 1144

# terminal 2 — connect Codex to the proxy
codex --remote ws://127.0.0.1:1144
```

With `--type opencode`, connect the opencode TUI instead (`--continue` resumes the session’s prior turns):

```bash
opencode attach http://127.0.0.1:1144 --continue
```

The opencode bridge is tested against opencode 1.18.27; other versions usually work, and the proxy logs any request it does not recognize.

Only one of `launch` and `start-proxy` can stream the same session from one machine at a time.

## Example

```shell
doctl harness-runtime start-proxy --type codex --session my-session --port 1144;
```

## Flags

| Option | Description |
|---|---|
| `--help`, `-h` | Help for this command |
| `--port` | Local port to listen on, Default: `1144` |
| `--replay` | Replay the session’s event history into the first thread on connect, Default: `false` |
| `--session` | Session ID or name to bridge to (required) |
| `--type` | Coding-agent protocol to bridge (codex, opencode), Default: `codex` |

## Related Commands

| Command | Description |
|---|---|
| [doctl harness-runtime](https://docs.digitalocean.com/reference/doctl/reference/harness-runtime) | Managed Agents Runtime Services (M.A.R.S) |

## Global Flags

Option Description

`--access-token`, `-t` API V2 access token

`--api-url`, `-u` Override default API endpoint

`--config`, `-c` Specify a custom config file, Default:

`--context` Specify a custom authentication context name

`--http-retry-max` Set maximum number of retries for requests that fail with a 429 or 500-level error , Default: `5`

`--http-retry-wait-max` Set the minimum number of seconds to wait before retrying a failed request , Default: `30`

`--http-retry-wait-min` Set the maximum number of seconds to wait before retrying a failed request , Default: `1`

`--interactive` Enable interactive behavior. Defaults to true if the terminal supports it (default false) , Default: `false`

`--output`, `-o` Desired output format \[text|json], Default: `text`

`--trace` Show a log of network activity while performing a command, Default: `false`

`--verbose`, `-v` Enable verbose output, Default: `false`