alibaba/open-code-review · error
resume requires --from/--to or --commit; workspace resume is
Error message
resume requires --from/--to or --commit; workspace resume is not supported
What it means
Validation guard in loadReviewResumeState: `--resume` was given while the current review mode resolves to workspace (uncommitted changes review). Resume is only defined for a concrete diff scope — --from/--to or --commit — because the resume state must match the same item set; resuming a workspace review is unsupported by design.
Source
Thrown at cmd/opencodereview/review_cmd.go:350
}
return fmt.Errorf("review failed: %d of %d selected item(s) failed",
len(manifest.Coverage.Failed), len(manifest.Coverage.Selected))
}
return nil
}
func loadReviewResumeState(repoDir string, opts reviewOptions) (*session.ResumeState, error) {
if opts.resume == "" {
return nil, nil
}
current := session.SessionOptions{
ReviewMode: reviewModeFromOptions(opts),
DiffFrom: opts.from,
DiffTo: opts.to,
DiffCommit: opts.commit,
}
if current.ReviewMode == session.ReviewModeWorkspace {
return nil, fmt.Errorf("resume requires --from/--to or --commit; workspace resume is not supported")
}
state, err := session.LoadReviewResumeState(repoDir, opts.resume)
if err != nil {
return nil, fmt.Errorf("load resume session: %w (run 'ocr session list' to see available sessions)", err)
}
if err := state.ValidateOptions(current); err != nil {
return nil, fmt.Errorf("%w (run 'ocr session list' to see available sessions)", err)
}
// A parent whose every item failed is deliberately allowed through: it has a
// verifiable manifest, so its whole selected set can simply be re-dispatched.
// Whether the checkpoints may be reused at all is decided later, by
// validateResumeIdentity, once the input identity is known.
return state, nil
}
// validateResumeIdentity rejects a resume whose input, rules, provider or model
// no longer match the parent run.
//View on GitHub (pinned to 5cf97d0d15)
Solutions
- Re-run the review with --from/--to (diff range) or --commit instead of uncommitted workspace changes, then use --resume
- Workspace-mode sessions cannot be resumed because the diff source is the live working tree
- List sessions with 'ocr session list' and pick one that was created in a diff/commit mode
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at cmd/opencodereview/review_cmd.go:350 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of alibaba/open-code-review@5cf97d0d15 (2026-09-02).
Data as JSON: /api/errors/31784db2edf2c783.
Report an issue: GitHub.