Set a per-issue agents-override for one role
set_agents_overridePatch one role's harness/model/effort/prompt for a single mission, layered over ship.yml per-field (a role or field this call omits keeps resolving from ship.yml — SHIP-337). Use promptContent or promptPath(+promptRef) to run an ephemeral prompt experiment (spec D9) without committing to the target repo. Read-modify-write: this call is merged onto the previously stored override record (via get_agents_override), so a prior set for a DIFFERENT role — or a different field on this same role, e.g. an earlier harness pin — survives; the underlying PUT is a full-record replace and would otherwise silently drop it. This tool calls the SHIP API, documented at https://letsship.ai/docs/api.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| role | Yes | The role this override entry patches | |
| size | No | Container size for this role on this mission | |
| model | No | ||
| effort | No | ||
| harness | No | ||
| issueId | Yes | The mission's issue id: a Linear key or a GitHub Issues id, e.g. SHIP-353 or WEB-42 | |
| sandbox | No | Sandbox name or id this role starts in for this mission (beats ship.yml and the project default) | |
| rejectOn | No | Review rejection threshold — only meaningful on the reviewer role | |
| projectId | Yes | Project id the mission belongs to | |
| promptRef | No | Git ref for promptPath — only meaningful alongside promptPath. | |
| baseBranch | No | Override the pipeline's fork/target branch for this mission | |
| checkpoint | No | Pause the pipeline after this role's stage completes | |
| promptMode | No | How this prompt relates to the repo's own .ship/agents/<role>.md (or ship.yml-pointed) layer. replace (default) makes this the role's only role-prompt layer; extend resolves the repo's layer first and appends this content after it, as a separately attributed span. Only meaningful with promptContent or promptPath. NOTE: the merge is per FIELD, and prompt is one field — a later call that sets a new promptContent/promptPath without repeating promptMode replaces the whole stored prompt, reverting to replace. | |
| promptPath | No | Repo-relative path to an L2 prompt file. Without promptRef this is the SHIP-347 pointer form (resolved at the pinned base branch); with promptRef it's a path+ref experiment resolved at that ref. | |
| promptContent | No | Inline prompt-experiment body, capped at 30,000 characters. Mutually exclusive with promptPath. |