Skip to main content
pinbox resolve closes a pin — one by id, or every open pin linked to a tracker item with --link. Run it once the change is made and verified. Resolving by id is once-only: a second pinbox resolve <id> of the same pin is a conflict, not a no-op. --link only selects open pins, so a repeated run resolves nothing and exits clean. There is no separate “won’t fix” state. A pin you decided not to change is resolved with a note saying so.

Usage

Arguments

string
Pin id (pin_xxxxxxxxxx). Ids are exact — prefixes do not match. Required unless --link is given.

Options

Resolve every open pin linked to this tracker item instead of one by id — the label pinbox link prints, e.g. github#58. The default note is shipped in github#58. Pins already resolved are left alone, so a second run finds nothing and resolves nothing.
string
Resolution note (e.g. what changed, or why it won’t). Optional, but it is the thing the next reader wants.
string
default:"human"
Resolver: human or agent.
boolean
Machine output: the {"ok":true,"data":…} envelope.

Examples

The note then shows up on the pin, next to who wrote it:

JSON

data is the full updated pin: status flipped, resolution present.

Every pin on a PR

When a branch ships, clear its pins in one call. data is the array of pins resolved — empty when none were still open.
Reviewers have the same action in the toolbar’s inbox, where pins linked to one item are grouped under its header.

Resolving from a commit message

The post-commit hook that pinbox init installs looks for Fixes, Resolves, or Closes followed by a pin id — with or without a colon, case-insensitive — and resolves those pins with the commit SHA attached.
The resolution records the commit instead of a note:
The hook never blocks a commit. Unknown ids, already-resolved pins, and an unreachable hub all leave the commit alone.
Today the trailer path only resolves pins that carry a full browser target — the ones placed with the toolbar. A pin created with pinbox pin is left open and the hook prints an error next to your commit output. Resolve those with pinbox resolve.

Errors

A second resolve is a conflict, not a no-op — an agent has to notice it raced another resolver.

Next: confirm it with pinbox show, or see what is still open with pinbox summary.