Install qh and configure quick commands
Install the bundled CLI, edit shortcuts, and choose CLI updates.
Install and quick commands
QH 0.6.10 includes the Node.js qh command. The managed macOS installer bundles both Node and Bun:
curl -fsSL https://qentrah.com/qh/install.sh -o /tmp/qh-install.sh
sh /tmp/qh-install.sh
~/.local/bin/qh help
~/.local/bin/qhThe installer downloads the native Apple Silicon or Intel release from GitHub, verifies SHA-256 and the app signature, and installs into a versioned local folder. It creates a qh launcher in ~/.local/bin; add that folder to your shell PATH if necessary. It refuses to replace unrelated commands. QH_BIN_DIR and QH_INSTALL_DIR choose other destinations. The app is locally signed and not notarized.
qh config # Open the global configuration
qh config path # Print its path
qh config validate # Validate JSON and settings
qh update --check # Check QH releases
qh update # Update a managed install if a newer version exists
qh update-all --dry-run
qh update-all # Run only the updates you configured
qh workspace list # List saved workspace records
qh workspace Research # Open a named CLI workspacegh remains GitHub CLI. QH uses qh. For a source checkout, run ./bin/qh; update the checkout with Git rather than the managed installer. Node.js 22.13+ and Bun 1.3.5+ are required for source development. Packaged downloads supply their runtimes.
Custom commands and CLI updates
Add command objects to your global configuration. No CLI updates are enabled by default.
{
"commands": {
"dev": {
"command": "npm run dev",
"cwd": "~/Documents/my-project",
"description": "Start the development server"
}
},
"updates": {
"codex": { "command": "npm install -g @openai/codex" },
"claude": { "command": "npm install -g @anthropic-ai/claude-code" },
"opencode": { "command": "opencode upgrade" }
}
}Run qh dev to execute a configured command with your shell and permissions. Desktop Commands lists these shortcuts and starts the selected command in a new tab. Command names use lowercase letters, digits, and hyphens; built-in names are reserved. Custom command arguments belong in the JSON command string. qh update-all runs the configured list in order and stops on the first failure. It does not discover or change other installed CLIs. updateChannel accepts preview (default) or stable.
Open Commands with the sidebar search button or Cmd+Shift+P. The command list lives in the sidebar. Use Settings → Commands to add or edit a custom command, and Settings → Updates to configure CLI updates. These updates run only when you invoke qh update-all. qh help, qh search, and bare qh inside QH print the available commands.
Run qh diagnostics to check local settings and the last saved app performance sample. It does not upload logs or execute configured updates.
Install and update versions
qh install latest
qh install stable
qh install v0.6.10
qh install preview --check
qh update stable
qh update --checkqh install latest version is also accepted. Latest and stable select a complete stable release. Preview includes prereleases. --check reports the selected version without installing. qh update follows your configured update channel and does not downgrade a newer install. Explicit install VERSION can select an older version. Draft releases and builds missing a Mac ZIP or checksum are excluded.
The public install script comes from the latest GitHub Actions release; it accepts latest, stable, preview, or a version as its argument.
Source captured: 2026-10-13