diff --git a/src/assets/agent-platform/claude-code-auth-secret-setup.png b/src/assets/agent-platform/claude-code-auth-secret-setup.png new file mode 100644 index 0000000..9be88e1 Binary files /dev/null and b/src/assets/agent-platform/claude-code-auth-secret-setup.png differ diff --git a/src/assets/agent-platform/cloud-agent-harness-selector-warp-app.png b/src/assets/agent-platform/cloud-agent-harness-selector-warp-app.png new file mode 100644 index 0000000..0ccfcc3 Binary files /dev/null and b/src/assets/agent-platform/cloud-agent-harness-selector-warp-app.png differ diff --git a/src/assets/agent-platform/oz-web-app-agents.png b/src/assets/agent-platform/oz-web-app-agents.png index 98ef2bd..09d0d54 100644 Binary files a/src/assets/agent-platform/oz-web-app-agents.png and b/src/assets/agent-platform/oz-web-app-agents.png differ diff --git a/src/assets/agent-platform/oz-web-app-new-agent.png b/src/assets/agent-platform/oz-web-app-new-agent.png index 1adef01..77e8e04 100644 Binary files a/src/assets/agent-platform/oz-web-app-new-agent.png and b/src/assets/agent-platform/oz-web-app-new-agent.png differ diff --git a/src/assets/agent-platform/oz-web-app-new-skill.png b/src/assets/agent-platform/oz-web-app-new-skill.png new file mode 100644 index 0000000..a6445c1 Binary files /dev/null and b/src/assets/agent-platform/oz-web-app-new-skill.png differ diff --git a/src/assets/agent-platform/oz-web-app-runs-view.png b/src/assets/agent-platform/oz-web-app-runs-view.png index f579408..c5b444d 100644 Binary files a/src/assets/agent-platform/oz-web-app-runs-view.png and b/src/assets/agent-platform/oz-web-app-runs-view.png differ diff --git a/src/content/docs/agent-platform/cloud-agents/agents.mdx b/src/content/docs/agent-platform/cloud-agents/agents.mdx index 902e84c..ea67dcd 100644 --- a/src/content/docs/agent-platform/cloud-agents/agents.mdx +++ b/src/content/docs/agent-platform/cloud-agents/agents.mdx @@ -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 — 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. 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. You can attach the following configuration to an agent identity: @@ -26,7 +26,7 @@ You can attach the following configuration to an agent identity: * **Managed secrets** - References (by name) to [team-managed secrets](/agent-platform/cloud-agents/secrets/) the identity should have access to. * **Skills** - Skill specs (for example, `org/repo:path/to/SKILL.md`) the identity comes preloaded with. Shorthand specs like `repo:skill_name` are accepted when they resolve unambiguously against the team's cloud environments. -Skill specs are stored in their normalized fully-qualified form, and managed secret references are validated against the team's secret scope at attach time. If a secret is missing or a skill repo is not accessible to the team's GitHub App installation, the request is rejected before anything is saved. +Warp saves each skill spec with its full repository reference, so shorthand specs like `repo:skill_name` are resolved before they are stored. Managed secret references are validated against the team's secret scope at attach time. If a secret is missing or a skill repo is not accessible to the team's GitHub App installation, the request is rejected before anything is saved. ## Service accounts and agent identities @@ -35,21 +35,23 @@ Skill specs are stored in their normalized fully-qualified form, and managed sec * When `oz whoami` reports a principal of `service_account:`, that principal is an agent identity on your team. * When [`oz federate issue-token`](/reference/cli/federate/) emits a subject component like `service_account:my-sa-id`, the value identifies the agent identity the run is executing as. -You don't need to distinguish the two terms in day-to-day use — pick the agent identity in the UI or pass its UID to the API, and the CLI surfaces the corresponding `service_account:` principal. +You don't need to distinguish the two terms in day-to-day use. Pick the agent identity in the UI or pass its UID to the API, and the CLI surfaces the corresponding `service_account:` principal. ## Supporting multiple agent identities -Most teams start with the default agent identity and add more as their automation matures. Creating additional agent identities is worth it when distinct workflows have meaningfully different scopes — for example, a `ci-runner` identity that only needs read-only repo access, an `on-call` identity that holds production deploy credentials and is restricted to incident playbooks, and a `nightly-jobs` identity used by scheduled cleanups. Scoping each identity to a single workflow gives every run the minimum credentials it needs, keeps audit trails attributable to the right bot, and lets you revoke or rotate one workflow's access without touching the rest. +Most teams start with the default agent identity and add more as their automation matures. Creating additional agent identities is worth it when distinct workflows have meaningfully different scopes — for example, a `ci-runner` identity that only needs read-only repo access, an `on-call` identity that holds production deploy credentials and is restricted to incident playbooks, and a `nightly-jobs` identity used by scheduled cleanups. + +Scoping each identity to a single workflow gives every run the minimum credentials it needs, keeps audit trails attributable to the right bot, and lets you revoke or rotate one workflow's access without touching the rest. ## Plan limits -Every team starts with a default agent identity. Additional identities are subject to plan-based limits — see [warp.dev/pricing](https://warp.dev/pricing) for current limits per plan. +Every team starts with a default agent identity. Additional identities are subject to plan-based limits. See [warp.dev/pricing](https://warp.dev/pricing) for current limits per plan. When a team is over its plan limit (for example, after downgrading), the extra identities remain visible in the list but are marked as unavailable. Unavailable identities cannot be used to start runs, cannot have new API keys generated for them, and cannot be edited. ## Managing agent identities -You can create, list, update, and delete agent identities through the public API. The full request and response shapes — including error codes — live on the [API Reference](/api) page; the operations to look for are `createAgent`, `listAgents`, `updateAgent`, and `deleteAgent` under the **agent** tag. +You can create, list, update, and delete agent identities through the public API. The full request and response formats, including error codes, live on the [API Reference](/api) page; the operations to look for are `createAgent`, `listAgents`, `updateAgent`, and `deleteAgent` under the **agent** tag. The endpoints behave as follows: @@ -68,9 +70,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 — you don't need to specify a team when generating the key. +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. -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 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. 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. @@ -81,7 +83,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 — surfaced as **Quick run** in the web app. +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. ## Where agent identities appear in the product @@ -97,7 +99,7 @@ Agent identities surface across several Oz surfaces: * [Cloud agent secrets](/agent-platform/cloud-agents/secrets/) - Manage the team-managed secrets you can attach to an agent identity. * [Deployment patterns](/agent-platform/cloud-agents/deployment-patterns/) - When to use an agent identity for automation versus a personal identity. * [Oz API & SDK](/reference/api-and-sdk/) - Programmatic access to the agent identity endpoints. -* [API Keys](/reference/cli/api-keys/) - Create keys bound to a specific agent identity. +* [API keys](/reference/cli/api-keys/) - Create keys bound to a specific agent identity. * [Federated identity tokens](/reference/cli/federate/) - Issue OIDC tokens from inside a run, including ones executing as an agent identity. * [Oz web app](/agent-platform/cloud-agents/oz-web-app/) - The web surface where you manage agent identities and inspect their runs. * [Admin Panel](/knowledge-and-collaboration/admin-panel/) - Team-level billing and access controls. diff --git a/src/content/docs/agent-platform/cloud-agents/harnesses/authentication.mdx b/src/content/docs/agent-platform/cloud-agents/harnesses/authentication.mdx index c5f95ed..6e1f23d 100644 --- a/src/content/docs/agent-platform/cloud-agents/harnesses/authentication.mdx +++ b/src/content/docs/agent-platform/cloud-agents/harnesses/authentication.mdx @@ -22,9 +22,9 @@ Claude Code is Anthropic's agentic coding tool. For more on Claude Code authenti ### Create an Anthropic API key 1. Go to the [Anthropic Console](https://platform.claude.com/login?returnTo=/?) and sign in or create an account. -2. Navigate to the API keys section, then click **Get API key**. -3. Create a new API key and copy the value. -4. Confirm your account has API credits. Claude Code runs are billed against your Anthropic API balance. +2. Confirm your account has API credits. Claude Code runs are billed against your Anthropic API balance. +3. Navigate to the API keys section, then click **Get API key**. +4. Create a new API key and copy the value. Oz also supports Bedrock-routed credentials (**Anthropic Bedrock API key** and **Anthropic Bedrock access key**) if your team consumes Anthropic models through AWS. @@ -32,11 +32,16 @@ Oz also supports Bedrock-routed credentials (**Anthropic Bedrock API key** and * #### Warp desktop app -In the Warp app, start a new cloud agent run and choose **Claude Code** from the **Agent harness** dropdown. In the harness auth secret field, add or select your Anthropic credential. +Start a new cloud agent run and choose **Claude Code** from the **Agent harness** dropdown. In the harness auth secret field, add or select your Anthropic credential. #### Oz web app -Start a [new run](https://oz.warp.dev/runs/new), choose **Claude Code** as the harness, and add a new key in the harness auth secrets dropdown. +Start a [new run](https://oz.warp.dev/runs/new), choose **Claude Code** as the harness, and add a new key in the Claude Code auth secret dialog. + +
+![The Oz web app dialog for adding a new Claude Code auth secret.](../../../../../assets/agent-platform/claude-code-auth-secret-setup.png) +
The Claude Code auth secret dialog.
+
#### Oz CLI @@ -59,20 +64,20 @@ A ChatGPT subscription (Plus, Pro, Team) does not include API access. You need a ### Create an OpenAI API key 1. Go to the [OpenAI Platform](https://platform.openai.com/) and sign in (or create an account). -2. Click **Create API key**. -3. In the **Create new secret key** dialog, choose the owner, project, and permissions for the key. -4. Click **Create secret key**, then copy the value. -5. Confirm your account has API credits. Codex runs are billed against your OpenAI API balance, not a ChatGPT subscription. +2. Confirm your account has API credits. Codex runs are billed against your OpenAI API balance, not a ChatGPT subscription. +3. Navigate to the API keys section, then click **Create API key**. +4. In the **Create new secret key** dialog, choose the owner, project, and permissions for the key. +5. Click **Create secret key**, then copy the value. ### Store API key in Oz #### Warp desktop app -In the Warp app, start a new cloud agent run and choose **Codex** from the **Agent harness** dropdown. In the harness auth secret field, add or select your OpenAI credential. +Start a new cloud agent run and choose **Codex** from the **Agent harness** dropdown. In the harness auth secret field, add or select your OpenAI credential. #### Oz web app -Start a [new run](https://oz.warp.dev/runs/new), choose **Codex** as the harness, and add a new key in the harness auth secrets dropdown. +Start a [new run](https://oz.warp.dev/runs/new), choose **Codex** as the harness, and add a new key in the Codex auth secret dialog. #### Oz CLI diff --git a/src/content/docs/agent-platform/cloud-agents/harnesses/claude-code.mdx b/src/content/docs/agent-platform/cloud-agents/harnesses/claude-code.mdx index c869e47..2640003 100644 --- a/src/content/docs/agent-platform/cloud-agents/harnesses/claude-code.mdx +++ b/src/content/docs/agent-platform/cloud-agents/harnesses/claude-code.mdx @@ -7,7 +7,7 @@ sidebar: label: "Claude Code" --- -Claude Code is Anthropic's agentic coding tool. Running it with Oz puts Claude Code inside a Warp-managed environment and connects it to the rest of the Oz platform — triggers, environments, secrets, observability, and governance — while still behaving like the Claude Code your team already uses. +Claude Code is Anthropic's agentic coding tool. Running it with Oz puts Claude Code inside a Warp-managed environment and connects it to the rest of the Oz platform — including triggers, environments, secrets, observability, and governance — while still behaving like the Claude Code your team already uses. :::note This page covers Claude Code as a **cloud** harness, dispatched and orchestrated by Oz. To run Claude Code locally in your Warp terminal, see [Claude Code in Warp](/agent-platform/cli-agents/claude-code/) instead. @@ -17,11 +17,11 @@ This page covers Claude Code as a **cloud** harness, dispatched and orchestrated * **Cloud orchestration** - Launch Claude Code from any Oz trigger: the Warp app, the Oz web app, the Oz CLI, the REST API, schedules, Slack mentions, Linear issues, or GitHub Actions. * **Claude model picker** - Choose the Claude model the harness uses, including the latest pinned Opus, Sonnet, and Haiku releases, the `best`/`opus`/`sonnet`/`haiku` aliases, and 1M-context variants. -* **First-class subagent** - A Warp Agent parent can dispatch Claude Code subagents to handle code-review-heavy or judgment-heavy steps within a larger orchestration. +* **First-class subagent** - A Warp Agent parent can dispatch Claude Code subagents to handle steps that require code review or nuanced judgment within a larger orchestration. ## Available models -The Claude Code harness exposes Anthropic's coding-tuned model lineup. Common picks: +The Claude Code harness exposes Anthropic's coding-tuned model lineup. Common choices include: * `best` - Resolves to the current top-of-line Claude model. * `opus`, `sonnet`, `haiku` - Aliases that resolve to the current default for that family. @@ -48,7 +48,7 @@ For setup steps, see [Connecting Claude Code credentials](/agent-platform/cloud- ## Related pages -* [Harnesses in Oz](/agent-platform/cloud-agents/harnesses/) — pick between Warp Agent, Claude Code, and Codex. +* [Harnesses in Oz](/agent-platform/cloud-agents/harnesses/) — choose between Warp Agent, Claude Code, and Codex. * [Authentication](/agent-platform/cloud-agents/harnesses/authentication/) — store Anthropic credentials as Warp-managed secrets. * [Warp Agent with Oz](/agent-platform/cloud-agents/harnesses/warp-agent/) — Oz's default harness, the only one that can orchestrate Claude Code subagents. * [Codex with Oz](/agent-platform/cloud-agents/harnesses/codex/) — Codex as a cloud harness. diff --git a/src/content/docs/agent-platform/cloud-agents/harnesses/codex.mdx b/src/content/docs/agent-platform/cloud-agents/harnesses/codex.mdx index 600ea9a..bdff141 100644 --- a/src/content/docs/agent-platform/cloud-agents/harnesses/codex.mdx +++ b/src/content/docs/agent-platform/cloud-agents/harnesses/codex.mdx @@ -1,13 +1,13 @@ --- title: Codex with Oz description: >- - Run Codex with Oz. Strong at codebase migrations, release coordination, batch - test generation, and backend or DevOps automation. + Run Codex with Oz for codebase migrations, release coordination, batch test + generation, and backend or DevOps automation. sidebar: label: "Codex" --- -Codex is OpenAI's coding agent. Running it with Oz puts Codex inside a Warp-managed environment and connects it to the rest of the Oz platform — triggers, environments, secrets, observability, and governance — while still behaving like the Codex CLI your team already uses. +Codex is OpenAI's coding agent. Running it with Oz puts Codex inside a Warp-managed environment and connects it to the rest of the Oz platform — including triggers, environments, secrets, observability, and governance — while still behaving like the Codex CLI your team already uses. :::note This page covers Codex as a **cloud** harness, dispatched and orchestrated by Oz. To run Codex locally in your Warp terminal, see [Codex CLI in Warp](/agent-platform/cli-agents/codex/) instead. @@ -21,13 +21,13 @@ This page covers Codex as a **cloud** harness, dispatched and orchestrated by Oz ## Available models -The Codex harness exposes OpenAI's Codex-tuned and general coding models. Common picks: +The Codex harness exposes OpenAI's Codex-tuned and general coding models. Common choices include: * `default` - Lets Codex pick its own recommended model based on your OpenAI account access. * `gpt-5.5`, `gpt-5.4` - Recent strong coding models from OpenAI with a configurable reasoning level. * `gpt-5.4-mini` - A faster, lower-cost option for lighter coding tasks or subagents. -For the full list — including older Codex-tuned and general models — open the model picker on the Oz web app's new-run pane. For details on each model, see [OpenAI's Codex model docs](https://developers.openai.com/codex/models). +For the full list, including Codex-tuned and general models, open the model picker on the Oz web app's new-run pane. For details on each model, see [OpenAI's Codex model docs](https://developers.openai.com/codex/models). ## Credentials and billing @@ -47,7 +47,7 @@ For setup steps, see [Connecting Codex credentials](/agent-platform/cloud-agents ## Related pages -* [Harnesses in Oz](/agent-platform/cloud-agents/harnesses/) — pick between Warp Agent, Claude Code, and Codex. +* [Harnesses in Oz](/agent-platform/cloud-agents/harnesses/) — choose between Warp Agent, Claude Code, and Codex. * [Authentication](/agent-platform/cloud-agents/harnesses/authentication/) — store OpenAI credentials as Warp-managed secrets. * [Warp Agent with Oz](/agent-platform/cloud-agents/harnesses/warp-agent/) — Oz's default harness, the only one that can orchestrate Codex subagents. * [Claude Code with Oz](/agent-platform/cloud-agents/harnesses/claude-code/) — Claude Code as a cloud harness. diff --git a/src/content/docs/agent-platform/cloud-agents/harnesses/index.mdx b/src/content/docs/agent-platform/cloud-agents/harnesses/index.mdx index b7e0064..36d6f50 100644 --- a/src/content/docs/agent-platform/cloud-agents/harnesses/index.mdx +++ b/src/content/docs/agent-platform/cloud-agents/harnesses/index.mdx @@ -7,7 +7,7 @@ sidebar: label: "Overview" --- -Oz can run third-party agents — [Claude Code](/agent-platform/cloud-agents/harnesses/claude-code/) and [Codex](/agent-platform/cloud-agents/harnesses/codex/) — as cloud agents alongside Warp Agent. You choose the harness (agent runtime) that fits the task; the platform around the run stays the same. +Oz can run two third-party agents as cloud agents alongside Warp Agent: [Claude Code](/agent-platform/cloud-agents/harnesses/claude-code/) and [Codex](/agent-platform/cloud-agents/harnesses/codex/). You choose the harness (agent runtime) that fits the task; the platform around the run stays the same. ## What stays the same @@ -28,6 +28,11 @@ Claude Code and Codex each call their provider directly using credentials you su In Cloud Mode, choose a harness from the **Agent harness** dropdown above the input. +
+![The Warp app Agent harness dropdown showing third-party harness options for a cloud agent.](../../../../../assets/agent-platform/cloud-agent-harness-selector-warp-app.png) +
The Agent harness selector.
+
+ :::note You can enter Cloud Mode by creating a new **Cloud Agent** tab or by using the `/cloud-agent` slash command. ::: diff --git a/src/content/docs/agent-platform/cloud-agents/harnesses/warp-agent.mdx b/src/content/docs/agent-platform/cloud-agents/harnesses/warp-agent.mdx index 1dcc137..940fb64 100644 --- a/src/content/docs/agent-platform/cloud-agents/harnesses/warp-agent.mdx +++ b/src/content/docs/agent-platform/cloud-agents/harnesses/warp-agent.mdx @@ -14,7 +14,7 @@ Warp Agent is the same agent runtime that powers Agent Mode in the Warp terminal ## Key features * **Multi-model auto-routing** - Routes between Anthropic, OpenAI, Google, and Fireworks-hosted models. Choose a specific model, or let Warp pick via `auto`, `auto-efficient`, `auto-genius`, or `auto-open`. See [Model choice](/agent-platform/capabilities/model-choice/) for the full catalog. -* **Full terminal and tool access** - Runs commands, edits files, reads logs, executes tests, navigates repos, and calls MCP servers — the same toolbelt Warp Agent uses locally. +* **Full terminal and tool access** - Runs commands, edits files, reads logs, executes tests, navigates repos, and calls MCP servers, giving cloud runs the same toolbelt Warp Agent uses locally. * **Platform-native context** - Reads [Codebase Context](/agent-platform/capabilities/codebase-context/), applies [Rules](/agent-platform/capabilities/rules/), reuses saved [Skills](/agent-platform/capabilities/skills/), and respects Memory and Warp Drive context with no extra setup. * **Multi-repo execution** - Clones every repo configured on the [environment](/agent-platform/cloud-agents/environments/) and works across them in a single run. * **Cross-harness orchestration parent** - A Warp Agent parent run can spawn Claude Code or Codex [subagents](/agent-platform/cloud-agents/overview/) and coordinate their outputs. Other harnesses cannot act as parents in a multi-harness orchestration. @@ -32,10 +32,10 @@ Warp Agent supports the full Warp model catalog. Configure the model per [Agent ### Cross-harness orchestration -Warp Agent is the orchestration host for multi-harness runs. A typical pattern: +Warp Agent is the orchestration host for multi-harness runs. A typical pattern looks like: 1. A Warp Agent parent run analyzes a task and breaks it into subtasks. -2. The parent dispatches Claude Code subagents for code-review-heavy steps and Codex subagents for high-volume edits. +2. The parent dispatches Claude Code subagents for steps that require code review or nuanced judgment and Codex subagents for high-volume edits. 3. The parent collects results, resolves conflicts, and returns a single final output (a PR, a report, a Slack reply). Subagents run in the same environment as the parent and share the same secrets, MCP servers, and integrations. The transcript shows the full tree, so reviewers can see exactly which subagent did what. @@ -61,7 +61,7 @@ For a complete walkthrough, see the [Cloud agents quickstart](/agent-platform/cl ## Related pages -* [Harnesses in Oz](/agent-platform/cloud-agents/harnesses/) — pick between Warp Agent, Claude Code, and Codex. +* [Harnesses in Oz](/agent-platform/cloud-agents/harnesses/) — choose between Warp Agent, Claude Code, and Codex. * [Claude Code with Oz](/agent-platform/cloud-agents/harnesses/claude-code/) — Claude Code as a cloud harness. * [Codex with Oz](/agent-platform/cloud-agents/harnesses/codex/) — Codex as a cloud harness. * [Model choice](/agent-platform/capabilities/model-choice/) — the model catalog Warp Agent routes across. diff --git a/src/content/docs/agent-platform/cloud-agents/oz-web-app.mdx b/src/content/docs/agent-platform/cloud-agents/oz-web-app.mdx index d7085b8..5be2372 100644 --- a/src/content/docs/agent-platform/cloud-agents/oz-web-app.mdx +++ b/src/content/docs/agent-platform/cloud-agents/oz-web-app.mdx @@ -8,7 +8,7 @@ sidebar: --- import VideoEmbed from '@components/VideoEmbed.astro'; -The [Oz web app](https://oz.warp.dev) provides a visual interface for managing cloud agents. You can start runs, browse agents, create schedules, configure environments, and set up integrations—all without installing Warp or using the CLI. +The [Oz web app](https://oz.warp.dev) provides a visual interface for managing cloud agents. You can start runs, browse agents and skills, create schedules, configure environments, and set up integrations—all without installing Warp or using the CLI. :::note The Oz web app works on mobile devices, so you can monitor and manage your cloud agents from anywhere. @@ -19,7 +19,7 @@ Watch this short demo to create an environment and run an agent using the Oz web ## Quick reference -
PagePathWhat you can do
Dashboard/dashboardQuick actions, suggested agents, recent agents, and featured reads
Runs/runsView all runs, filter by status/source/creator, start new runs, inspect transcripts
Agents/agentsBrowse skills from your environments, manage agent identities, dispatch skills as agents
Schedules/schedulesCreate scheduled agents, pause/enable schedules, view run history
Environments/environmentsCreate and manage environments with repos, Docker images, and setup commands
Secrets/secretsCreate and manage Warp-managed secrets for cloud agent runs
Integrations/integrationsConnect Slack and Linear to trigger agents from external tools
+
PagePathWhat you can do
Runs/runsView all runs, filter by status/source/creator, start new runs, inspect transcripts
Agents/agentsBrowse saved agents, create agents, configure defaults, and start runs
Skills/skillsBrowse skills from your environments, view suggested skills, create skills for agents, and start runs
Schedules/schedulesCreate scheduled agents, pause/enable schedules, view run history
Environments/environmentsCreate and manage environments with repos, Docker images, and setup commands
Secrets/secretsCreate and manage Warp-managed secrets for cloud agent runs
Integrations/integrationsConnect Slack and Linear to trigger agents from external tools
![The Oz web app's management view.](../../../../assets/agent-platform/oz-web-app-runs-view.png) @@ -32,14 +32,13 @@ The Oz web app is ideal when you want to: * **Monitor agent activity** — View runs, check status, and inspect outputs from any device * **Start quick runs** — Dispatch agents without opening a terminal +* **Manage agents and skills** — Create saved agents, browse skills from connected repositories, and start runs from either configuration * **Manage schedules visually** — Create and edit scheduled agents with a guided interface * **Configure environments** — Set up repos, Docker images, and setup commands through a form-based flow * **Set up integrations** — Connect Slack and Linear with a guided setup flow For scripting, automation, and CI/CD workflows, use the [Oz CLI](/reference/cli/) or [API](/reference/api-and-sdk/). ---- - ## Getting started When you first sign in to the Oz web app, you'll see a guided onboarding flow that helps you get started based on your goals. @@ -52,40 +51,9 @@ The onboarding asks "What brings you to Oz?" and offers three paths: You can skip onboarding at any time to go directly to the Runs page. ---- - -## Dashboard - -The **Dashboard** page (`/dashboard`) is your starting point for common actions and discovery. It provides quick access to the features you use most. - -### Quick actions - -Four action cards at the top let you immediately: - -* **New run** — Start a cloud agent run -* **New agent** — Create a new skill -* **New schedule** — Set up a scheduled agent -* **New environment** — Configure a new execution environment - -Each action opens a guided side pane without leaving the Dashboard. - -### Suggested agents - -A curated list of pre-built skills from Warp's public [oz-skills repository](https://github.com/warpdotdev/oz-skills). Click **Run** on any suggested agent to start a run with that skill. - -### Recent agents - -Shows the last three agents you've run, so you can quickly re-run common workflows. If you haven't run any agents yet, you'll see prompts to start a new run or create your first agent. - -### Featured reads - -Links to curated articles and documentation to help you get the most out of Oz (visible on desktop). - ---- - ## Runs -The **Runs** page (`/runs`) is your central view for monitoring cloud agent activity. It shows all runs across your account, including those triggered from the CLI, API, integrations, and schedules. +The **Runs** page (`/runs`) is your central view for monitoring cloud agent activity. It shows runs across your account and team, where applicable, including those triggered from the CLI, API, integrations, and schedules. ### Run details @@ -99,92 +67,86 @@ Click any run to open the detail pane, where you can view the full transcript, a
Quick filterShows
AllAll runs
MineOnly runs you created
ActiveRuns currently in progress
FailedRuns that failed
RecurringRuns triggered by schedules
-You can also search by title, prompt, or skill name, and add advanced filters for source, status, creator, and date range. - ---- +You can also search by title, prompt, or agent name, and add advanced filters for source, status, creator, and date range. ### Starting a new run -:::note Click **New run** in the header to start a cloud agent. -::: -1. **Select an agent (optional)** — Choose a skill to use as the base instructions, or select "Quick run" to run without a skill -2. **Select an environment** — Choose which environment the agent runs in -3. **Add a prompt** — Provide context and instructions for this specific run +1. Select an agent, if needed. Choose **Quick run** to run as yourself, or choose a saved agent from the **Agent** dropdown. +2. Select the environment where the agent should run. +3. Add a prompt with context and instructions for this specific run. -The skill provides base instructions; your prompt adds context for this particular execution. +**Quick run** runs as your own user. A saved agent uses its saved defaults, and your prompt adds context for this particular execution. ---- +### Inspecting orchestrated runs -## Agents +The Oz web app renders [multi-agent orchestrations](/agent-platform/cloud-agents/orchestration/) as nested rows on the **Runs** page, so you can follow parent and child execution together. -The **Agents** page (`/agents`) covers two related but distinct concepts: +Open a parent run from the Runs page. When the run has children, the detail pane adds a **Sub-agents** tab next to **Details**: -* **Skills** - Reusable instruction sets stored in repositories that an agent can execute. Browse skills available from your environments, plus suggested skills from Warp's public [oz-skills repository](https://github.com/warpdotdev/oz-skills). -* **Agent identities** - Team-scoped bot accounts that own and execute runs. The same page is where teams create and manage agent identities, attach descriptions and secrets to them, and bind API keys to a specific identity. +* Each child agent row shows the child's current status and title. Click a row to open that child's detail pane; closing it returns you to the parent's **Sub-agents** tab. +* The parent's own status badge at the top of the detail pane reflects the parent's work, not its children. Open a child to inspect its state directly. -For the full reference on agent identities — including plan limits, the REST endpoints, and how to run as a specific identity — see [Agent identities](/agent-platform/cloud-agents/agents/). +## Agents -### Skill details +The **Agents** page (`/agents`) is where you browse, create, and run saved agents. Agents are reusable cloud agent configurations that can include a prompt, skills, harness, model, environment, and secrets. -Each skill displays: +Skills are reusable instruction sets stored in repositories. You can attach existing skills to an agent through the **Skills** field; for more details, see [Skills as Agents](/agent-platform/cloud-agents/skills-as-agents/). -
FieldDescription
NameThe skill's identifier
DescriptionWhat the skill does
EnvironmentsWhich environments have access to this skill
+Saved agents use Warp's team-scoped identity model, which lets a reusable agent own runs and carry default configuration for teammates. You manage saved agents from the Agents page. For plan limits, API endpoints, and API key binding behavior, see [Agent identities](/agent-platform/cloud-agents/agents/).
![The Agents page in the Oz web app.](../../../../assets/agent-platform/oz-web-app-agents.png)
The Agents page in the Oz web app.
-Filter by environment or switch to the **Suggested** tab to see pre-built skills for common workflows like code review, dependency updates, and documentation sync. +Open an agent to review its prompt, skills, harness, model, environment, and attached secrets. From the detail pane, you can inspect activity, create schedules, edit configuration, or start a run from the saved agent. -### Running a skill as an agent +### Running an agent -Click any skill to view its details, then click **Run** to start an agent with that skill. You can also click **New run** from the header to start a run with optional skill selection. +Click any agent to view its details, then click **New run** to start a run from that saved configuration. You can also click **New run** from the header to start a run with optional agent selection. -:::note -For more details on how skills work with cloud agents, see [Skills as Agents](/agent-platform/cloud-agents/skills-as-agents/). -::: +### Creating a new agent + +To create a saved agent: -### Creating new skills +1. Click **New agent** to open the guided creation flow. +2. Define the instructions and defaults. Add a name, description, prompt, optional skills, harness, model, environment, and secrets. +3. Click **Create agent**. The saved agent appears on the Agents page and is available for runs. -Click **New skill** to create a new skill. The guided flow helps you define the skill's instructions, which are then available for future runs. +For deeper guidance on reusable skills and team-scoped identities, see [Skills as Agents](/agent-platform/cloud-agents/skills-as-agents/) and [Agent identities](/agent-platform/cloud-agents/agents/).
-![Creating a new agent skill in the Oz web app.](../../../../assets/agent-platform/oz-web-app-new-agent.png) -
Creating a new skill in the Oz web app.
+![Creating a new agent in the Oz web app.](../../../../assets/agent-platform/oz-web-app-new-agent.png) +
Creating a new agent in the Oz web app.
-### Agent identities +## Skills -Agent identities are managed from the same Agents page. From the agent-identities view, you can: +The **Skills** page (`/skills`) is where you browse and run skills. Skills are reusable instruction sets stored in repositories, and agents can include one or more skills as part of their default configuration. -* **Create an agent identity** - Give it a name, an optional description, a default model and harness, and the secrets and skills runs as that identity should receive. -* **Edit an existing identity** - Update its description, attached secrets, attached skills, or default configuration. -* **Delete an identity** - Soft-deletes the identity and atomically deletes every API key bound to it. The default agent identity cannot be deleted. +Use the **From your Environments** filter to view skills from repositories connected to your environments, or switch to **Suggested** to view recommended skills. Open a skill to view its activity, schedules, and `SKILL.md` configuration. -When you start a new run or schedule from the web app, the form's **Agent** dropdown lets you pick which agent identity should execute the run. **Quick run** is the default option and runs as your own user. See [Agent identities](/agent-platform/cloud-agents/agents/) for the full reference. +### Running a skill -#### Creating an agent identity +Click any skill to view its details, then click **New run** to start a run with that skill attached. You can also click **New run** from the page header to start a run with optional skill selection. -Click **New agent** to open the **New agent** side pane. The pane is split into collapsible sections; only the name is required. Walk through the fields in order: +### Creating a skill for agents -1. **Name** (required) — A short, scriptable identifier for the identity, such as `featureFlagRemover` or `deploy-bot`. -2. **Description** (optional) — A summary teammates see when picking the identity in run pickers. -3. **Prompt** (optional) — Additional instructions appended to every run started as this identity. -4. **Skills** — Use the multi-select to attach one or more skill specs the identity comes preloaded with. -5. **Base harness** — Choose the execution harness for this identity's runs: Oz (the default) or a supported third-party CLI agent. -6. **Base model** — When the chosen harness uses Warp's model picker, select the primary model the identity uses. You can leave this empty to fall back to the team default. -7. **Harness auth secret** — When the chosen harness needs its own authentication (for example, a third-party CLI agent), pick the Warp-managed secret to authenticate with. Can be overridden per run. -8. **Secrets** — Open the **Secrets** section and select the [Warp-managed secrets](/agent-platform/cloud-agents/secrets/) this identity should receive at run time. -9. **Memory stores** — Attach the memory stores this identity should read from or write to. +To create a skill for agents: -Click **Create agent** to save. The new identity appears on the Agents page and is immediately available in run and schedule pickers. To edit an existing identity later, click it in the list, then click **Edit**. +1. Click **New agent** on the Skills page to open the skill creation flow. +2. Choose a repository from an existing environment with GitHub access. +3. Define the skill. Add a skill name, description, and instructions. +4. Click **Open Skill PR** to create a pull request that adds the skill to the selected repository. -For the conceptual model — plan limits, the REST endpoints, and how API keys are bound to an identity — see [Agent identities](/agent-platform/cloud-agents/agents/). +
+![Creating a skill for agents in the Oz web app.](../../../../assets/agent-platform/oz-web-app-new-skill.png) +
Creating a skill in the Oz web app.
+
---- +After the PR is merged, refresh skills so the new skill appears in the Oz web app. ## Schedules @@ -194,28 +156,24 @@ The **Schedules** page (`/schedules`) lets you create and manage scheduled agent Each schedule displays: -
FieldDescription
NameA descriptive name for the scheduled task
FrequencyHuman-readable description of the cron schedule (e.g., "Every Monday at 10am")
Next runWhen the schedule will next execute
EnvironmentWhich environment the scheduled agent runs in
AgentWhich skill the schedule uses (if any)
StatusWhether the schedule is active or paused
+
FieldDescription
NameA descriptive name for the scheduled task
FrequencyHuman-readable description of the cron schedule (e.g., "Every Monday at 10am")
Next runWhen the schedule will next execute
EnvironmentWhich environment the scheduled agent runs in
AgentWhich saved agent the schedule uses (if any)
StatusWhether the schedule is active or paused
![The Schedules page in the Oz web app.](../../../../assets/agent-platform/oz-web-app-schedules.png)
The Schedules page in the Oz web app.
---- - ### Creating a schedule -:::note -Click **New schedule** in the header to create a scheduled agent. -::: - -1. **Name** — Give the schedule a descriptive name -2. **Frequency** — Set the cron schedule (with presets for common patterns) -3. **Environment** — Select the environment to run in -4. **Agent (optional)** — Choose a skill to use -5. **Prompt** — Define what the agent should do each time it runs +To create a scheduled agent: ---- +1. Click **New schedule** in the header. +2. Name the schedule. Use a descriptive name that explains what the scheduled agent does. +3. Set the frequency. Choose a preset or enter a cron schedule. +4. Select the environment where the scheduled agent should run. +5. Choose a saved agent, if needed. +6. Add the prompt that the agent should follow each time it runs. +7. Click **Create schedule**. The schedule appears on the Schedules page. ### Managing schedules @@ -230,8 +188,6 @@ Click any schedule to view its details and recent run history. From the detail p For CLI-based schedule management, see [Scheduled Agents](/agent-platform/cloud-agents/triggers/scheduled-agents/). ::: ---- - ## Environments The **Environments** page (`/environments`) shows all environments configured for your account. Environments define the execution context for cloud agents, including repos, Docker images, and setup commands. @@ -247,25 +203,21 @@ Each environment displays:
The Environments page in the Oz web app.
---- - ### Creating an environment -:::note -Click **New environment** in the header to create a new environment. -::: +To create a new environment: -1. **Name** — Give the environment a descriptive name -2. **Docker image** — Specify a Docker image (Warp provides prebuilt dev images, or use your own) -3. **Repositories** — Add GitHub repos the agent should have access to -4. **Setup commands** — Define commands to run when the environment starts (e.g., `npm install`) +1. Click **New environment** in the header. +2. Name the environment. Use a descriptive name that explains the runtime context. +3. Select the repositories the agent should be able to access. +4. Choose a Docker image. Warp provides prebuilt dev images, or you can use your own. +5. Add any setup commands that should run when the environment starts, such as `npm install`. +6. Click **Create environment**. The environment appears on the Environments page. :::note For advanced environment configuration, see [Environments](/agent-platform/cloud-agents/environments/) and the [CLI reference](/reference/cli/integration-setup/). ::: ---- - ## Integrations The **Integrations** page (`/integrations`) lets you configure first-party integrations with Slack and Linear. @@ -287,31 +239,10 @@ Click an integration to start the guided setup flow. You'll authorize Warp to co For detailed integration setup instructions, see [Slack](/agent-platform/cloud-agents/integrations/slack/) and [Linear](/agent-platform/cloud-agents/integrations/linear/). ::: ---- - -## Orchestrated runs - -The Oz web app renders [multi-agent orchestrations](/agent-platform/cloud-agents/orchestration/) as nested rows on the [**Runs** page](https://oz.warp.dev/runs) so you can follow parent and child execution together. - -### Where to start an orchestration - -* **New run** - when starting a new run, choose a skill that performs orchestration or write an `orchestrate`-mode prompt. The parent decides how many children to spawn based on the prompt. -* **Agents page** - the **Suggested** tab on the [**Agents** page](https://oz.warp.dev/agents) includes orchestration skills like review swarms and fan-out runners. Click **Run** on one to dispatch a parent. - -### Inspecting an orchestration - -Open a parent run from the Runs page. When the run has children, the detail pane adds a **Sub-agents** tab next to **Details**: - -* Each child agent row shows the child's current status and title. Click a row to open that child's detail pane; closing it returns you to the parent's **Sub-agents** tab. -* The parent's own status badge at the top of the detail pane reflects the parent's work, not its children. Open a child to inspect its state directly. - ---- - ## Related resources * [Cloud Agents Overview](/agent-platform/cloud-agents/overview/) — Learn about cloud agents and when to use them * [Multi-agent orchestration](/agent-platform/cloud-agents/orchestration/) — Parent/child model and common orchestration patterns -* [Agent identities](/agent-platform/cloud-agents/agents/) — Team-scoped bot accounts that own and execute runs * [Skills as Agents](/agent-platform/cloud-agents/skills-as-agents/) — Run agents based on reusable skill definitions * [Scheduled Agents](/agent-platform/cloud-agents/triggers/scheduled-agents/) — Run agents automatically on a cron schedule * [Environments](/agent-platform/cloud-agents/environments/) — Configure runtime context for cloud agents