Hashcli is an intelligent terminal assistant that combines LLM-powered conversational assistance with command-line productivity tools. Ask questions in plain English, manage your development workflow, and keep your shell flow fast without losing control or safety.
- Conversational AI: Natural language interface for coding help, debugging, and system administration.
- Provider choice: OpenAI, Anthropic, and Google models supported.
- Tool calling with guardrails: shell execution, file ops, web search, and code analysis with confirmations and policy checks.
- Conversation history: list, inspect, and clear past sessions.
- Shell integration: optional
#prefix for a seamless inline workflow. - Rich output: streaming, panels, and quiet mode when needed.
Install Hashcli:
pipx install hashclior
uv tool install hashcliYou can also use pip install hashcli, but we recommend using pipx or uv tool as it makes hashcli available on all virtual environments.
Set up Shell integration:
hashcli --setupSet up one of the following api keys in your terminal:
export GOOGLE_API_KEY="your-key"
export OPENAI_API_KEY="your-key"
export ANTHROPIC_API_KEY="your-key"
If you prefer a guided setup:
hashcli --config# show me the current disk usage in human readable format
# show last 5 git commit messages
# how to find all __pycache__ in current folder- Core slash commands:
/help,/history - Plugin slash commands: install with
hashcli --add-cmd <path-to-plugin.py>(installed under~/.hashcli/plugins) - LLM Tools:
execute_shell_command(guarded shell execution with timeouts and allow/block lists)read_file,write_file,list_directory(filesystem operations with safety checks)web_search(DuckDuckGo viaddgs)analyze_code(AST-based Python analysis and lightweight JS/Java metrics)
- History management: list sessions, show a session, clear old or all history
- Streaming output: optional streaming for responses
- Interactive config wizard:
hashcli --configfor provider, model, and API key setup
Plugin example:
hashcli --add-cmd plugins/model.py
hashcli /model listHash CLI loads configuration in this order (highest to lowest):
- CLI flags
- Environment variables (
HASHCLI_prefix) - User config (
~/.hashcli/config.toml) - System config (
/etc/hashcli/config.tomlon Unix) - Defaults
Provider key fallbacks:
OPENAI_API_KEYANTHROPIC_API_KEYGOOGLE_API_KEYorGEMINI_API_KEY
Useful flags:
hashcli --model gpt-5-mini
hashcli --provider anthropic
hashcli --no-confirm
hashcli --quiet
hashcli --show-config- Shell execution and file writes require confirmation by default.
- LLM tool calls are checked against allow/deny lists and dangerous patterns.
- Shell operators (
|and;) are blocked unless explicitly enabled.