Skip to content

shipper issue resolve-closure

Usage: shipper issue resolve-closure [options]

Resolve a GitHub closure hold

ArgumentRequiredDescriptionChoices
yesShipper issue ID, gh:, or GitHub URL-
LongShortValueDefaultDescriptionChoices
—outcome--resolution outcome: not-planned, reopen, or completenot-planned, reopen, complete
—reason--reason required when the outcome is not-planned-
—confirmation-token--confirmation token returned by a completion preview-
—json--falseoutput the result as JSON-

Reopen the GitHub mirror and resume the saved workflow state.

Terminal window
shipper issue resolve-closure S#42 --outcome reopen

Preview the completion assertion and affected dependents.

Terminal window
shipper issue resolve-closure S#42 --outcome complete

Report dependent recovery impact, then resolve the hold as not planned.

Terminal window
shipper issue resolve-closure S#42 --outcome not-planned --reason "The request is no longer relevant"
CodeWhen
0The hold is resolved or a completion preview is returned.
1The hold is absent, stale, locked, or remote restoration fails.
  • —outcome is required and has no default.
  • --reason is required only for the not-planned outcome, is validated before repository lookup or mutation, and is stored verbatim as an ordinary attributed local note. Reopen and complete do not require it.
  • The reason note and tombstone commit together, remain visible in closed issue detail, and use the ordinary note-retraction flow. Mirror-on projects the note as a GitHub comment; pending projection warns without undoing the local closure and is repaired with shipper issue reconcile --repair.
  • Complete requires the current confirmation token returned by the preview; interactive use prompts after showing the assertion and dependents.
  • Not planned previews and renders the same dependent recovery impact as direct close, then immediately applies its token without a confirmation prompt. A changed preview leaves the hold unresolved and requires retry.
  • Not-planned returns preserve blocked state and blockers, move only Groomed through Planned to New, leave New, failed, and packaged dependents in place, and defer locked or closure-held dependents.
  • Under --json, the not-planned human impact is written to stderr and stdout contains exactly one applied structured result.