Cloning a repository
Chronos can bring a remote repository onto your machine and register it as a workspace in one step — from the Clone card on the welcome screen, or from the command line:
chronos clone https://github.com/org/repo.gitchronos clone git@github.com:org/repo.git # SSHchronos clone https://github.com/org/repo.git ~/code/repo # explicit destinationWith no destination, the repo lands in ~/Chronos/<repo-name>. Chronos then opens
the new workspace automatically.
Authentication uses your machine’s git config
Section titled “Authentication uses your machine’s git config”This is the one thing worth knowing up front:
Chronos never asks for or stores your repository credentials. It runs your system
git, which authenticates exactly as it would from a terminal — through your SSH agent or your git credential helper. Nothing about the repo secret is kept by Chronos, and credentials never reach the agent.
Because the clone is non-interactive (it will not pop a password prompt), the credentials have to already be available on your machine. Set them up once and every clone just works.
SSH (recommended for private repos)
Section titled “SSH (recommended for private repos)”For git@host:org/repo.git or ssh://… URLs:
- Have an SSH key:
ls ~/.ssh/id_ed25519.pub— or create one withssh-keygen -t ed25519 -C "you@company.com". - Load it into the agent:
ssh-add ~/.ssh/id_ed25519(on macOS,ssh-add --apple-use-keychainpersists it across reboots). - Add the public key to your git host (GitHub → Settings → SSH and GPG keys, GitLab → Preferences → SSH Keys, etc.).
- Verify:
ssh -T git@github.com— the first connection also records the host key in~/.ssh/known_hosts, which the clone needs.
For https://… URLs, Chronos relies on your git credential helper so no token is
ever typed into (or stored by) Chronos:
- macOS:
git config --global credential.helper osxkeychain - Windows:
git config --global credential.helper manager - Linux:
git config --global credential.helper store(or a keyring helper)
The first time you authenticate over HTTPS from a terminal, the helper caches the credential; Chronos reuses it. For private repositories, cloning over SSH is usually the smoother path.
Supported URL forms
Section titled “Supported URL forms”| Form | Example | Notes |
|---|---|---|
| HTTPS | https://github.com/org/repo.git | Uses your credential helper for private repos. |
| SSH (scp-like) | git@github.com:org/repo.git | Uses your SSH agent/keys. |
| SSH (URL) | ssh://git@github.com/org/repo.git | Same as above. |
| Local | file:///path/to/mirror | Local mirrors and fixtures. |
Plain http://, git://, and command transports like ext:: are rejected — use
https:// or SSH.
When it fails
Section titled “When it fails”Chronos turns git’s terse error into a concrete next step, and always keeps credentials out of the message and the audit log. The common cases:
| What you see | What it means | Fix |
|---|---|---|
SSH could not authenticate (Permission denied (publickey)) | Your key isn’t loaded or isn’t authorized on the host. | ssh-add your key; add the public key to the host; test with ssh -T. |
| The server’s SSH host key is not trusted yet | First contact with this host. | Connect once from a terminal (ssh -T git@host) to record it in known_hosts. |
The remote requires credentials (Authentication failed) | HTTPS with no cached credential, or no access. | Set up a credential helper, or clone over SSH; confirm your account has access. |
| Repository not found | Typo, or a private repo you’re not authenticated for. | Check the URL; private repos read as “not found” until you authenticate. |
See also Troubleshooting.