You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Sharing a client that just landed on the clients page: Hash, an open-source POSIX shell (Go, MIT) that acts as an ACP client.
Most ACP clients are editors, IDEs, or chat TUIs. Hash is the shell itself: instead of opening a separate agent UI, you type ?? anywhere on the command line and it opens a turn against your agent.
?? what k8s contexts are available? # natural-language → command, runs after you approve
kubectl get pods | ?? extract names # pipe command output into the agent
git log --format=?? oneline with hash # complete a single flag inline
Agent-agnostic over ACP — tested with claude-agent-acp and Gemini CLI over stdio.
Per-tool-call permission prompts — every agent tool invocation prompts allow / deny / always, scoped per project, globally, or per session.
Turn-by-turn — when the agent replies with a question, Hash opens a conversation prompt so you can answer in the same session.
Local-first — SQLite history, local error-fix learning, no account, no telemetry.
Docs and setup: runhash.dev. It's early (tested mostly on macOS + Ghostty so far), so feedback on client-side ACP conformance is very welcome: especially anything I'm handling loosely around session lifecycle, cancellation, or config options.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
Uh oh!
There was an error while loading. Please reload this page.
-
Sharing a client that just landed on the clients page: Hash, an open-source POSIX shell (Go, MIT) that acts as an ACP client.
Most ACP clients are editors, IDEs, or chat TUIs. Hash is the shell itself: instead of opening a separate agent UI, you type
??anywhere on the command line and it opens a turn against your agent.claude-agent-acpand Gemini CLI over stdio.Docs and setup: runhash.dev. It's early (tested mostly on macOS + Ghostty so far), so feedback on client-side ACP conformance is very welcome: especially anything I'm handling loosely around session lifecycle, cancellation, or config options.
Beta Was this translation helpful? Give feedback.
All reactions