Checks your .claude/ configuration and tells you what is broken and what has been
deprecated — with a link to the documentation line that makes it a rule.
日本語版は README.ja.md にあります。
Claude Code's configuration surface changes week to week. Several sites already aggregate the changelogs. None of them answer the question you actually have: does this change break my config? That answer is different for every reader, so it cannot be delivered by an article or a newsletter. It has to be a tool.
No dependencies. Node 22 or later.
npx github:quintetkit/ccheck # from your repository rootIn CI:
- uses: quintetkit/ccheck@v1| Target | What it looks at |
|---|---|
.claude/settings.json |
JSON validity, permission rule syntax, deprecated keys |
.claude/agents/*.md |
required frontmatter, duplicate names, invalid names |
.mcp.json |
required fields per transport |
| hooks configuration | unknown event names, matchers that match nothing |
A checker that calls a valid configuration broken is worse than no checker. So ccheck only implements rules the documentation states outright — as an error, as skipped, or as ignored. Everything else is passed in silence.
| Not checked | Why |
|---|---|
| Unknown keys | The docs say the published schema lags the CLI. Checking this would flag every new feature |
model values |
No exhaustive list of valid values is documented |
Read / Edit path patterns |
Four anchor forms combined with gitignore semantics — too easy to get wrong |
Booleans limited to true / false |
yes / no / on / off / 1 / 0 are also valid |
Every finding carries the URL it came from, so you can check the original yourself rather than taking the tool's word for it.
docs-snapshot/ holds the official documentation this was built from, captured
2026-09-04. Before adding a rule, find the line in there that supports it.
If the documentation does not say it is an error, skipped, or ignored, it does
not become a rule.
1 if there is at least one error, 0 otherwise. Pass --strict to fail on
warnings too.
ccheck looks at the shape of a .claude/ directory. If you are also deciding
what should go in one — how to split work so several Claude Code sessions can
run at once without colliding — I publish that as
Quartet: four personas with separate
permissions, driven by GitHub Issues, under MIT.
scopecheck answers the question one step earlier: given the Issues you already have open, which pairs declare a shared file and therefore cannot run at the same time.
A larger version with a UI Designer persona, the Reviewer's decision criteria, a per-Issue parallel execution script and a 10-chapter guide is sold as Quintet.
MIT
