Find it. Pick it. Clone it.
A fast, focused terminal UI for cloning your GitHub repositories without typing URLs.

Why gitpick?
Cloning a repository should not require opening a browser, finding the clone button, and copying a URL. gitpick uses your existing GitHub CLI session to put accessible and starred repositories into one searchable terminal interface.
- Fuzzy search across repository names and descriptions
- Separate views for accessible and starred repositories
- HTTPS and SSH cloning based on your
gh preference
- Full and shallow clone modes
- Editable destination directory inside the TUI
- Private repository support without storing another token
- Responsive layout with clear loading, success, and error states
Install
Go
go install github.com/Mirsmog/gitpick/cmd/gitpick@latest
Release binaries
Prebuilt archives for Linux, macOS, and Windows are available on the releases page.
From source
git clone https://github.com/Mirsmog/gitpick.git
cd gitpick
make install
Requirements
- Git in
PATH
- GitHub CLI authenticated with
gh auth login
- A terminal with at least 44 columns and 14 rows
gitpick delegates authentication to gh, so it never reads or stores your GitHub token.
Usage
Start in the current directory:
gitpick
Choose another clone directory or protocol:
gitpick --dir ~/Code --protocol ssh
Start in shallow clone mode:
gitpick --shallow
Keyboard shortcuts
| Key |
Action |
↑ / k, ↓ / j |
Move through repositories |
/ |
Search by name or description |
Enter |
Clone the selected repository |
Tab, ← / h, → / l |
Switch repository source |
p |
Toggle HTTPS and SSH |
x |
Toggle full and shallow clone |
d |
Edit the destination directory |
r |
Refresh repositories |
q |
Quit |
Run gitpick --help for all command-line options.
How it works
gitpick asks the GitHub CLI for up to 100 accessible repositories and 100 starred repositories, merges duplicates, and ranks local search results as you type. The selected repository is cloned with the system Git executable. Network credentials, protocol settings, and organization access remain under the control of gh and Git.
Development
Go 1.25 or newer is required.
make check
make build
./bin/gitpick
The codebase keeps GitHub access, clone execution, fuzzy search, and terminal state in separate packages. External commands are behind small interfaces so behavior can be tested without network access.
See CONTRIBUTING.md for the contribution workflow and SECURITY.md for reporting vulnerabilities.
License
MIT