coleam00/Archon · error · Error
--supersedes records a FRESH-lane rerun as replacing a prior
Error message
--supersedes records a FRESH-lane rerun as replacing a prior open item; it cannot be combined with --resume.
What it means
The workflow-start preflight rejects `--supersedes` together with `--resume`. Superseding marks a fresh-lane rerun as replacing a prior open item, while resume replays the prior run in its original lane — the two replacement semantics are incompatible, so the combination is refused.
Source
Thrown at packages/cli/src/commands/workflow.ts:1870
}
// Between-run continuation (#2747): adoption dictates the lane itself, so the
// lane-choosing flags are refused rather than silently overridden.
if (options.adoptRunId !== undefined) {
const conflicts: string[] = [];
if (options.resume) conflicts.push('--resume');
if (options.branchName !== undefined) conflicts.push('--branch');
if (options.fromBranch !== undefined) conflicts.push('--from/--from-branch');
if (options.baseBranch !== undefined) conflicts.push('--base');
if (options.noWorktree) conflicts.push('--no-worktree');
if (conflicts.length > 0) {
throw new Error(
`--adopt and ${conflicts.join('/')} are mutually exclusive.\n` +
' Adoption resolves its own lane: reuse the adopted worktree, or cut a fresh one from its branch.'
);
}
} else if (options.supersedesRunId !== undefined && options.resume) {
throw new Error(
'--supersedes records a FRESH-lane rerun as replacing a prior open item; it cannot be combined with --resume.'
);
}
// Per-dispatch --base override, normalized once. Wins over repo config + the
// codebase default for both the worktree cut-from (the provider request's
// `baseOverride` below) and the PR target / $BASE_BRANCH (executeWorkflow's
// `baseOverride` opt). Both halves need their own channel: the `baseBranch`
// field on either side is the codebase-default FALLBACK and ranks below repo
// config, so routing the flag through it would silently lose to a repo that
// sets `worktree.baseBranch`.
const flagBase = options.baseBranch?.trim() || undefined;
// Reconcile workflow-level worktree policy with invocation flags.
// The workflow YAML's `worktree.enabled` pins isolation regardless of caller —
// a mismatch between policy and flags is a user error we surface loudly
// rather than silently applying one side and ignoring the other.
const pinnedEnabled = workflow.worktree?.enabled;View on GitHub (pinned to 0773b97458)
Solutions
- Drop `--resume` and issue a fresh-lane rerun with `--supersedes <runId>`.
- Drop `--supersedes` if you only want to resume the original run without recording a replacement.
Example fix
// before archon workflow start code-review --supersedes run_123 --resume // after archon workflow start code-review --supersedes run_123
Defensive patterns
Strategy: validation
Validate before calling
if (args.includes('--supersedes') && args.includes('--resume')) {
throw new Error('--supersedes requires a fresh-lane rerun; drop --resume.');
} Prevention
- Remember the semantic split: supersedes = fresh replacement, resume = same-lane continuation.
- Never build retry wrappers that mix the two.
When it happens
Trigger: `archon workflow start <name> --supersedes <runId> --resume` — any invocation where supersedesRunId and resume are both set.
Common situations: Trying to both supersede a failed run and continue it in place; conflating 'replace this run' with 'resume this run'.
Understand the failure class
Background: "mutually exclusive" flag errors: what "can't supply both nx and xx", "--raw is not compatible with -i" and "cannot be used with" mean, and how to fix them — this error's family across 29 libraries.
Related errors
- --resume and --branch are mutually exclusive. --resume reu
- --resume and --input are mutually exclusive. A resume repl
- --resume and --config are mutually exclusive. A resumed run
- --resume and --model are mutually exclusive. A resumed run k
- --base has no effect with --no-worktree. Remove --base or dr
AI-assisted analysis of coleam00/Archon@0773b97458 (2026-09-01).
Data as JSON: /api/errors/6d259d6f07b2e9e2.
Report an issue: GitHub.