Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Troubleshooting

Start with collar doctor inside the affected project. Use --offline when network access is unavailable, then follow the failed check’s suggested action.

API reads work, but a review asks for login

Public API reads do not require authentication. Writes need the credential from collar auth login or a host-bound COLLAR_TOKEN. Git’s SSH key does not authenticate API requests.

Login opens a browser but cannot save the credential

On Linux, unlock Secret Service and make sure the session bus is available. Headless environments can use a token supplied through COLLAR_TOKEN and COLLAR_HOST. Collar does not fall back to saving plaintext tokens.

If the browser helper itself fails, confirm git-credential-oauth is on PATH. Use the Nix package or Collar’s development shell to get the helper. Browser login needs Forgejo’s pre-registered helper application and a local browser for its callback.

A saved credential has expired

Ordinary commands refresh an expired OAuth access token silently using the saved refresh token. You do not need to run auth login after restarting your computer. If the refresh token has expired or been revoked, run collar auth login --web, then collar auth status. Commands never open a browser automatically. For an environment token, update the runner’s secret and check the host binding.

Repository or host selection fails

Run git remote -v and check upstream and origin, or pass -R OWNER/REPO. An explicit --host must match the selected repository. Select the canonical upstream when inspecting governance for a fork.

The current branch has no matching PR

Pass the PR number or URL. Collar cannot infer a PR from an unpushed branch, and multiple matching PRs need an explicit selector.

PR checkout refuses to switch branches

Commit or stash tracked changes, untracked files, and changed submodules. Inspect an existing pr/NUMBER branch before reusing its name; Collar will not reset it to a different commit. A fetched head that differs from the inspected PR needs a fresh inspection before checkout.

Offline data is missing or corrupt

Run the read command once without --offline to download and verify the latest snapshot. Offline mode does not download missing content. Online failures do not silently fall back to cached data.

A local wrapper reports a tool failure

Collar forwards devenv, prek, and secretspec output and exit status. Fix the reported project configuration or tool error. Local development commands do not need a governance clone or a project secret namespace merely to start.

A write timed out

Inspect the affected PR, issue, release, or workflow before retrying. The server may already have applied the request.