FAQ / Troubleshooting
Common questions and solutions.
Install / Build
Q: Build fails with "cgo: C compiler not found"
A: Install a C compiler. On macOS: xcode-select --install. On Linux: apt install build-essential or equivalent.
Q: Build fails with sqlite3 errors
A: Hash uses mattn/go-sqlite3 which requires cgo. Ensure CGO_ENABLED=1.
Q: How do I update?
A: Pull latest and rebuild:
Agent connection
Q: "command not found: claude-code-acp"
A: Install the ACP binary or change command to your agent's path.
Q: Agent times out
A: Increase timeout in config:
timeout = "300s"
Q: HTTP agent returns empty responses
A: Check the model name matches what your server expects.
Q: How do I debug agent issues?
A: Test the agent command directly in your terminal first (e.g., claude --version). Check that it's in your PATH.
Context
Q: Why isn't my env var in context?
A: Env vars are opt-in. Press Ctrl+P and select it.
Q: Why is context so large?
A: Check if you're including large LastOutput. Use | head -50 before piping.
Q: Can I exclude secrets automatically?
A: Env vars are opt-in — simply don't select sensitive ones in the context picker (Ctrl+P).
TUI / Rendering
Q: Icons don't show correctly
A: Install a Nerd Font and configure your terminal to use it. Or disable:
file_icons = false
Q: Colors look wrong
A: Hash uses 256-color mode. Ensure TERM is set correctly (e.g., xterm-256color).
Q: Multiline input breaks display
A: Try [input] gutter = false or check terminal size.
Performance
Q: ?? is slow
A: This is agent latency, not Hash. Try a local model or check network.
Q: Completion is slow
A: Tool-native completions (Cobra) can be slow for some commands. Disable with:
cobra_enabled = false
Q: Startup is slow
A: Check init_commands and startup files. Agent connects lazily (not at startup).
Privacy
Q: What gets sent to the agent?
A: Only what you select in Ctrl+P:
- Working directory path
- Git branch name (not file contents)
- Kubectl context name
- Selected env var names and values
- Recent command strings
- Piped output (if you pipe)
Q: Are my commands logged anywhere?
A: Only locally in ~/.local/share/hash/history.db. Nothing leaves your machine unless you send it via ??.
Q: Can I use Hash without any agent?
A: Yes. Without ??, Hash is a normal shell with editor-style input and learning. No network calls.
Q: Does learning data leave my machine?
A: No. All patterns are stored locally in SQLite.