Appearance
Cloning a repository
Open the Home tab, tap +, and choose Clone repository. That gets you to the clone screen, which is the longest-form input in the app. This page walks through every field.
The URL field
Three URL forms are accepted:
| Form | Example | Transport |
|---|---|---|
| HTTPS | https://github.com/owner/repo | HTTPS |
| HTTPS | https://github.com/owner/repo.git | HTTPS |
| SCP | git@github.com:owner/repo | SSH |
| SCP | git@github.com:owner/repo.git | SSH |
| SSH URI | ssh://[user@]host[:port]/owner/repo | SSH |
The first two are what GitHub / GitLab / Gitea's "copy clone URL" button gives you. The SCP shorthand is what most people memorize — note the : between host and path (not /). The third form is the explicit SSH URI, useful when you need a non-default port.
Common mistake
ssh://git@github.com:owner/repo (mixing ssh:// with :owner) isn't valid — the colon is a port marker in the URI form. Either drop the ssh:// to use SCP shorthand, or add a / after the host: ssh://git@github.com/owner/repo.
Host preset chips
Below the URL field is a row of chips for the common hosts (GitHub, GitLab, etc.). Tap one to fill in the URL prefix — useful for the leading https://github.com/ you'd otherwise type manually.
Clone history dropdown
The clock icon at the right edge of the URL field opens a list of URLs you've cloned before. Tap one to fill the field. Long-press or swipe to delete an entry.
The project name field
Auto-populates from the URL — https://github.com/owner/repo suggests repo as the name. Type to override. The placeholder text shows what the auto-derived name would be if you cleared the field.
If a project with the typed name already exists, a soft hint appears under the field. Cloning still succeeds — local project names don't have to be unique — but you'll have two projects with the same display name to disambiguate later.
Authentication
"Require authentication" toggle
For public repositories on a public host, leave this off — the clone runs anonymously. For private repositories, or any repo on a host that requires auth even for public reads, turn it on.
Toggling it on reveals the credential picker below.
Credential picker
Shows the credential the app would use, selected automatically from your stored credentials whose Host matches the URL. Tap to open the picker sheet and:
- Pick a different stored credential
- Add a new one (opens Settings → Add credential, seeded with the URL's host)
If no credentials exist at all, the section shows "No credentials configured" with an Add button. See SSH keys or OAuth sign-in for setup.
Test button
After picking a credential, Test runs a lightweight authentication probe against the URL. It tells you whether your credential is good for this URL without actually starting the clone. Useful when you're not sure if a credential is current or matches the host.
A failed Test doesn't prevent Clone — it's informational. A successful Test doesn't guarantee Clone will succeed (the repo itself might not exist, for example) but it does confirm the credential is being accepted.
For what each failure means, see Authentication troubleshooting.
Read-only mode
The Read-only toggle, when on, marks the project as read-only in hachicode's project list. The clone itself runs the same way; the difference is what the app lets you do afterward (no commits, no push). Useful for cloning a reference codebase you want to browse but never modify.
You can flip the read-only flag later in Project settings.
Repo picker
When the selected credential is a PAT or OAuth credential on a host hachicode knows how to query (GitHub, GitLab, Gitea, etc.), a Pick from your repositories icon appears in the URL field area. Tap it to browse your accessible repositories and fill the URL field by tapping one. The picker honors the credential — you'll see exactly what your account has access to.
SSH credentials don't expose a repo-listing API, so this icon doesn't appear for SSH selections.
Clone
Once URL + credential (if needed) + project name are set, tap Clone. The screen swaps to a progress view with bytes received, objects counted, and a stage indicator. Cancel any time before completion; the partial clone is cleaned up.
When the clone finishes, the app navigates into the project workspace.
What to do next
- Editor basics — start editing
- Committing changes — make your first commit
- Push and fetch — get your commits to the remote, get the remote's commits back
If something went wrong, see Cloning troubleshooting.
