The first AI factory built for the team.
Everyone else built a faster pair programmer. hashd runs your engineers and their coding agents as one governed production line: requirements in, tested and reviewed commits out, each one traced to the requirement behind it and the person who approved it.
curl -fsSL https://raw.githubusercontent.com/codr1/hashd-code/main/install.sh | bash
Free in solo mode for individuals and teams of up to 10 engineers. Pricing
Real screenshots: hashd building hashd, in the browser and the terminal.
Built for the team
Not another agent session. A factory floor for the whole team.
Coding agents start and stop with one person and one prompt. Run hashd as a shared server and your engineers and their agents work through the same backlog, the same gates and the same record, with every action attributed to the person who took it.
- Identity on every requestPer-user tokens. Pairing a client is one command.
- Everyone's own agentsEach member's agent login, encrypted at rest. A run never borrows another account.
- Clear ownershipA story or workstream belongs to whoever started it. Only its owner changes it.
- A seat for everyoneEngineers in the terminal, leads and reviewers in the browser, approvals on the phone.
Team mode and support come with a commercial agreement. Pricing
How teams run hashdThe line
Requirement in. Attested commit out.
Every piece of work moves through the same stations, and every station is a state machine. Nothing advances without passing its gate, and every transition is recorded as it happens.
Small commits. Each one earns its place.
A story is broken into micro-commits, each tied to the acceptance criteria it satisfies. When a gate finds a problem, hashd does not quietly patch it: it adds a FIX commit to the plan and records who asked for it, whether that was the merge gate, the reviewer or a person.
Real output from a workstream in progress on hashd itself.
hashd show ws_pauseTitle: Workstream pause and unpause, in the TUI, the Web and the CLIStory: STORY-0163 Status: implementing / runningProgress: 12/13 complete [x] COMMIT-WS_PAUSE-001: Record an operator reason on a workstream hold Criteria: AC-0001, AC-0016, AC-0017[x] COMMIT-WS_PAUSE-002: Add hashd workstream pause and unpause Criteria: AC-0002, AC-0003 ...[x] COMMIT-WS_PAUSE-FIX-001: Fix: type editor-modal test kwargs as TypedDict Criteria: none (appended by the merge gate from a test failure)[x] COMMIT-WS_PAUSE-FIX-002: Address review feedback Criteria: none (appended from review feedback)[x] COMMIT-WS_PAUSE-010: Fix pause reason, banner glyph, refresh gating Criteria: none (appended by add-commit from an operator instruction)[ ] COMMIT-WS_PAUSE-FIX-003: Address review feedback
A story, start to finish
Watch the line run.
Five stops on a real story's path through hashd. Every screen here is the product, running on its own development.
Planner · human
Agents propose. You accept.
Discovery reads your requirements and the codebase and proposes work that is safe to start now, including what it is waiting on. Accept a suggestion and it becomes a story with acceptance criteria.
- Source
- REQS.md
- Pending
- 4 suggestions
- Dependencies
- waiting on S-14

Coder · reviewer
One micro-commit at a time, every one gated.
Each commit runs implement, test, review and a gate in an isolated worktree. In gatekeeper mode a confident review continues on its own; anything below the threshold waits for a person.
- Stage
- test · running
- Gate
- auto-approved 93% ≥ 90%
- Progress
- 7/7 commits

Reviewer · human
The whole branch, reviewed as a whole.
Per-commit reviews protect each change. The final review reads the entire branch, flags anything a person should decide, and records its verdict and confidence.
- Scope
- whole branch
- Confidence
- 92%
- Verdict
- approve

Merge gate
Merged, cleaned up, on the record.
The merge gate reruns tests, checks for conflicts against a fresh main and scans for secrets. Merge directly or through a pull request; hashd then removes the worktree and keeps the history.
- Status
- merged / done
- Commits
- 7 of 7
- Change
- +6578 / -899

When it fails
Failures come with a reason and a next step.
Here a pre-commit lint check refused a commit. hashd kept the staged work, recorded the exact failure and offered the commands to retry, reset or skip. Loops are capped, and a repeating failure goes to a judge, then to a person.
- Caught by
- pre-commit lint
- Work lost
- none
- Next steps
- 3 suggested

Web, terminal, CLI, Telegram and more
Work your way.
Every surface talks to the same server, so the whole team sees the same live state: engineers in the terminal, leads in the browser, approvals from a phone, and scripts and agents on the CLI.
For leads, reviewers and everyone else
The whole factory in a browser tab.
A live dashboard of what needs a person, token and story activity, a full diff browser, reviews, stories, plans, reports and chat. Server-rendered, keyboard-driven and updated live.
- Updates
- live, no refresh
- Keyboard
- J/K step · A approve · R reject
- Search
- Ctrl K

For engineers
A live dashboard that never leaves the terminal.
hashd watch shows every story and workstream with 24-hour graphs, and offers exactly the keys that are legal for the state you are looking at. Diffs side by side, lineage on any line, chat on C.
- Diffs
- side by side, word-level
- Lineage
- I on any line
- Chat
- C from any screen

For scripts, CI and agents
Every command works without a terminal.
The CLI is a thin client over the same API as everything else, locally or against a remote server. Nothing waits for a keypress: confirmations take -y, so you can script it, run it in CI or hand it to an agent.
- Interactive prompts
- optional, always
- Local or remote
- same commands
- Aliases
- wf · ha
hashd listStories------------------------------------------------------------ STORY-0163 implementing Workstream pause and unpause, in the ... -> ws_pause STORY-0162 draft Retry an AI-resolve publication once ... STORY-0145 draft Show the complete agent settings tree... STORY-0135 draft Keep index and worktree state intact ... STORY-0136 pending Resume interrupted merge-repair hando... STORY-0132 draft Make stop/restart honor hashd-server'... STORY-0102 draft Honor explicit direct merges and alig... Workstreams------------------------------------------------------------ ws_pause implementing / running Workstream pause and unpaus... <- STORY-0163 hashd approve STORY-0162 -yhashd run STORY-0162 --loop
For when you are away from the desk
Approve, run and merge from your phone.
The Telegram bot covers the whole workflow, with a button menu and a push when work needs you: status, logs, reviews, approvals, merges, planning and answering an agent's questions.
- Inspect
- /status /list /show /log
- Decide
- /approve /reject /merge
- Plan
- /story /bug /answer
Around the edges
It finds you when it needs you.
Beyond the four main surfaces, hashd reaches you through notifications, brings context from the tools you already use, and gives your agents its own tools.
Desktop notifications
Three levels: work that needs you stays until dismissed, failures stay 20 seconds, good news passes quietly.
Pair-programming chat
Pull the diff, the log, the review, the story or any file into the conversation with an @ reference.
Connectors
Reference GitHub, Jira, Azure Boards, ClickUp, Confluence and Figma items in stories and chat.
Tools for your agents
Agents query hashd's code-intelligence tools for symbols, call paths and dependencies instead of grepping.
Provenance
Point at any commit. Get the whole story.
hashd owns the line, so it does not have to guess why code exists. It records the answer while the code is produced: the requirement, the story, the plan entry, the run, the review and the human decision.
- Exact intent. The requirement text is stored with its SHA-256 and the git revision it came from.
- Standard exports. SLSA v1.0 provenance and in-toto statements for any commit or story.
- Tamper evidence. Commit records form a SHA-256 hash chain that anyone can verify.
hashd lineage 81b58a8f72Commit: 81b58a8f72 Message: COMMIT-MC_LOC_LIST-002: Add per-micro-commit LOC list Workstream: mc_loc_list Story: STORY-0157 Microcommit: COMMIT-MC_LOC_LIST-002 Run: 20260927-053919666112_hashd_mc_loc_list Created: 2026-09-27T06:03:53Z Intent in force: State: recorded Micro-commit entry in force: COMMIT-MC_LOC_LIST-002 hashd lineage verifyChain verification for project 'hashd': Total records: 735 Verified: 735 Chain valid.
For the people who sign off
Know what every story cost.
Every agent call lands in one ledger: tokens, cache, time, model and dollars, by story, stage and agent. Leads see where the spend goes without asking anyone to keep a spreadsheet.
- Agent calls, 7 days
- 2,326
- Agent time, 7 days
- 109h 47m
- Broken down by
- story · stage · agent · model
Costs for stories that ran before cost capture began are estimated from their token use.
Agent-agnostic
Every agent. One process.
Put Claude on review and Codex on implementation, or the other way round. Swap providers per stage without touching the process around them.
Claude Code
Anthropic
Codex
OpenAI
In preview:Gemini CLIGitHub CopilotOpenCodeKimi CodeQwen Code
hashd project config set coder codexhashd project config set stage.review claudehashd agentsAgents------------------------------------------ claude [+] ~/.npm-global/bin/claude codex [+] ~/.npm-global/bin/codex copilot [x] not found gemini [+] ~/.npm-global/bin/gemini kimi [x] not found opencode [x] not found qwen [+] ~/.local/bin/qwen
Autonomy, per project
You choose the length of the leash.
Autonomy decides how much clean work flows through unattended. It never hides a failure: every mode stops for a person when something goes wrong.
| Mode | Each micro-commit | Final review and merge |
|---|---|---|
| supervised | A person approves every commit. | A person approves the merge. |
| gatekeeper default | Continues on its own when the AI review clears the confidence threshold. | A person decides final-review concerns and the merge. |
| autonomous | Continues on its own when the review is confident. | A person still decides final-review concerns. |
Put your team's agents on the line.
One command installs hashd and everything it needs except git and a coding agent. Free in solo mode for individuals and teams of up to 10 engineers. Team mode comes with a commercial agreement.
curl -fsSL https://raw.githubusercontent.com/codr1/hashd-code/main/install.sh | bash
Rolling out to a team?
We work closely with a small group of design partners: hands-on onboarding, a direct line to the people building hashd, and a real say in what we build next.
Become a design partnerSources
- 1. Measured by Coderica on its own engineering work with hashd. ↑
- 2. Vogel et al., “Codebase-Memory: Tree-Sitter-Based Knowledge Graphs for LLM Code Exploration via MCP”, arXiv:2603.27277, 2026. Evaluated across 31 real-world repositories against file-by-file exploration. Codebase-Memory is the code-intelligence engine bundled with hashd. ↑
- 3. Coderica estimate based on published research: irrelevant retrieved code degrades code-generation results by up to 15% (Gu et al., arXiv:2503.20589), and model performance degrades by 13.9–85% as input grows, even with perfect retrieval (Du et al., EMNLP 2025 Findings, arXiv:2510.05381). ↑