Skip to content

Switch coding agents

Change the agent Shipper uses globally or for a specific prompt-running stage. Use repository-scoped settings for an explicit default shared by the team.

  1. Set a team-wide default coding agent.

    Use the settings command to write and commit the repository-scoped choice:

    Terminal window
    shipper settings set commands.default.agent codex --repo

    This updates the working tree but does not stage or commit the file. Commit the shared policy after reviewing it:

    Terminal window
    git add .shipper/settings.json && git commit -m "chore: set repository coding agent"

    The only valid values are "claude", "codex", "copilot", "grok", and "opencode". Repository scope is deliberate shared-team policy. Selecting an agent to run shipper setup or assisted setup chooses only the setup runner; it does not pin committed repository settings. Run the repository-scoped settings command when that persistent policy is intended.

    Before switching, review Supported coding agents for each agent’s CLI prerequisite, repository config file, MCP defaults, and current limitations.

  2. Override individual stages when needed.

    Add entries under commands for the stages that should use a different agent. Use underscore keys for PR commands.

    {
    "commands": {
    "default": { "agent": "claude" },
    "implement": { "agent": "codex" },
    "pr_review": { "agent": "copilot" },
    "setup": { "agent": "opencode" }
    }
    }
  3. Use only supported stage keys.

    Valid per-step override keys are new, groom, design, plan, implement, pr_review, implement, unblock, and setup.

  4. Check the reference when you need more settings fields.

    Use Reference > Settings for the full settings schema and Reference > CLI for command details.

  5. Override a single run when needed.

    Pass --agent opencode on prompt-running commands to use OpenCode for that invocation without changing repository defaults.

Inspect the effective value and confirm its reported origin is repo:

Terminal window
shipper settings get commands.default.agent