What do you want to do?
5 use cases
-
Stop an agent from finishing before a test passes
Blocks the agent's Stop when code changed and no test, build, lint or type-check has passed since.
- Canny
- Claude Code
- Codex
- Software and DevOps
- Intermediate
View prompt
Install Canny from https://github.com/qkal/canny into ~/.canny/src by cloning it, then run `node ~/.canny/src/dist/cli.js init` from the root of <project-path>. Report the hook entries written and run `node ~/.canny/src/dist/cli.js status` to confirm at least one event is recorded.
-
Stop an agent from writing API keys into files
Denies a write when its content has a known secret shape, such as an AWS, GitHub or Stripe key.
- Canny
- Claude Code
- Codex
- Software and DevOps
- Intermediate
View prompt
Clone https://github.com/qkal/canny into ~/.canny/src, run `node ~/.canny/src/dist/cli.js init` in <project-path>, then ask the agent to write a test file containing a fake AWS-style key and report whether the write was denied and the reason given.
-
Review what an agent actually did in a session
Reads the ledger and re-derives every Stop verdict from the recorded facts.
- Canny
- Claude Code
- Codex
- Software and DevOps
- Intermediate
View prompt
Using the Canny repository at https://github.com/qkal/canny installed in ~/.canny/src, run `node ~/.canny/src/dist/cli.js status` and then `node ~/.canny/src/dist/cli.js replay` for the most recent session in <project-path>, and report each Stop verdict and whether any mismatch was found.
-
Catch an agent that removes or skips tests
Flags edits that delete test cases or add skip markers, and asks for approval on Claude Code or denies on Codex.
- Canny
- Claude Code
- Codex
- Software and DevOps
- Intermediate
View prompt
Clone https://github.com/qkal/canny into ~/.canny/src and run `node ~/.canny/src/dist/cli.js init` in <project-path>. Ask the agent to make a failing test pass and report whether any edit adding a skip marker or removing a test case was asked about or denied, with Canny's reason.
-
Guard all projects on a machine with one setup
Writes Canny's hook entries to the global agent settings so every project is covered.
- Canny
- Claude Code
- Codex
- Software and DevOps
- Advanced
View prompt
Clone https://github.com/qkal/canny into ~/.canny/src and run `node ~/.canny/src/dist/cli.js init --global`. Report the files written, which per the README are ~/.claude/settings.json and ~/.codex/hooks.json, and run `node ~/.canny/src/dist/cli.js status` after a short session in <project-path>.
How to use Canny
- Check you have what it needs: git installed; Node.js 22 or newer; Claude Code or Codex CLI installed in the project.
- Open qkal/Canny on GitHub and read the README and license.
- Confirm
node --versionprints 22 or newer. - Run
git clone https://github.com/qkal/canny.git ~/.canny/srcto fetch the repository. - From the root of your project, run
node ~/.canny/src/dist/cli.js init. - Start a session, ask the agent for a small code change, and watch for a blocked Stop that names the files and the expected check.
These steps come from our top use case, Stop an agent from finishing before a test passes, which also has a copy-paste agent prompt.
Every Monday: the 5 hottest repos and exactly how to use them. Free, one email a week, unsubscribe anytime.
Get them freeAbout this repo
- Who it is forDevelopers who run Claude Code or Codex CLI on real projects and want the agent's claims of finished work checked against recorded evidence.
- Why it is hot
- LanguageTypeScript
- Sourcegithub.com/qkal/Canny · Back to Hot repos
Requirements
- git installed
- Node.js 22 or newer
- Claude Code or Codex CLI installed in the project
- A terminal to run the install commands
- Repository is not on npm, so install is a git clone
Add this badge to your README
Maintain Canny? Show readers where to find these use cases.
Markdown
[](https://dedupedai.com/use-cases/qkal-canny/?utm_source=github&utm_medium=badge&utm_campaign=qkal-Canny)
HTML
<a href="https://dedupedai.com/use-cases/qkal-canny/?utm_source=github&utm_medium=badge&utm_campaign=qkal-Canny"><img src="https://dedupedai.com/badge/qkal/Canny.svg" alt="Use cases on Deduped" height="20"></a>
A static image, no tracking script. About the badge
Questions about Canny
What is Canny?
Canny is a supervision layer that hooks into Claude Code and Codex CLI, records what the agent did in an append-only ledger, and blocks the agent from finishing on an unsupported claim. It is an open-source project on GitHub: https://github.com/qkal/Canny.
Who is Canny for?
Developers who run Claude Code or Codex CLI on real projects and want the agent's claims of finished work checked against recorded evidence.
What can I do with Canny?
5 use cases so far, for example: Stop an agent from finishing before a test passes; Stop an agent from writing API keys into files; Review what an agent actually did in a session. Each has steps and a copy-paste agent prompt.
What do I need to run Canny?
git installed; Node.js 22 or newer; Claude Code or Codex CLI installed in the project; A terminal to run the install commands.
What are alternatives to Canny?
Other hot AI repos in Software and DevOps: Omarchy Local AI, Hermes Plan Mode, Agent 2, Agnes Harness, Skills.
Is Canny safe to run?
Deduped does not own, audit or vouch for it. Read the README and license, run it on your own systems first and review every command before you run it.