Install as a Claude Code plugin so file reads, writes, and edits route through a deterministic store instead of being retyped by the model.
Block WebFetch and WebSearch calls and replace them with a curl-then-read pattern so page content isn't silently summarized.
Search all content the agent has ever written or read by grepping the local content-addressed store.
Reference previously seen file content in a prompt using a short detent:// address instead of pasting it again.
| clear-sights/detent | 920linjerry-stack/capital-studio | adya84/ha-world-cup-2026 | |
|---|---|---|---|
| Stars | 16 | 16 | 16 |
| Language | Python | Python | Python |
| Setup difficulty | easy | easy | easy |
| Complexity | 3/5 | 3/5 | 2/5 |
| Audience | developer | researcher | general |
Figures from each repo's GitHub metadata at analysis time.
Installs as a Claude Code plugin with two commands, a separate pip install is only needed for running the test suite.
Detent is a tool for people using AI coding agents, built as a plugin for Claude Code. The idea behind it is simple: whenever an agent could either have a model regenerate or retype something, or instead have a plain deterministic program do it, Detent makes sure the deterministic path runs. The only thing the AI model does is reason and decide what to do next. Everything else, like reading files, writing them, checking facts, and showing results, is handled by plain code with no model call involved. The project is written in Python. It works by plugging into Claude Code hook events, watching for things like tool calls, and either rewriting them, blocking them, or letting them through, based on a fixed set of rules called moves. There are 29 of these moves defined in the code, split into three groups: ones that enforce rules, ones that save data into a local store, and ones that display results to the screen. Everything the tool saves goes into a local, content-addressed store, meaning identical data is only stored once and can be fetched again by a short address, like detent://abc123. Typing that kind of address into a prompt, or using it as the content of a file write or edit, pulls the exact stored bytes back out instead of making the model retype them itself. One notable behavior: Detent blocks WebFetch and WebSearch calls entirely, telling the agent to use a plain curl command followed by reading the saved file instead. This is meant to avoid having a model quietly summarize or alter a page content while fetching it. Tool calls made through MCP integrations are not affected by this rule. Installing Detent is done through Claude Code plugin system, with one command to add the marketplace and another to install the plugin. There is also a companion project called Makoto for other kinds of checks. Detent is released under the Apache-2.0 license, which allows free use, modification, and distribution, and includes an explicit patent grant.
A Claude Code plugin that intercepts agent hook events and swaps model-driven file reads, writes, and web fetches for deterministic, code-based equivalents wherever possible.
Mainly Python. The stack also includes Python, Claude Code Hooks, MCP.
Apache-2.0 license: free to use, modify, and distribute, including commercially, with an explicit patent grant included.
Setup difficulty is rated easy, with roughly 5min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Don't trust strangers blindly. Verify against the repo.