Forgot the command? Say hi.

hi-shell is for the moment you know what you want to do but can't recall the command. It's a small Go binary wired into zsh's ZLE widgets, so you can get a suggestion without leaving your prompt.

Type hi and describe what you need. It asks your configured LLM for a command and shows the suggestion as ghost text. Tab puts it on the editable command line; Enter runs it when you're ready.

Use hi? to ask about a suggestion or hi: to revise it. Local risk scoring warns about risky commands and blocks clearly catastrophic ones.

curl -fsSL https://raw.githubusercontent.com/longyijdos/hi-shell/main/scripts/install.sh | sh

exec zshMake sure ~/.local/bin is in your PATH.

From source:

git clone https://github.com/longyijdos/hi-shell.git

cd hi-shell

./scripts/install.sh

exec zshPrerequisites for source installs: Go 1.22+, git, and zsh.

OpenAI is the default provider:

export OPENAI_API_KEY="sk-..."

hi-shell config set provider openai

hi-shell config set openai.api_key_env OPENAI_API_KEY

hi-shell config set openai.model gpt-4.1-miniDeepSeek is also supported:

export DEEPSEEK_API_KEY="sk-..."

hi-shell config set provider deepseek

hi-shell config set deepseek.api_key_env DEEPSEEK_API_KEY

hi-shell config set deepseek.model deepseek-flash

hi-shell config set deepseek.thinking disabledClaude is supported with its native Messages API:

export ANTHROPIC_API_KEY="sk-ant-..."

hi-shell config set provider claude

hi-shell config set claude.api_key_env ANTHROPIC_API_KEY

hi-shell config set claude.model claude-haiku-4-5

hi-shell config set claude.thinking disabledSecrets stay in environment variables. The config file stores environment variable names, not API keys.

See Configuration for the full config reference.

Type a natural-language request with the hi prefix:

hi list go filesPress Enter to generate a suggestion. If the command looks right, press Tab to accept it into your shell input line. Press Enter again to run it.

While a suggestion is available, type hi? followed by a question to ask about it, or hi: followed by feedback to revise it. See Usage for details.

hi-shell never runs generated commands automatically.

The shell plugin only inserts a suggestion after you accept it. You still review the final command and press Enter yourself. Local risk scoring classifies suggestions as safe, warn, or blocked; clearly catastrophic commands such as rm -rf / are blocked by default.

See Risk Scoring for the detailed model.

hi-shell uninstall

exec zshTo remove all hi-shell files, including config:

hi-shell uninstall --purge

exec zshMIT