I keep dozens of repos on my machine. Client work, side projects, experiments I'll probably delete next week. For years my routine was identical: remember roughly where a project lived, cd into it, open my editor, maybe start an AI assistant, then check which branch I'd left it on. Every single time.
zoxide fixed the first part. Type a few letters, land in the right folder, ranked by how often you go there. I love it. But it stops exactly where my actual work begins. After the jump I was still doing everything else by hand.
So I built hop. It treats the jump as the start, not the finish.
You type p api and it takes you to the project, ranked by frecency (frequency plus recency, same model as zoxide). That part you already know. What's different is the next second. Open the interactive Hub and one keystroke opens the project in your editor, hands it to your AI assistant, shows its git status, opens the remote, or runs an action you wrote yourself. You never touch the mouse.
The AI part is the bit I cared about most. I use these tools all day and I didn't want a switcher that married one of them. So the assistant keys auto-detect Claude, Codex, Aider or Gemini, and you pin whichever you want in the config. hop stays out of that argument.
A few things I refused to compromise on.
It's a single static binary, so there's no runtime to install and none of the "first set up these twelve other things" that usually ships with a new CLI. You get it with brew install, go install, or by piping the install script, your call. Then hop setup does the rest: it finds your project folders, detects your editor and your AI CLI, and offers to add the shell line for you.
It learns and it forgets. Projects you reach for rise to the top. Folders you deleted get pruned automatically. There's no list to maintain.
And I wanted it to be something I'd trust on a work machine. MIT, works in zsh, bash and fish, releases are signed with cosign and ship with an SBOM, and it just passed the OpenSSF Best Practices baseline. I run a digital agency, so I don't ship things I wouldn't put my own name on.
That's the whole pitch. It's a small tool that removes a small friction I hit twenty times a day. If that friction sounds familiar, it takes two minutes to try:
brew install philippe-desplats/tap/hop
hop setup
Repo, docs and the rest of the install options: https://github.com/philippe-desplats/hop
I'd really like the feedback, especially from people who live in the terminal. Tell me what's missing.