Factories > Factory agents
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 or its definition files.
Prerequisites
Section titled “Prerequisites”- Editor access to this factory, or team or workspace admin access.
- An existing factory agent. See About factory agents for the default roles, or Creating custom agents to add a role.
Edit agent settings and instructions
Section titled “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 instead. See Where the definition lives.
-
In the web app sidebar, click your factory to expand it, then click Agents.
The Agents page lists a factory’s foreman and default agents. -
Click an agent to open its Settings tab.
The Settings tab contains the agent’s description and resources. -
Edit the agent description, harness, model, runner, host, MCP servers, or secrets.
-
To change the agent’s instructions, click Prompt and edit the prompt.
-
In the top-right corner, click Save.
Choose models and harnesses per agent
Section titled “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.
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, Custom routers, and Agent harnesses for available options.
For team-managed inference in definition files, see custom endpoint and BYOK model values, including factory defaults and per-agent overrides.
Reviewing inference for provider ZDR
Section titled “Reviewing inference for provider ZDR”Configure your factory to avoid 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.
Before editing, review inference credentials 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; 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
Section titled “Reviewing a dashboard-managed factory”Use this path for a Warp-managed definition. You need factory editing access. If the definition is read-only, use the GitHub path.
- Open the Warp Factories web app, expand your factory, and click Factory definition. Open the existing
factory.yaml. - For a Warp Agent default (
type: oz), setagentDefaults.modeloragentDefaults.harness.modeloutside the exception list. Keep only one form; see model syntax. For a third-party harness default, verify retention with its provider instead. Save changes and confirm validation succeeds. - 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.
- Complete the applicable additional model checks. Use Factory definition for settings the dedicated editors don’t expose. Save definition edits and confirm validation succeeds before checking a new run.
Reviewing a GitHub-backed factory
Section titled “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.
- In the Warp Factories web app, expand your factory and open Settings. Follow the definition repository link, then create a branch for the changes.
- In the existing
factory.yaml, check the default harness. For the Warp Agent (type: oz), setagentDefaults.modeloragentDefaults.harness.modeloutside the exception list. Keep only one form; see model syntax. For a third-party harness, verify retention with its provider instead. - Open each existing
agents/<name>/agent.md, including the foreman. For agents using the Warp Agent, replace retention-required models in explicitmodelorharness.modelsettings. Verify third-party harness choices with their provider. Keep unrelated settings and instructions. - Complete the applicable additional model checks in the definition files.
- Open a pull request and confirm the factory-definition checks pass. Merge into the factory’s connected production branch and confirm a successful definition sync before checking a new run.
Checking separate model settings
Section titled “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. |
| 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, 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. |
| 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
Section titled “Checking new runs”After saving or syncing the changes:
- 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.”
- 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
Section titled “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.
-
In the web app sidebar, click your factory to expand it, then click Agents.
-
Click an agent to open its Settings tab.
-
In the “Harness” dropdown, choose Claude Code or Codex. The “Auth” field appears for these harnesses.
-
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.
The Auth dropdown appears when a third-party harness is selected. -
In the “Model” dropdown, choose a model from that harness’s catalog.
-
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 in the definition files. For an example, see 03-multi-harness.
Related pages
Section titled “Related pages”- About factory agents - Understand responsibilities and human decision points
- Creating custom agents
- Factory skills
- Definitions as code