---
title: "UpdateRunner"
method: POST
path: "/gitpod.v1.RunnerService/UpdateRunner"
tags: ["gitpod.v1.RunnerService"]
---

# UpdateRunner

`POST /gitpod.v1.RunnerService/UpdateRunner`

Updates a runner's configuration.

 Use this method to:
 - Modify runner settings
 - Update release channels
 - Change runner status
 - Configure auto-update settings

 ### Examples

 - Update configuration:

   Changes runner settings.

   ```yaml
   runnerId: "d2c94c27-3b76-4a42-b88c-95a85e392c68"
   name: "Updated Runner Name"
   spec:
     configuration:
       releaseChannel: RUNNER_RELEASE_CHANNEL_LATEST
       autoUpdate: true
   ```

## Request body

- GitpodV1UpdateRunnerRequest
  - `name` string, nullable — The runner's name which is shown to users
  - `runnerId` string, uuid — runner_id specifies which runner to be updated. +required
  - `spec` GitpodV1UpdateRunnerRequestSpec
    - `configuration` GitpodV1UpdateRunnerRequestRunnerConfiguration
      - `autoUpdate` boolean, nullable — auto_update indicates whether the runner should automatically update itself.
      - `continuousProfiling` boolean, nullable — continuous_profiling enables continuous profiling on the runner. This is an internal-only field used for debugging.
      - `devcontainerImageCacheEnabled` boolean, nullable — devcontainer_image_cache_enabled controls whether the shared devcontainer build cache is enabled for this runner.
      - `honeycombApiKey` string, nullable — honeycomb_api_key is the plaintext API key for Honeycomb tracing. The backend encrypts it with the runner's public key before storing. This is an internal-only field used for debugging.
      - `logLevel` 'LOG_LEVEL_UNSPECIFIED' | 'LOG_LEVEL_DEBUG' | 'LOG_LEVEL_INFO' | 'LOG_LEVEL_WARN' | 'LOG_LEVEL_ERROR'
      - `metrics` GitpodV1UpdateRunnerRequestMetricsConfiguration
        - `enabled` boolean, nullable — enabled indicates whether the runner should collect metrics
        - `includeVerboseMetrics` boolean, nullable — When true, the runner also forwards verbose metrics (e.g. aws_sdk_go_*) via the managed metrics pipeline. Disabled by default to control metrics volume. Internal-only, set via CLI.
        - `managedMetricsEnabled` boolean, nullable — When true, the runner pushes metrics to the management plane via ReportRunnerMetrics instead of directly to the remote_write endpoint.
        - `password` string, nullable — password is the password to use for the metrics collector
        - `url` string, nullable — url is the URL of the metrics collector
        - `username` string, nullable — username is the username to use for the metrics collector
      - `releaseChannel` 'RUNNER_RELEASE_CHANNEL_UNSPECIFIED' | 'RUNNER_RELEASE_CHANNEL_STABLE' | 'RUNNER_RELEASE_CHANNEL_LATEST'
      - `updateWindow` GitpodV1UpdateWindow — UpdateWindow defines a daily time window (UTC) during which auto-updates are allowed. The window must be at least 2 hours long. Overnight windows are supported (e.g., start_hour=22, end_hour=4).
        - `endHour` integer, nullable — end_hour is the end of the update window as a UTC hour (0-23). If not set, defaults to start_hour + 2.
        - `startHour` integer, nullable — start_hour is the beginning of the update window as a UTC hour (0-23). +required
    - `desiredPhase` 'RUNNER_PHASE_UNSPECIFIED' | 'RUNNER_PHASE_CREATED' | 'RUNNER_PHASE_INACTIVE' | 'RUNNER_PHASE_ACTIVE' | 'RUNNER_PHASE_DELETING' | 'RUNNER_PHASE_DELETED' | 'RUNNER_PHASE_DEGRADED' — RunnerPhase represents the phase a runner is in

## Response `200`

Success

- GitpodV1UpdateRunnerResponse

## Other responses

- `default` — Error

---

[API](https://skmtc.net/gitpod-io/apis/gitpod-v1.md) · [All operations](https://skmtc.net/gitpod-io/apis/gitpod-v1/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/gitpod-io/gitpod-v1/revisions/44d50c2ac284/schema)
