Appearance
Cloning troubleshooting
This page covers the URL- and clone-side failures. For credential failures (Test button fails, "Could not resolve SSH key", etc.) see Authentication troubleshooting.
URL format errors
The clone screen validates the URL as you type. Each message points at a specific shape mistake.
"Not a git URL."
The URL doesn't start with a recognized scheme (https://, http://, ssh://) and isn't in SCP shorthand form (git@host:owner/repo). The fix is usually that the URL is plain text, not a clone URL — make sure you copied the one from your host's "Clone" button, not the repo's web URL.
"URL is missing the owner/repo path."
The URL has a scheme and host but no path component. Example: https://github.com/. Add the owner and repo: https://github.com/owner/repo.
"SCP shorthand should look like git@host:owner/repo.git."
You used SCP form (git@host:something) but the something isn't in owner/repo shape. Most often this is git@host:repo (missing the owner segment) or git@host:owner/repo/sub (extra path segments — repos don't have sub-paths).
"Malformed ssh URL."
You used the explicit ssh:// form but the structure is wrong. Two common causes:
- Mixing scheme with SCP shorthand:
ssh://git@host:owner/repo. The colon here is interpreted as a port marker. Either drop the scheme (git@host:owner/repo) or add the missing/(ssh://git@host/owner/repo). - Missing the path:
ssh://host. Add/owner/repo.
Transport mismatch
Inline error under the credential picker that says something like "SSH credentials don't work with HTTPS URLs." This is one of the auth surfaces — see Authentication troubleshooting → Transport mismatch.
"Project already exists with that name"
Actually a soft hint, not a hard error. Hachicode lets two projects share a display name; the hint just calls attention to the duplicate. Either change the project name field to something distinct, or proceed knowing you'll have two entries with the same name in the project list.
Clone fails partway through
If the clone errors after starting (network drop, server hiccup, auth revoked mid-flight), the app cleans up the partial directory and returns you to the clone screen with the URL pre-filled.
Common causes:
- Network dropout. Retry. If you're on a flaky connection, consider running the clone over the iPad's cellular if Wi-Fi is the problem (or vice versa).
- Server-side hiccup (502 / 504 / connection reset). Retry. If it persists, check the host's status page.
- Auth token revoked or expired mid-clone. Rare. The Test button will tell you; refresh the credential and retry.
- Disk full. The progress view will fail with an OS error. Free up space and retry.
Test passes, clone fails (or vice versa)
The Test button on the clone screen runs a lightweight auth probe — it verifies your credential is accepted by the host, but it doesn't try to access the specific repo.
This means:
- Test passes, clone fails with "repository not found" — authentication is fine; the URL you typed doesn't point at a repo you have access to. Check the URL for typos, and check the repo's permissions on the host.
- Test fails, clone might still work — possible but unusual. Some hosts gate the Test endpoint differently from the clone endpoint. If you're confident the credential is right, try the clone anyway.
"Permission denied (publickey)"
SSH-specific. Your key is reaching the host but the host doesn't recognize it. Verify:
- The right public key is on the host's SSH-keys page. Open the credential in Settings → Authentication, tap Show public key, and compare against your host's keys page line-by-line.
- The Username field on the credential matches what the host expects. For GitHub / GitLab / Gitea SSH, the username is always
git— not your account username.
Host unreachable
If the URL's host doesn't resolve (DNS) or refuses connections, clone errors immediately with a network message. Check:
- Are you on a network that can reach the host? Some corporate networks block public git hosts; some home networks block non-default SSH ports.
- For self-hosted instances on a private network (VPN, Tailscale, etc.), check the VPN is up.
- Try the host's web URL in Safari — if Safari can't reach it either, the problem is network / DNS / firewall, not the app.
See also
- Cloning a repository — the full clone screen reference
- Authentication troubleshooting — credential-side problems
