A Raycast extension that replaces tmux session workflows with native Ghostty windows.
Ghostty already supports splits, tabs, and windows — the only thing missing is a quick way to jump between project directories (like tmux sessions). GJump fills that gap: browse your repositories, open them in a dedicated Ghostty window with nvim, and instantly switch back to them later.
- GJump scans your configured project directories and lists them in Raycast
- Projects are grouped into Running (open Ghostty window), Recent, and All
- Selecting a project either focuses its existing window or spawns a new Ghostty window for it
- New windows
cdinto the project directory and opennvim - You can also open a quick Scratchpad terminal or type any name to create an ad-hoc named window
git clone https://github.com/siddhartdoshi/gjump.git
cd gjump
npm install
npm run devThis opens the extension in Raycast in development mode. Use the "Jump to Project" command from Raycast.
Ghostty doesn't yet support running commands on launch natively, so GJump passes environment variables to the new window and relies on a shell hook to act on them. Add this to your ~/.zshrc:
# GJump shell hook — cd into project dir and open nvim for new sessions
# https://github.com/sidoshi/GJump
if [[ -n "$GHOSTTY_LAUNCH_DIR" ]]; then
cd "$GHOSTTY_LAUNCH_DIR"
if [[ -n "$GHOSTTY_LAUNCH_NVIM" && -n "$GHOSTTY_LAUNCH_ID" && ! -f "/tmp/ghostty-launch-$GHOSTTY_LAUNCH_ID" ]]; then
touch "/tmp/ghostty-launch-$GHOSTTY_LAUNCH_ID"
zoxide add "$GHOSTTY_LAUNCH_DIR"
nvim .
fi
fiThe touch-file guard (/tmp/ghostty-launch-*) prevents nvim from reopening in every new split/tab within the same window.
Open the extension preferences in Raycast to configure:
- Project Roots — Comma-separated root directories to scan for projects (default:
~/gh,~/work) - Direct Projects — Comma-separated directories to add as projects directly (e.g.
~/dotfiles)
This is AI-generated slop and a very hacky solution. It's tuned to my personal workflow and doesn't replace all tmux features — notably long-running sessions, detach/reattach, and remote persistence are not covered. Use at your own risk.