> For the complete documentation index, see [llms.txt](https://docs.warp.dev/llms.txt).
> Markdown versions of each page are available by appending .md to any URL.

# Configuring factory agents

Configure a factory agent's instructions, tools, model, and harness, including authentication for Claude Code and Codex.

Change how an existing factory agent works by editing its instructions, tools, and runtime in the [Warp Factories web app](https://platform.warp.dev) or its definition files.

## Prerequisites

-   [Editor access to this factory, or team or workspace admin access](https://docs.warp.dev/factories/infrastructure-and-security/#factory-roles-and-permissions).
-   An existing factory agent. See [About factory agents](https://docs.warp.dev/factories/factory-agents/) for the default roles, or [Creating custom agents](https://docs.warp.dev/factories/factory-agents/creating-custom-agents/) to add a role.

## Edit agent settings and instructions

For a Warp-managed factory, edit agent settings in the web app. For a GitHub-backed factory, settings are read-only in the web app; edit the [factory definition files](https://docs.warp.dev/factories/factory-as-code/) instead. See [Where the definition lives](https://docs.warp.dev/factories/factory-as-code/#where-the-definition-lives).

1.  In the web app sidebar, click your factory to expand it, then click **Agents**.
    
    ![The Agents page in the factory dashboard, listing a foreman agent and its four default agents: triage, spec, implement, and review.](https://docs.warp.dev/_astro/factory-agents-list.lvxXrd-B_Z1wz6CC.webp?dpl=dpl_8DA9fWeEjC7FGWsa72Mk9C1hZSUA)
    
    The Agents page lists a factory’s foreman and default agents.
    
2.  Click an agent to open its **Settings** tab.
    
    ![An Implement agent's Settings tab showing its description, MCPs, secrets, and Harness, Model, Host, and Runner dropdowns.](https://docs.warp.dev/_astro/factory-agent-edit.DW32ylsZ_Z2jETtV.webp?dpl=dpl_8DA9fWeEjC7FGWsa72Mk9C1hZSUA)
    
    The Settings tab contains the agent’s description and resources.
    
3.  Edit the agent description, harness, model, runner, host, [MCP servers](https://docs.warp.dev/factories/mcp/), or [secrets](https://docs.warp.dev/factories/secrets/).
    
4.  To change the agent’s instructions, click **Prompt** and edit the prompt.
    
5.  In the top-right corner, click **Save**.
    

## Choose models and harnesses per agent

Choose each agent’s model and harness in its settings. Supported harnesses include the Warp Agent, Claude Code, and Codex. A foreman using Claude Code or Codex can still dispatch other factory agents, whose runs are tracked as its children.

Third-party harness access depends on your team’s plan and workspace settings. If a harness requires an upgrade, use the Warp Agent or review [Warp pricing](https://www.warp.dev/pricing).

Default model IDs change over time, so choose based on what each agent has to do well:

| Agent | What to optimize for |
| --- | --- |
| Foreman | Orchestration, instruction following, and long-running conversations |
| Triage | Research, evidence gathering, and working with connected tools |
| Spec | Synthesizing requirements, technical reasoning, and precise writing |
| Implement | Coding strength, with a harness that fits your repositories and toolchain |
| Review | A different model or harness from the implement agent, so the two don’t share blind spots |

The model picker also includes custom routers from factories you can access. See [Agent model choice](https://docs.warp.dev/agents/inference/model-choice/), [Custom routers](https://docs.warp.dev/agents/inference/custom-routers/), and [Agent harnesses](https://docs.warp.dev/factories/harnesses/) for available options.

For team-managed inference in definition files, see [custom endpoint and BYOK model values](https://docs.warp.dev/factories/factory-as-code/#custom-inference-endpoints-and-byok), including factory defaults and per-agent overrides.

## Reviewing inference for provider ZDR

Configure your factory to avoid [models requiring provider retention](https://docs.warp.dev/agents/inference/model-choice/#models-requiring-provider-retention) in the settings you control. Both paths below work in a browser without Warp Terminal. First, read [factory ZDR coverage and its limits](https://docs.warp.dev/factories/infrastructure-and-security/#zero-data-retention-zdr-for-factory-inference).

Before editing, review [inference credentials](https://docs.warp.dev/factories/infrastructure-and-security/#inference-options-for-factory-runs) with your admin. A team provider key can change whose account serves a model without changing its name. For your own account or direct Claude Code or Codex calls, [verify provider retention](https://docs.warp.dev/factories/infrastructure-and-security/#choose-inference-covered-by-provider-zdr); don’t switch credentials or harnesses solely to follow these steps.

Factory defaults apply to agents that inherit them. Explicit agent settings and automation overrides can select a different model, so changing the default alone isn’t enough.

### Reviewing a dashboard-managed factory

Use this path for a Warp-managed definition. You need [factory editing access](#prerequisites). If the definition is read-only, use the [GitHub path](#reviewing-a-github-backed-factory).

1.  Open the [Warp Factories web app](https://platform.warp.dev), expand your factory, and click **Factory definition**. Open the existing `factory.yaml`.
2.  For a Warp Agent default (`type: oz`), set `agentDefaults.model` or `agentDefaults.harness.model` outside the exception list. Keep only one form; see [model syntax](https://docs.warp.dev/factories/factory-as-code/#agentdefaultsmodel). For a third-party harness default, verify retention with its provider instead. Save changes and confirm validation succeeds.
3.  In **Agents**, open each agent’s **Settings**. Check the “Harness” and “Model” selections, including the foreman and agents it dispatches. For agents using the Warp Agent, choose a model outside the exception list and click **Save**.
4.  Complete the applicable [additional model checks](#checking-separate-model-settings). Use **Factory definition** for settings the dedicated editors don’t expose. Save definition edits and confirm validation succeeds before [checking a new run](#checking-new-runs).

### Reviewing a GitHub-backed factory

You need permission to propose and merge changes in the definition’s GitHub repository. The dashboard editors are read-only.

1.  In the [Warp Factories web app](https://platform.warp.dev), expand your factory and open **Settings**. Follow the definition repository link, then create a branch for the changes.
2.  In the existing `factory.yaml`, check the default harness. For the Warp Agent (`type: oz`), set `agentDefaults.model` or `agentDefaults.harness.model` outside the exception list. Keep only one form; see [model syntax](https://docs.warp.dev/factories/factory-as-code/#agentdefaultsmodel). For a third-party harness, verify retention with its provider instead.
3.  Open each existing `agents/<name>/agent.md`, including the foreman. For agents using the Warp Agent, replace retention-required models in explicit `model` or `harness.model` settings. Verify third-party harness choices with their provider. Keep unrelated settings and instructions.
4.  Complete the applicable [additional model checks](#checking-separate-model-settings) in the definition files.
5.  Open a pull request and confirm the [factory-definition checks](https://docs.warp.dev/factories/factory-as-code/#pull-request-checks) pass. Merge into the factory’s connected production branch and confirm a successful definition sync before [checking a new run](#checking-new-runs).

### Checking separate model settings

Complete each check that applies to your factory rather than assuming every feature uses the foreman’s model.

| If you use… | Check before starting work |
| --- | --- |
| Automations | In each `automations/<name>/automation.md`, replace exception models in `model` or `harness.model`. These override the target agent. Use **Factory definition** for a dashboard-managed factory; the **Automations** editor doesn’t expose these settings. |
| Computer Use | Check `agentDefaults.computerUseModel` in `factory.yaml` and `computerUseModel` overrides in agent and automation files. Replace exception models. Omitted values inherit or use automatic selection; see [Computer Use inheritance](https://docs.warp.dev/factories/factory-as-code/#agentdefaultscomputerusemodel). |
| Scorers | In the dashboard’s **Scorers** page, open each Scorer and change any exception in “Judge model,” then save. For GitHub-backed definitions, edit `model` in each `scorers/<name>/scorer.md`. |
| Custom routers | Review every target and the default model in the [router definition](https://docs.warp.dev/factories/factory-as-code/#routersnameyaml), including routers selected from another factory. Replace exception models; checking only the router’s name isn’t enough. |
| Benchmarks | Before launching, check each trial’s harness, model, selected Scorers, and any supplied overrides. See [running a benchmark](https://docs.warp.dev/factories/benchmarks/#create-and-run-a-benchmark). |
| API, CLI, or agent-started runs | Check supplied model, harness, and Computer Use overrides before dispatching the run. |

Self-improvement analyzes run data with a separate model, not the foreman’s model. Before using it with sensitive data, ask Warp to confirm that model and its provider coverage.

### Checking new runs

After saving or syncing the changes:

1.  In the web app, click **New Chat**, choose your factory below the prompt input, and send non-sensitive test input, such as: “Reply with a greeting. Don’t read repository files or call tools.”
2.  In **Runs**, open the new run and inspect its model and harness. If it dispatches child runs, check those separately. If a selection differs from your configuration, check agent, automation, and run overrides before sending sensitive work.

Saved choices apply to new runs; existing runs keep their selected model. These checks confirm visible configuration, not provider contracts or every background request. Recheck when models, credentials, or workflows change.

## Configuring a third-party harness

Change an agent’s harness to Claude Code or Codex to run it with that provider’s own coding tool.

1.  In the web app sidebar, click your factory to expand it, then click **Agents**.
    
2.  Click an agent to open its **Settings** tab.
    
3.  In the “Harness” dropdown, choose **Claude Code** or **Codex**. The “Auth” field appears for these harnesses.
    
4.  In the “Auth” field, choose a compatible, team-owned secret. To create one, click **New auth secret** for Claude Code or **New OpenAI API Key** for Codex.
    
    ![An Implement agent's Settings tab with Claude Code selected in the Harness dropdown and the Auth dropdown open, showing a saved credential and New auth secret.](https://docs.warp.dev/_astro/factory-agent-auth-secret.BBtyYaA6_1qt9YA.webp?dpl=dpl_8DA9fWeEjC7FGWsa72Mk9C1hZSUA)
    
    The Auth dropdown appears when a third-party harness is selected.
    
    Note
    
    -   Claude Code accepts an Anthropic API key, Anthropic Bedrock API key, or Anthropic Bedrock access key.
    -   Codex accepts an OpenAI API key.
    
    See [connecting Claude Code credentials](https://docs.warp.dev/factories/harnesses/authentication/#connecting-claude-code-credentials) and [connecting Codex credentials](https://docs.warp.dev/factories/harnesses/authentication/#connecting-codex-credentials) for how to obtain each key.
    
5.  In the “Model” dropdown, choose a model from that harness’s catalog.
    
6.  In the top-right corner, click **Save**.
    

With a Warp-managed factory, you can edit harness, auth, and model from the dashboard. A GitHub-backed factory sets them through [`agentDefaults.harness` or a per-agent `harness` override](https://docs.warp.dev/factories/factory-as-code/#agentdefaultsharness) in the definition files. For an example, see [`03-multi-harness`](https://github.com/warpdotdev/warp-factory-examples/tree/main/examples/03-multi-harness).

## Related pages

-   [About factory agents](https://docs.warp.dev/factories/factory-agents/) - Understand responsibilities and human decision points
-   [Creating custom agents](https://docs.warp.dev/factories/factory-agents/creating-custom-agents/)
-   [Factory skills](https://docs.warp.dev/factories/factory-skills/)
-   [Definitions as code](https://docs.warp.dev/factories/factory-as-code/)
