Claim links — th://claim/<token>
The Claim in terminal → button on a contribute page opens
a th://claim/<token> link. On a machine that's registered the scheme, that
link goes straight into a local, read-only terminalhire claim preview <token> — no browser round-trip, no pasted command.
Register it
terminalhire protocol register # wire th:// links to this terminal
terminalhire protocol status # check whether it's registered
terminalhire protocol unregister # undo it — the link falls back to a copy-paste command
terminalhire init also offers this as its last, optional step. Answering
n skips it entirely — nothing is registered, and nothing else about init
changes.
Registration is a one-time, local OS association:
| Platform | What gets registered |
|---|---|
| macOS | A small AppleScript app bundle under ~/Applications, associated with the th/terminalhire URL schemes via lsregister. The first link you open may show a one-time Automation permission prompt — that's macOS asking whether the app bundle can tell your terminal to run a command, not a network request. |
| Windows | A th/terminalhire protocol key under HKEY_CURRENT_USER\Software\Classes, pointing at your terminalhire CLI install. |
| Linux | A .desktop file plus an xdg-mime association for the th/terminalhire schemes. |
Nothing is sent anywhere by registering — it only teaches this machine how to
route a th://claim/<token> link to a local command.
If it can't open a terminal
Some machines have no interactive terminal for the OS to launch into (a
headless box, a locked-down desktop with no terminal emulator found). When
that happens, the link is queued to a small local file
(~/.terminalhire/pending-claims.json, capped at the 20 most recent) instead
of silently failing. The next time you run terminalhire bounties, claim,
or hub, you'll see a one-line reminder for each queued link — after which
it's cleared, so it only ever shows once.
A claim link never claims anything on its own. It only ever opens a
read-only preview; recording happens separately through terminalhire claim record <id> or the local-only MCP claim_record tool — see
Claims.
The fallback is always there
The terminalhire claim <token> command shown next to the button works
identically whether or not you've registered the scheme — the deep link is a
convenience on top of it, never a replacement for it.