Troubleshooting
Most problems on Tangled come from one of three places: your account provider (sign-in), the delay before a change shows up in the web app, or the knot that hosts the repository (pushes). Each section below names the message you see and what to do.
Sign-in fails
Section titled “Sign-in fails”Tangled signs you in with atproto OAuth through your account provider. If you run your own PDS and sign-in fails or times out:
- Make sure the PDS clock is synced with NTP (
ntpd -qg, then keepntpdrunning). OAuth tokens are rejected when clocks drift. - Raise the Node network timeout on the PDS:
NODE_OPTIONS="--network-family-autoselection-attempt-timeout=500".
Asked to sign in again
Section titled “Asked to sign in again”Some actions need OAuth permissions that older sessions don’t have, for example webhooks, knot invites, creating an organization, reporting, or checking a repository before import. Tangled detects the missing scope and shows a Sign in again prompt. Signing in again grants the new scope; nothing is lost.
”Saved, but the appview has not caught up yet”
Section titled “”Saved, but the appview has not caught up yet””Your change was saved. It can take a few seconds for it to appear in the web app; if it takes longer than Tangled is willing to wait, it shows this message. Reload after a few seconds and the change appears. The same applies to “Deleted, but the appview has not caught up yet.”
If changes never appear, something is wrong on Tangled’s side; report it.
Push rejected
Section titled “Push rejected”The knot identifies you by matching the SSH key your client offers against the SSH keys published in the account of everyone allowed to push.
$ git pushknot: this ssh key doesn't match any key published by the accounts that may push here. Authorized: … If your agent offers several keys, add -o IdentitiesOnly=yes so it offers your registered key.-
Add the key under Settings → SSH Keys.
-
If your SSH agent holds several keys, it may offer the wrong one first. Pin the right one:
Host knot.example.comIdentityFile ~/.ssh/id_ed25519IdentitiesOnly yes
Other messages:
| Message | Cause |
|---|---|
knot: you aren't authorized to push to this repository. | Your key matched, but you aren’t the owner or a collaborator. See Access and collaborators. |
knot: couldn't read the account records needed to check your ssh key, retry shortly | The knot couldn’t reach an account provider. Retry. |
knot: repository index is warming, retry shortly | The knot just started. Retry. |
knot: push exceeds configured size limit | The pack is larger than the knot allows. Split the push or ask the operator. |
Knot unreachable
Section titled “Knot unreachable”Browsing code mostly keeps working when a knot is down, because the web app keeps its own copy for reading. Anything that has to reach the knot fails: pushing and cloning from it, creating repositories, opening issues, pull requests or comments (stored on the knot), merging, and changing collaborators. Recent pushes may not show up until the knot is back. Wait for the knot to return, or ask its operator; Run a knot has operator-side checks.
Empty activity or commit heatmap
Section titled “Empty activity or commit heatmap”Your profile only counts commits whose author email is one of your verified emails or your DID.
- Check
git log --format='%ae' | sort -uin a repository you pushed to. - Add and verify that address under Settings → Emails, or set
git config user.email did:plc:yourdidfor future commits.
Counts refresh on their own once the email is verified; past commits don’t need rewriting.
Commits not linked to your account
Section titled “Commits not linked to your account”Same cause as above: the author email isn’t verified on your account. Verify it, or use your DID as the email.
If you expected a “verified signature” badge: the current frontend doesn’t show one yet, see Signing commits.