Skip to main content
pinbox resolve closes a pin. Run it once the change is made and verified. Resolving is once-only: a second resolve is a conflict, not a no-op. 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
required
Pin id (pin_xxxxxxxxxx). Ids are exact — prefixes do not match.

Options

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.

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.