Skip to content

Factories > Factory agents

Configuring factory agents

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

Open in ChatGPT ↗
Ask ChatGPT about this page
Open in Claude ↗
Ask Claude about this page
Copied!

Change how an existing factory agent works by editing its instructions, tools, and runtime in the Warp Factories web app or its definition files.

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.

  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.

    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.

    The Settings tab contains the agent’s description and resources.

  3. Edit the agent description, harness, model, runner, host, MCP servers, or secrets.

  4. To change the agent’s instructions, click Prompt and edit the prompt.

  5. In the top-right corner, click Save.

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:

AgentWhat to optimize for
ForemanOrchestration, instruction following, and long-running conversations
TriageResearch, evidence gathering, and working with connected tools
SpecSynthesizing requirements, technical reasoning, and precise writing
ImplementCoding strength, with a harness that fits your repositories and toolchain
ReviewA 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.

Start with factory ZDR coverage and its limits. The procedures below remove known model exceptions from settings you control; they don’t certify coverage for every auxiliary request. Both work in a browser without Warp Terminal.

Before using Self-improvement with sensitive run data, ask Warp to confirm its separate analysis model and provider coverage. It doesn’t inherit the foreman’s model.

For a Warp-managed definition, you need the editing access listed above. Use the model exception list when making each selection.

  1. Open the Warp Factories web app and expand your factory in the sidebar. In Agents, open each agent’s Settings. In the “Harness” and “Model” dropdowns, choose the Warp Agent and a model outside the exception list. Click Save for each changed agent.
  2. In the factory’s Factory definition tab, open factory.yaml. Set agentDefaults.model, or the model under agentDefaults.harness, outside the exception list. Don’t keep both model and harness. This default applies where an agent doesn’t override it; see model and harness syntax.
  3. In Factory definition, review each automations/<name>/automation.md. Change any model or harness execution override that selects an exception. The Automations editor doesn’t expose these overrides.
  4. In Factory definition, review agentDefaults.computerUseModel and any computerUseModel in agent or automation files. Remove listed exceptions from these choices too. Omitted values inherit or use automatic selection; see Computer Use model inheritance.
  5. In Scorers, open each Scorer and review its “Judge model.” Change any exception and save. If an agent selects a custom router, review every router target and its default model, not only the router’s name.
  6. Save the definition changes. Before starting work, complete the run-level checks below.

You need permission to propose and merge definition changes in the connected GitHub repository. Dashboard editors are read-only for a GitHub-backed factory.

  1. Open the Warp Factories web app, expand your factory, and open Settings. Follow its repository link to the connected definition. In GitHub, open the existing factory.yaml and create a branch for your edits.
  2. In factory.yaml, set agentDefaults.model, or the model under agentDefaults.harness, outside the model exception list. Use the Warp Agent harness (type: oz) for Warp-managed inference. Don’t keep both model and harness.
  3. Edit each existing agents/<name>/agent.md and automations/<name>/automation.md. Replace exception models in their frontmatter’s model or harness settings. Agent overrides replace the factory default; automation overrides can replace the selected agent’s settings.
  4. Review agentDefaults.computerUseModel in factory.yaml and computerUseModel in agent and automation files. Remove listed exceptions from these separate choices. Check inheritance and automatic selection when a value is omitted.
  5. Review the model in each scorers/<name>/scorer.md. Replace exceptions there too. If any selection uses a custom router, inspect every target and its default model in the connected router definition.
  6. Open a pull request in GitHub, pass the factory-definition checks, and merge through your normal review process into the factory’s connected production branch. Confirm the definition synced successfully before starting a new run.

Team-managed keys can change whose provider account serves a named model. Review the inference options and credentials, even when a model’s name hasn’t changed. For your own keys or endpoints, BYOLLM, or direct Claude Code or Codex calls, verify provider retention for the specific account, model, and configuration.

Before launching a benchmark, check every trial’s harness, model, and selected Scorers. For runs started by an API, CLI, or another agent, check supplied model or harness overrides too.

Start a new run with non-sensitive test input. In the factory dashboard’s Runs, open the run and inspect its model and harness. Check child runs separately. Existing runs keep their selected model. This confirms the visible configuration, not the provider contract or every auxiliary call. Recheck when models, credentials, or workflows change.

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.

    The Auth dropdown appears when a third-party harness is selected.

  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 in the definition files. For an example, see 03-multi-harness.