hop
Stop typing long SSH commands. Just hop prod and you're in.
Why hop?
# Before: remembering and typing this every time
ssh -i ~/.ssh/work_key deploy@app-server-prod-03.us-east-1.example.com -p 2222
# After
hop prodhop prod # fuzzy match any server
hop exec production "uptime" # run command on all prod servers
hop import # import your existing ~/.ssh/config
hop # launch the TUI, manage everythingInstall
Homebrew (macOS/Linux)
brew install danmartuszewski/tap/hopGo
go install github.com/danmartuszewski/hop/cmd/hop@latestFrom source
git clone https://github.com/danmartuszewski/hop.git && cd hop && make build
./bin/hopInstall with an AI agent
Using Claude Code, Codex, Cursor, or another coding agent? Paste the block below into your agent and it will pick the right install path for your machine, register hop's MCP server, and verify the install.
Install hop on this machine and register its MCP server. Do the steps in order;
stop and report on the first failure.
1. Pick ONE install method, in this priority:
a. Homebrew (macOS or Linux):
brew install danmartuszewski/tap/hop
b. Go 1.22+ available:
go install github.com/danmartuszewski/hop/cmd/hop@latest
c. From source (no brew, no Go on PATH):
git clone https://github.com/danmartuszewski/hop.git && cd hop && make install
2. Verify the binary is on PATH:
hop version
3. Register the MCP server with whichever agent the user is running. Skip
clients the user does not use:
- Claude Code: claude mcp add hop -- hop mcp
- Codex CLI: codex mcp add hop -- hop mcp
- Claude Desktop / Cursor / Windsurf — add to the client's MCP config:
{ "hop": { "command": "hop", "args": ["mcp"] } }
4. (Optional) Seed the config from the user's existing SSH config. Preview
first; --yes is required for a non-interactive run:
hop import --dry-run
hop import --yes
5. Confirm hop's MCP tools are reachable from the agent (e.g. list_connections).
Constraints:
- Do NOT run bare `hop` — it launches an interactive TUI and will hang a
non-interactive session. Use subcommands (`hop version`, `hop list`, …).
- Do NOT modify ~/.ssh/config. hop reads it via `hop import` only.
- Do NOT commit secrets or identity files.
After step 3, restart the agent so it picks up the new MCP server.





