Troubleshooting
Start with din doctor: one read-only check of the install, the programs, whether the bin directory is on PATH, the licence, whether the field answers and opens with your token, autostart and the age of the library catalog, each line ok, WARN or FAIL with the command that fixes it. It changes nothing; exit 1 means something FAILed, and din doctor --json gives the same checks to a script. din status has the detail behind each line: it names every program, says whether the field is up and whether your token opens it, and says what to type next (din status --json for a script; exit 0 is usable, 1 is incomplete). Inside Claude Code, /din status does the same for the plugin. din where prints every path and setting and where each came from. Below are the messages you are most likely to meet, what each means and what to do.
Installing
SIGNATURE NOT CHECKED, so nothing was installed: the one-line installer found neither minisign nor OpenSSL 3 or later, so it could not check the download, and installed nothing. Install minisign (or your package manager'sminisign), or run it on a machine with OpenSSL 3 or later, then run the same line again.DIN for macOS is available on request: this release has no macOS download: the download is Linux x86-64. The macOS build is available on request: write to support@dinctrl.com. See Install.ROLLBACK REFUSED(from 1.0.39): the signed release offered is older than the one the installer expects. Download the current release from the download page.
The field
something that is not this install's field is listening on 127.0.0.1:8093: another program holds the port.dindoes not start a second field over it, and prints how to find the holder (ssorlsof,netstaton Windows). Stop that program, or give this field another port in~/din/.din/field.env.- The field does not start after you stopped it:
din field stopkeeps it stopped untildin field start; no other verb starts it. FIELD_TOKEN is N characters; at least 16 are required(from 1.0.39): a hand-set token infield.envis too short. Mint one withhead -c 32 /dev/urandom | od -An -tx1 | tr -d ' \n'. A token with surrounding spaces or control characters is refused too; 16 to 31 characters starts with a warning.403 this field answers to a loopback Host only(from 1.0.39): the request was addressed to a name other than127.0.0.1,localhostor[::1]. Open the field athttp://127.0.0.1:<port>/; from another machine use an SSH tunnel (Use DIN as a team).the field is not on this machine and this client speaks plain http:FIELD_URLnames another host, sodinwill not send the token there in the clear. Use a tunnel;DIN_ALLOW_REMOTE_FIELD=1sends it anyway, only for a field already behind your own tunnel.- For a field that will not start,
din field log -n 40shows why.
Plans and licences
... includes 1 field and this install has 1, so no new field was made(exit 3, from 1.0.39): your plan's field count is reached. Nothing was changed. More fields come with a paid plan; on a paid plan, a larger plan includes more. See Plans.OVER PLAN: N fields, and <plan> includes M: you have more fields than the plan includes (made before, or kept after a downgrade). They all keep working; a new one is refused.Up to 3 people stamp free; a 4th person needs team review. This stamp was not written.(from 1.0.39): a fourth new name tried to stamp a Free field. The three who already stamp keep stamping; team review is in every paid plan. One person stamping under two spellings counts as two.Licence check-in overdue(from 1.0.39): a paid install has not checked in for 7 days. Rundin activate --renewnow, anddin autostart onso it renews by itself.the licence has not been renewed for 14 days; run din activate --renew (or din autostart on): after 14 days without a check-in the install reads as Free until it checks in. Nothing is lost: run the command and the plan comes back.this licence was activated on another install; run din activate here: the entitlement was copied from another machine. Rundin activate <key>on this one.Your payment failedorYour paid plan has ended: see Billing, cancelling and refunds. Every record is kept either way.
Dependencies
--enrich answers from DIN's signed library catalog by default, and none is installed(exit 2, from 1.0.39): nothing was sent. Fetch the catalog withdin deps refresh(paid), or opt in to the public registries with--enrich-registries.EXPIRED CATALOG: the library catalog is past its signed expiry. Fetch a newer one withdin deps refresh;--allow-staleuses it anyway. See Dependencies.
Still stuck
Write to support@dinctrl.com with din --version, your platform, the exact command and its output, and din status. Never send a field token, an API key or a whole licence key. See Support.