Make Ghostty behave like Chrome or iTerm with cmd+t for tabs and cmd+1-9 for workspace jumps
Run a fully scripted install with --yes and --install-herdr in a dotfiles setup
Apply a named profile like chrome-spaces or chrome-tabs and diff the planned writes first
Cleanly uninstall every managed change and restore previous herdr keybindings
Needs Ghostty plus herdr 0.5.10 or newer; the installer can fetch herdr into ~/.local/bin if missing.
native-shortcuts-herd is a small npm installer whose job is to make the Ghostty terminal feel like a normal macOS app when you also use a tab and workspace manager called herdr. The author notes that Ghostty is fast and native, and that herdr already provides workspaces, tabs, panes, and direct number jumps, but the keyboard shortcuts that macOS users have in their hands from Chrome, Safari, Arc, iTerm, or Warp do not work without extra setup. This package writes the configuration that connects the two. The usual way to run it is npx. The command npx native-shortcuts-herd@latest install walks the user through setup, while a fully scripted version with flags like --yes, --install-herdr, and --glass-theme runs without prompts. If herdr is missing or older than version 0.5.10, the installer can download the right release into ~/.local/bin/herdr and check the SHA256 before writing it. After the install, common Mac shortcuts behave the way most users expect. cmd+t opens a new herdr tab, cmd+n opens a new workspace, cmd+w closes the current tab, cmd+1 through cmd+9 jump to workspace 1 through 9, and ctrl+tab and ctrl+option+tab cycle workspaces and tabs. Every one of these is configurable through profiles such as chrome-spaces or chrome-tabs. The README lists each Ghostty trigger, the text sequence Ghostty sends, and the herdr key event that finally fires. On disk the tool only touches files it owns. It adds one managed include line to the Ghostty config, writes its own keybindings to ~/.config/native-shortcuts-herd/ghostty.conf, updates the [keys] and [keys.indexed] sections in herdr, and keeps the previous herdr values in a state file so they can be restored. Timestamped backups are written before any change. Extra commands round out the lifecycle. apply reapplies a profile, diff shows the planned writes, doctor --json prints the state of Ghostty and herdr, and uninstall --yes removes every managed change.
Generated 2026-05-22 · Model: sonnet-4-6 · Verify against the repo before relying on details.