Raycast extension to jump to any GitHub repository you have access to.
Lists repos across any number of configured GitHub organizations and users on github.com and/or a GitHub Enterprise host. Opens them in the browser with one keystroke.
-
GitHub CLI (
gh) — required. The extension shells out toghfor every fetch. Install via Homebrew:brew install gh
Then authenticate:
gh auth loginfor github.comgh auth login --hostname <enterprise-host>for GitHub Enterprise
The extension resolves
ghfrom the inheritedPATH. -
Node.js 18+ and npm
The extension uses gh repo list <owner> under the hood — no direct API calls, no personal tokens handled by the extension itself. Authentication is whatever gh already has on disk.
For each org or user listed in preferences, it runs:
gh repo list <owner> --limit 1000 --json name,url,description,isArchived,visibilityFor Enterprise entries, the same command runs with GH_HOST=<enterprise-host> set in the environment so gh talks to the right instance.
All requests happen in parallel; results are filtered to drop archived repos, grouped by owner, and cached on disk via Raycast's Cache API. The Refresh Repositories action re-runs the same commands.
You can reproduce exactly what the extension sees by running the command above in your terminal.
- Clone the repo with
git clone git@github.com:Automattic/git-jump-raycast.git - Open Raycast (
⌘ Space) - Search Import Extension
- Select the
git-jump-raycastfolder - In your terminal, go to the
git-jump-raycastfolder and runnpm install && npm run build
The command will be available as Git Jump (search "git", "gh", "repo", or "jump").
When a new version lands on trunk, pull and rebuild:
git checkout trunk
git pull
npm install
npm run buildIn Raycast, open Git Jump and press ⌘ R to reload the command — the new build is picked up immediately.
I've noticed that reloading the command doesn't always work, and npm run dev is more reliable.
git checkout trunk
git pull
npm install
npm run devnpm run dev watches for file changes and reloads the extension in Raycast on every save. Stop it (Ctrl-C) when you're done — the latest build will remain installed.
Open Raycast Settings (⌘,) → Extensions → find Jump to a GitHub repo you have access to → configure the fields below.
| Preference | Default | Purpose |
|---|---|---|
| github.com Orgs | woocommerce, Automattic |
Comma-separated list of orgs on github.com |
| github.com Users | WordPress |
Comma-separated list of user accounts on github.com |
| Enterprise Orgs | (empty) | Comma-separated list of orgs on the Enterprise host |
| Enterprise Host | (empty) | Hostname of your GitHub Enterprise instance (e.g. github.example.com) |
| Enterprise HTTP Proxy | socks5://127.0.0.1:8080 |
Optional HTTP_PROXY applied when fetching from the Enterprise host |
| Enterprise HTTPS Proxy | socks5://127.0.0.1:8080 |
Optional HTTPS_PROXY applied when fetching from the Enterprise host |
Enterprise fetching only happens when both Enterprise Host and Enterprise Orgs are set. Proxy values only apply to Enterprise calls. If only one of the two proxy fields is filled in, the same value is used for both HTTP_PROXY and HTTPS_PROXY.
All fields accept multiple values separated by commas, e.g. woocommerce, Automattic, WordPress.
- Open Raycast and type any of the following to surface the command:
git jump,git,gh,repo,jump ↵to open it- Type to fuzzy-match repo names (hyphen-separated words match independently)
↵opens the repo in the browser⌘ K→ Refresh Repositories re-fetches fromghand updates the cache⌘ .→ Copy URL copies the repo URL to the clipboard⌘ D→ Add to Favorites / Remove from Favorites toggles the selected repo
Results are cached on disk. Refresh only when you expect new repos.
Repos are cached on disk after the first fetch, so the list opens instantly on subsequent uses. To pull the latest list of repos (e.g. when a new repo has been added to one of your configured orgs):
- Open the Git Jump command
- Press
⌘ Kto open the action panel - Select Refresh Repositories
The refresh re-runs gh repo list <org> for every configured org and user, replaces the cache, and the list updates in place.
Press ⌘ D on any repo to add it to a pinned Favorites section that appears at the top of the list. Favorited repos are removed from their original org section so they only show up once. Press ⌘ D again on a favorite to remove it. Favorites persist across Raycast restarts via Raycast's local storage.
Repo names starting with woocommerce-, ending with -woocommerce, or containing -woocommerce- have that segment stripped from the displayed title to reduce visual noise in lists dominated by those repos. The full original name is still used for matching, keywords, and the opened URL — so searching woocommerce still finds everything.
npm run dev # live-reload in Raycast
npm run build # one-off build
npm run lint # lint
npm run fix-lint # autofix lint issues