Skip to content

shipper unblock

Usage: shipper unblock [options]

Check if a blocked issue can proceed

ArgumentRequiredDescriptionChoices
yesShipper issue ID, gh:, or GitHub URL-
LongShortValueDefaultDescriptionChoices
—force---force unblock by overriding unresolved stored blockers-

Check whether S#42 can be unblocked.

Terminal window
shipper unblock S#42

Explicitly override unresolved stored blockers after an operator decision.

Terminal window
shipper unblock S#42 --force
CodeWhen
0Stored blockers are evaluated; ordinary unblock clears only fully resolved blockers, while —force overrides unresolved blockers only when they remain.
1Validation, issue lookup, store update, force audit comment creation, or GitHub mirror repair fails.
  • Unblock does not run an agent prompt.
  • Shipper blockers clear only from completed local tombstones.
  • A native dependency created by grooming follows the same rule: ordinary unblock clears it after completed, while a later not_planned closure remains unresolved for operator review.
  • Closing a managed blocker as not planned can return a Groomed-through-Planned dependent to New for grooming, but it does not release that blocker or clear blocked state. New, failed, and packaged dependents are not moved, and locked or closure-held returns are deferred.
  • External GitHub issue blockers clear when closed; external PR blockers clear when closed or merged.
  • When any stored blocker remains unresolved or cannot be fetched, the local store and GitHub mirrors are left unchanged.
  • Ordinary unblock records a local workflow event that retires prior live block events; the unblock comment and deleted blocked comment are GitHub projections that reconcile can repair without recreating retired blocked comments.
  • A Rework rejection creates an operator-decision hold with no dependency. Automatic dispatch and dependency sweeps retain it. Ordinary operator unblock retires only the hold and resumes the same Rework trigger; use an explicit reset when the request, design, plan, or correction premise must change.
  • —force is an explicit operator-only override and does not run from automated unblock flows.
  • —force only takes effect when at least one stored blocker is unresolved; when all blockers are resolved, use ordinary shipper unblock.
  • —force clears all remaining blockers together, records a local force_unblock workflow event, and posts the distinct permanent ## Force Unblocked audit comment with overridden blocker details instead of the generic unblock comment.
  • —force clears groom-created native dependencies through that same audited override path.