---
title: doctl harness-runtime update
description: Change settings on a session that already exists. Only flags you pass are changed; everything else is left alone. This never edits the agent manifest …
product: Reference
url: https://docs.digitalocean.com/reference/doctl/reference/harness-runtime/update/
last_updated: "2026-10-15"
---

> **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 update

Generated on 15 Oct 2026 from `doctl` version [`v2.0.0`](https://github.com/digitalocean/doctl/releases/tag/v2.0.0)

## Usage

```shell
doctl harness-runtime update <session> [flags]
```

## Description

Change settings on a session that already exists. Only flags you pass are changed; everything else is left alone. This never edits the agent manifest — configs are immutable, so create a new one to change how the agent runs.

Today the one setting is `--resume-on-topoff`, the consent to be resumed automatically after a low-balance pause:

```bash
doctl harness-runtime update my-session --resume-on-topoff
doctl harness-runtime update my-session --resume-on-topoff=false
```

Note the `=`: boolean flags take a value only when it is attached, so `--resume-on-topoff false` would set the flag to true and leave `false` behind as an argument.

Two asymmetries are worth knowing. Revoking takes effect immediately for later top-offs, but granting it does **not** wake a session that is already paused — use `doctl harness-runtime resume` for that. And a session that has been destroyed or has failed cannot be updated at all.

`doctl harness-runtime launch <session> --resume-on-topoff` applies the same change on the way into the chat, so enrolling a session and opening it stay one command.

## Example

```shell
doctl harness-runtime update my-session --resume-on-topoff;
```

## Flags

| Option | Description |
|---|---|
| `--format` | Columns for output in a comma-separated list. Possible values: `SessionID`, `Name`, `AgentKind`, `Status`, `ConfigID`, `ParentSessionID`, `ForkID`, `RepoHint`, `CreatedAt`, `PauseReason`. |
| `--help`, `-h` | Help for this command |
| `--no-header` | Return raw data with no headers, Default: `false` |
| `--resume-on-topoff` | Let DigitalOcean resume this session automatically once your team’s prepayment balance is topped off after a low-balance pause. Off by default and per-session (never inherited from an Agent Config or by a fork). Revoke it with –resume-on-topoff=false. Only a session paused for low balance whose last run was unfinished is resumed; one you paused yourself, or that idled out, stays paused., Default: `false` |

## 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`

`--show` Reveal masked values, such as secrets, instead of hiding them. Values are unmasked automatically in CI , Default: `false`

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

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