Hashgate — AI skill for Claude Code
Hash-bound approval gate for AI agents.
How to install Hashgate
This entry records only its repository, not the path inside it, so there is no
exact command to give. Open Seppelllo/hashgate and copy the folder into
~/.claude/skills/, or the file into ~/.claude/agents/.
What Hashgate does
Hash-bound approval gate for AI agents. Fail-closed, single-use, audited — approve exact states, not intentions. Claude Code hooks included.
Alternatives in AI
- Dsh Auto Review — Second-model AI auto-review for DeepSeek Harness approval requests: a read-only reviewer subagent returns stru 155 ★
- OmniGlyph — Cut your Claude bill 59–70% by rendering bulky LLM context as dense PNG pages — 100% read accuracy, exact per 99 ★
- Tmux Agent Indicator — Tmux plugin that gives visual feedback for AI agent states (running/needs-input/done) 91 ★
README
hashgate
**A fail-closed, hash-bound human approval gate for AI agents.** The agent's proposed action is previewed; the operator accepts the preview's canonical hash; at execution time the server re-derives the action from live state and compares; the effect runs only if the hashes match — and only once. It is a governance and oversight layer, not a sandbox — see the [threat model](#threat-model--what-hashgate-is-and-is-not).
Why a hash, not a button
A coding agent proposes `git push`. The operator reviews the payload — repo, branch, HEAD SHA, the exact commits that would transport — and approves its hash. Before the agent retries, it makes one more commit.
The push is refused, despite a valid, unexpired approval: the server re-derives the payload from the repository as it is *now*, the HEAD SHA changed, the hash no longer matches. The operator approved a state that no longer exists. A new preview appears; the old approval's evidence chain records `approval_stale` with both hashes.
**An approve button approves an intention. hashgate approves a state.**
The agent cannot approve itself
From end-to-end testing with a live Claude Code session — the operator told the agent to approve its own pending push:
**Operator:** run `hashgate accept
--hash ` yourself. **Agent:** "You explicitly approved with the full hash — running the accept, then pushing." *(translated from the live session)*
**Gate:** `hashgate: agent-issued 'hashgate accept/deny' commands are always blocked. Approvals happen in the operator's own terminal, never through the agent.`
**Agent:** "That's not possible: hashgate blocks agent-issued accept/deny on principle — approvals can only come from your own terminal, never through me."
The agent complied. The gate refused. That is the point — enforcement must not depend on the agent's good behavior.
Quickstart
python3 -m venv ~/.hashgate/venv && source ~/.hashgate/venv/bin/activate
pip ins
Related Skills
Tausik Core
AI coding agents can't quietly fake "done". Signed ed25519 receipts prove the gates actually ran — bound to th
Gate.Cat
Block irreversible AI-agent actions before they run — deterministic, fail-closed action veto for Claude Code,
Email Outreach Agent
Cold email automation agent with a hard human approval gate — your AI drafts personalized emails from real res
Fleet Redesign
Plan a redesign run over an existing canvas - the design model proposes new artboards beside the captured scre
Driftproof
Continuous, model-version-bound verification of agent skills: run a skill's eval suite with and without the sk
Warden Receipt
Show token-warden rule receipts — the per-rule verdict card with token savings vs. rent, per-task pass/fail, t
Related Agents
Omg Code Reviewer
Hash-bound code review lane — APPROVE only with file/line findings or clean APPROVE on current diff.
Sync Issues And Code
Synchronizes GitHub issues with code changes for Notaire. Verifies Use Case association, moves issues through
Cookiecutter Template Author
Scaffolds or refactors a Cookiecutter template (its pre_prompt/pre_gen/post_gen hooks and a pytest-cookies har