Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
6a3aa18
Document Personal / Team / Agent API key types
hongyi-chen May 26, 2026
f7a0ab2
Broaden API key wording across billing, GitHub auth, and error docs
hongyi-chen May 26, 2026
6cecba9
Merge branch 'main' into oz-agent-api-keys-doc-update
hongyi-chen May 26, 2026
0baf997
Final pass: normalize key-type casing, remove redundant Enterprise se…
hongyi-chen May 26, 2026
a435884
Switch to 'agent API key' throughout, with single team\u2192agent dis…
hongyi-chen May 26, 2026
51ea888
Reframe agent API key docs around agent identities
hongyi-chen May 26, 2026
5245b2f
Disentangle GitHub-side commit attribution from Oz-side run identity
hongyi-chen May 27, 2026
c428a94
Replace 'headless' / 'workflow-scoped' jargon with plain 'automated'
hongyi-chen May 27, 2026
b57a771
Senior copywriter pass: rename to 'cloud agents', drop Default Servic…
hongyi-chen May 27, 2026
0e9da2c
Drop bot-name examples and named-bot framing; cloud agents are charac…
hongyi-chen May 27, 2026
4089c2c
Merge branch 'main' into oz-agent-api-keys-doc-update
rachaelrenk May 27, 2026
fbba144
Update src/content/docs/agent-platform/cloud-agents/agents.mdx
hongyi-chen May 27, 2026
7ffe967
Address Rachael's review feedback
hongyi-chen May 27, 2026
f67e32d
Use 'Warp app' consistently in two remaining spots
hongyi-chen May 27, 2026
43e63b7
Merge branch 'main' into oz-agent-api-keys-doc-update
hongyi-chen May 27, 2026
dc535e1
docs: align agent UID wording + terminology + style guide (#168)
rachaelrenk Jun 2, 2026
233c3bc
docs: address Ben's review feedback on cloud agents and API keys
hongyi-chen Jun 3, 2026
88b6866
Update src/content/docs/reference/cli/api-keys.mdx
hongyi-chen Jun 3, 2026
84e9ad6
Merge branch 'main' into oz-agent-api-keys-doc-update
hongyi-chen Jun 3, 2026
d39b3f1
Merge origin/oz-agent-api-keys-doc-update into local branch
hongyi-chen Jun 3, 2026
5d09fec
docs: terminology + description cleanup from audit pass
hongyi-chen Jun 3, 2026
4a239f1
docs: keep original cloud agents page description
hongyi-chen Jun 3, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions src/content/docs/agent-platform/cloud-agents/agents.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ Agent identities are useful when you want to:

## How agent identities work

Each team has one default agent identity. Headless runs (such as team API key runs that don't specify an identity) execute under this default. User-triggered runs default to running as the calling user, which is surfaced as **Quick run** in the web app, unless you pick a specific agent identity. You can create additional agent identities on top of the default and run as any of them. Identities are team-scoped, so every member of a team can see and use the same set of agent identities.
Each team has one default agent identity, called **Default Service Account**. Headless runs (such as team or agent API key runs that don't specify an identity) execute under this default — a Team API key created in the Warp desktop app and an Agent API key bound to the `Default Service Account` in the Oz web app behave identically. User-triggered runs default to running as the calling user, which is surfaced as **Quick run** in the web app, unless you pick a specific agent identity. You can create additional agent identities on top of the default and run as any of them. Identities are team-scoped, so every member of a team can see and use the same set of agent identities.

You can attach the following configuration to an agent identity:

Expand Down Expand Up @@ -68,9 +68,9 @@ A few constraints apply across every endpoint:

## API keys bound to an agent identity

A team API key can be bound to a specific agent identity at creation time. Calls authenticated with that key run as the chosen identity. The team is resolved automatically from the identity, so you don't need to specify a team when generating the key.
An Agent API key is bound to a specific agent identity at creation time — the Oz web app's key dialog calls this the **Agent** key type. Calls authenticated with that key run as the chosen identity. The team is resolved automatically from the identity, so you don't need to specify a team when generating the key.

To create a key bound to an agent identity, choose the identity when creating the team API key. See [API keys](/reference/cli/api-keys/) for the full key creation flow and for the difference between user-scoped and team-scoped keys.
To create a key bound to a specific identity, choose the identity in the Oz web app's New API key dialog. Team API keys created in the Warp desktop app are equivalent to Agent API keys bound to the `Default Service Account`. See [API keys](/reference/cli/api-keys/) for the full key creation flow and for the difference between personal, team, and agent keys.

Once the key exists, the CLI and SDK authenticate as that agent identity for every call. There is no extra flag to set; the binding is on the key itself.

Expand All @@ -81,7 +81,7 @@ There are two ways to run a cloud agent as a specific agent identity:
* **Authenticate with a key bound to the identity** - Every run started with that key executes as the bound agent identity. This is the typical path for CI pipelines and scheduled work.
* **Pass `agent_identity_uid` on `POST /agent/runs`** - For one-off runs, send the agent identity's `uid` in the request body. The field is only valid for team-owned runs.

When neither path is used, headless runs (team API key runs without an identity) execute under the team's default agent identity. User-triggered runs (Warp app, personal API key, Slack, Linear) execute as the calling user and are surfaced as **Quick run** in the web app.
When neither path is used, headless runs (team API key runs, or Agent API key runs without an explicit override) execute under the team's default agent identity. User-triggered runs (Warp app, personal API key, Slack, Linear) execute as the calling user and are surfaced as **Quick run** in the web app.

## Where agent identities appear in the product

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ You can create and configure environments with Warp’s guided setup, or through
Make sure you have:

* One or more GitHub repositories that the agent should clone and work in.
* **GitHub authorization configured** so the agent can access your repos. For user-triggered runs, each user authorizes GitHub individually. For automated workflows using team API keys, configure [team GitHub authorization](/agent-platform/cloud-agents/team-access-billing-and-identity/#team-github-authorization) in the Admin Panel.
* **GitHub authorization configured** so the agent can access your repos. For user-triggered runs, each user authorizes GitHub individually. For automated workflows using a team or agent API key, configure [team GitHub authorization](/agent-platform/cloud-agents/team-access-billing-and-identity/#team-github-authorization) in the Admin Panel.
* A publicly-accessible Docker image that can build and run your code. Official images like [node](https://hub.docker.com/_/node), [python](https://hub.docker.com/_/python), or [rust](https://hub.docker.com/_/rust) work for many projects. You can also use one of [Warp's prebuilt dev images](https://github.com/warpdotdev/oz-dev-environments).

:::caution
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ The `oz-agent-action` is a GitHub Action that wraps the Oz CLI and:

To use agents in GitHub Actions, you need:

* A [**Warp API Key**](/reference/cli/#generating-api-keys) stored as a [GitHub secret](https://docs.github.com/en/actions/security-for-github-actions/security-guides/using-secrets-in-github-actions) — this authenticates the agent with Warp
* A [**Warp API Key**](/reference/cli/api-keys/) stored as a [GitHub secret](https://docs.github.com/en/actions/security-for-github-actions/security-guides/using-secrets-in-github-actions) — this authenticates the agent with Warp. Personal, team, and agent keys all work; see [API keys](/reference/cli/api-keys/) for the differences and when to pick each.
* Workflow permissions that match your intended actions (for example, `pull-requests: write` if the agent should commit or comment on PRs) — the agent performs actions on your behalf using the GitHub token available to the workflow
* The `oz-agent-action` step added to your workflow
* **For private repositories using `@oz-agent` mention workflows**: The [`oz-agent`](https://github.com/oz-agent) GitHub user must be [invited as a member](https://docs.github.com/en/organizations/managing-membership-in-your-organization/inviting-users-to-join-your-organization) of your GitHub organization (see [Responding to comments with @ mentions](#1-responding-to-comments-with--mentions) for details)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Add agents to your GitHub Actions workflows with [`oz-agent-action`](https://git

## Prerequisites

* **Warp API key** - In the Warp app, click your profile photo, then go to **Settings** > **Cloud platform** > **Oz Cloud API Keys** to create one. Use a personal key if the agent needs to write to your repo. See [API Keys](/reference/cli/api-keys/) for details.
* **Warp API key** - Create one in the [Oz web app](https://oz.warp.dev/settings) or in the Warp app under **Settings** > **Cloud platform** > **Oz Cloud API Keys**. Personal, team, and agent keys all work; use a personal key if the agent needs to write to your repo as you, or a team or agent key with [team GitHub authorization](/agent-platform/cloud-agents/team-access-billing-and-identity/#team-github-authorization) for headless workflows. See [API Keys](/reference/cli/api-keys/) for details.
* **A GitHub repository with Actions enabled** - The workflow file will live in `.github/workflows/` in your repo.

---
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -154,7 +154,7 @@ Use the [Oz API & SDK](/reference/api-and-sdk/) to trigger agents programmatical
Use official Docker Hub images like `node`, `python`, or `rust` for best compatibility. Ensure your GitHub repos are accessible. If using a custom image, avoid Alpine/musl-based images—the agent runtime requires glibc. See [Environments](/agent-platform/cloud-agents/environments/) for more guidance on choosing Docker images.

**Agent can't access repos**\
Warp prompts you to authorize GitHub when you create an environment or trigger your first agent. If authorization fails or needs updating, see [How GitHub Authorization works](/reference/cli/integration-setup/#how-github-authorization-works). For automated workflows using team API keys, make sure [team GitHub authorization](/agent-platform/cloud-agents/team-access-billing-and-identity/#team-github-authorization) is configured in the Admin Panel. Also verify that repos are correctly configured in your environment with `oz environment get <ENV_ID>`.
Warp prompts you to authorize GitHub when you create an environment or trigger your first agent. If authorization fails or needs updating, see [How GitHub Authorization works](/reference/cli/integration-setup/#how-github-authorization-works). For automated workflows using a team or agent API key, make sure [team GitHub authorization](/agent-platform/cloud-agents/team-access-billing-and-identity/#team-github-authorization) is configured in the Admin Panel. Also verify that repos are correctly configured in your environment with `oz environment get <ENV_ID>`.

**Not enough credits to run cloud agents**\
Your team needs at least 20 credits available. Check your credit balance in Settings or see [Access, Billing, and Identity](/agent-platform/cloud-agents/team-access-billing-and-identity/) for details on credit requirements and which plans support cloud agents.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ The Direct backend does not provide per-task container isolation. Each task runs
* **Enterprise plan with self-hosting enabled** — [Contact sales](https://www.warp.dev/contact-sales) if self-hosting is not yet enabled for your team.
* **A worker host** with write access to `workspace_root` (defaults to `/var/lib/oz/workspaces`).
* **The Oz CLI** installed and available in `PATH` on the worker host (or specify `oz_path` in the config file). See [Installing the CLI](/reference/cli/#installing-the-cli).
* **A team API key** — In the Warp app, go to **Settings** > **Cloud platform** > **Oz Cloud API Keys** to create a team-scoped API key. See [API Keys](/reference/cli/api-keys/) for details.
* **A team or agent API key** — Create one in the [Oz web app](https://oz.warp.dev/settings) (`Agent` type bound to the `Default Service Account`) or in the Warp app under **Settings** > **Cloud platform** > **Oz Cloud API Keys** (`Team` type). The two options are equivalent for self-hosting. See [API Keys](/reference/cli/api-keys/) for details.

---

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ This page covers the [managed architecture](/agent-platform/cloud-agents/self-ho
* **Enterprise plan with self-hosting enabled** — [Contact sales](https://www.warp.dev/contact-sales) if self-hosting is not yet enabled for your team.
* **A machine to run the worker** — A VM, server, or local machine running Linux (recommended for production). For testing, macOS and Windows hosts running Docker Desktop work.
* **Docker installed** — The worker uses Docker to spawn task containers. The Docker daemon must run Linux containers (Windows containers are not supported). Verify with `docker info`.
* **A team API key** — In the Warp app, go to **Settings** > **Cloud platform** > **Oz Cloud API Keys** to create a team-scoped API key. See [API Keys](/reference/cli/api-keys/) for details.
* **A team or agent API key** — Create one in the [Oz web app](https://oz.warp.dev/settings) (`Agent` type bound to the `Default Service Account`) or in the Warp app under **Settings** > **Cloud platform** > **Oz Cloud API Keys** (`Team` type). The two options are equivalent for self-hosting. See [API Keys](/reference/cli/api-keys/) for details.

:::caution
Task containers require a **linux/amd64** or **linux/arm64** Docker daemon. The worker host itself can be any OS — Docker Desktop on macOS and Windows runs a Linux VM that satisfies this requirement.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ This page covers the [managed architecture](/agent-platform/cloud-agents/self-ho
* Allow the worker's namespace to create Jobs with a **root init container** (sidecar materialization depends on this pattern).
* Grant the worker these namespace-scoped permissions: `create`, `get`, `list`, `watch`, `delete` on `jobs`; `get`, `list`, `watch` on `pods`; `get` on `pods/log`; `list` on `events`.
* **[Helm](https://helm.sh/docs/intro/install/)** installed locally, plus `kubectl` authenticated against the target cluster.
* **A team API key** — In the Warp app, go to **Settings** > **Cloud platform** > **Oz Cloud API Keys** to create a team-scoped API key. See [API Keys](/reference/cli/api-keys/) for details.
* **A team or agent API key** — Create one in the [Oz web app](https://oz.warp.dev/settings) (`Agent` type bound to the `Default Service Account`) or in the Warp app under **Settings** > **Cloud platform** > **Oz Cloud API Keys** (`Team` type). The two options are equivalent for self-hosting. See [API Keys](/reference/cli/api-keys/) for details.

---

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ This quickstart sets up the [managed architecture](/agent-platform/cloud-agents/

* **Enterprise plan with self-hosting enabled** — [Contact sales](https://www.warp.dev/contact-sales) if self-hosting is not yet enabled for your team.
* **A Linux machine with Docker** — A VM, server, or local machine with the Docker daemon running Linux containers. Verify with `docker info`. Docker Desktop on macOS or Windows works for testing.
* **A team API key** — In the Warp app, go to **Settings** > **Cloud platform** > **Oz Cloud API Keys** to create a team-scoped API key. See [API Keys](/reference/cli/api-keys/) for details.
* **A team or agent API key** — Create one in the [Oz web app](https://oz.warp.dev/settings) (`Agent` type bound to the `Default Service Account`) or in the Warp app under **Settings** > **Cloud platform** > **Oz Cloud API Keys** (`Team` type). The two options are equivalent for self-hosting. See [API Keys](/reference/cli/api-keys/) for details.
* **The Oz CLI** (for routing a test run) — See [Installing the CLI](/reference/cli/#installing-the-cli).

---
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ The following flags are available when starting the worker.
### Required

* `--worker-id` — A string identifying this worker. This is the value you pass to `--host` when routing tasks. Choose something meaningful for your team (e.g., `prod-runner-1` or `ci-worker`). Multiple workers can share the same ID for load balancing.
* `--api-key` or `WARP_API_KEY` env var — Your team API key for authentication. When running via Docker, pass it as `-e WARP_API_KEY="..."`. When running the binary directly, use `--api-key` or the environment variable.
* `--api-key` or `WARP_API_KEY` env var — Your team or agent API key for authentication. When running via Docker, pass it as `-e WARP_API_KEY="..."`. When running the binary directly, use `--api-key` or the environment variable.

### Optional

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ No Docker, no worker daemon, no environment required — just the Oz CLI on any
### Prerequisites

* **The Oz CLI** installed on the machine where agents will run. See [Installing the CLI](/reference/cli/#installing-the-cli) for platform-specific instructions.
* **A Warp API key** — For automation, create a team-scoped API key in the Warp app at **Settings** > **Cloud platform** > **Oz Cloud API Keys**. See [API Keys](/reference/cli/api-keys/) for details.
* **A Warp API key** — For automation, create a team or agent API key in the [Oz web app](https://oz.warp.dev/settings) (`Agent` type bound to the `Default Service Account`) or in the Warp app at **Settings** > **Cloud platform** > **Oz Cloud API Keys** (`Team` type). See [API Keys](/reference/cli/api-keys/) for details on each type.

### 1. Authenticate

Expand Down
Loading
Loading