Skip to content

shipper_block

Record store-owned blocked state, typed blockers, and local history. When issue mirroring is enabled, also mirror shipper:blocked and the canonical blocked workflow comment to GitHub.

Use this when an issue should be marked blocked in the local store by Shipper-managed issues. Native dependencies created by grooming are stored as the same ordinary local Shipper blockers created by this tool, with the same local-ID-first semantics for bare references. When issue mirroring is enabled, external GitHub issues/PRs can also be blockers and GitHub label/comment mirrors are updated afterward from the local store and workflow event log.

  • openWorldHint: true — The tool reaches GitHub or other external systems outside the MCP server.
NameTypeRequiredDefaultDescription
issueinteger | stringyes-Shipper issue reference. S# (GitHub #) accepts ordinary surrounding whitespace and requires the current mirror. Bare numbers are Shipper local IDs first; S# is accepted; gh: and # explicitly target a mapped GitHub issue; GitHub issue URLs are accepted. Responses return S# first with GitHub # second when mapped.
blockersarrayyes-Issue or PR blocker reference. S# (GitHub #) accepts ordinary surrounding whitespace and requires the current mirror for a Shipper blocker. Bare numbers are Shipper local IDs first; S# is accepted for Shipper issues. External GitHub issue or PR blockers require issue mirroring to be enabled; PR blockers must use gh:, #, or a GitHub PR URL, and GitHub issue URLs are accepted. Store-only repositories accept local Shipper issue blockers.
reasonstringno--
{
"issue": 42,
"blockers": ["S#17", "gh:19"],
"reason": "Needs the API migration first."
}
Resolved issue: S#42 (GitHub #123): Generate MCP tool reference pages
S#42 (GitHub #123) blocked by S#17 (GitHub #177), GitHub #19.
  • Self-block: An issue cannot block itself (S#). When issue mirroring is enabled, the same validation applies to its GitHub # identity.
  • Missing target or blocker: Target S# does not exist / Blocker S# does not exist in the local issue-state store. When issue mirroring is enabled, an external blocker can also fail because GitHub # does not exist.
  • Already-resolved blocker: A local blocker is already terminal (). When issue mirroring is enabled, an external GitHub # can also be rejected because it is already resolved.
  • External GitHub blocker in store-only: External GitHub blockers are unsupported in store-only. Use a local Shipper blocker or switch mirror mode.