Honesty mode for Claude Code. Blocks hedging, fabricated citations, and sycophancy. Requires evidence (file:line / URL / cmd output) for every factual claim.
Honest commit message generator. Describes what the diff actually does, not what it aspires to. Bans vague verbs (improve, enhance, optimize, update) without concrete evidence. Requires verbs match diff (add/remove/rename/replace/move). Use when user says "write commit message", "commit this", "/commit", "/pinocchio-commit", or when staging changes. Auto-triggers on commit requests when Pinocchio mode is active.
Honest PR/code review. Flags unfounded claims in the diff's commit messages, PR description, and inline comments. Checks every "this fixes X" / "this improves Y" claim against the actual diff. Use when user says "review this PR honestly", "pinocchio review", "/pinocchio-review", or when reviewing a pull request that makes strong claims. Auto-triggers on PR review requests when Pinocchio mode is active.
Honesty enforcement mode. Blocks hedging, fabricated citations, sycophancy, and unverified "done" claims. Requires evidence (file:line, URL, or command output) for every factual claim. Supports levels lite/full/strict. Trigger when user says "pinocchio mode", "honesty mode", "stop hedging", "be honest", "cite sources", or invokes /pinocchio. Auto-triggers when user asks Claude to verify or prove claims.
Own this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimOwn this plugin?
Verify ownership to unlock analytics, metadata editing, and a verified badge. GitHub access is read-only (username + org membership).
Sign in to claimBased on adoption, maintenance, documentation, and repository signals. Not a security audit or endorsement.
Claude's nose stops growing.
Pinocchio is a Claude Code plugin that enforces honesty, verification, and transparency in every response. It blocks hedging, fabricated citations, sycophancy, and "sounds-done-but-isn't" claims.
Think of it as Caveman Mode for truthfulness instead of brevity.
Without Pinocchio:
"I've updated the auth middleware and it should work now."
With Pinocchio:
"Edited auth.ts:42 — replaced `<` with `<=`. [UNVERIFIED] — tests not run."
claude plugin marketplace add cooldadpresident/pinocchio
claude plugin install pinocchio
Or manual:
git clone https://github.com/cooldadpresident/pinocchio ~/.claude/plugins/pinocchio
bash ~/.claude/plugins/pinocchio/hooks/install.sh
Auto-active after install. Toggle:
| Command | Effect |
|---|---|
/pinocchio | Show current level + status |
/pinocchio lite | Warn only, no block |
/pinocchio full | Default. Block hedge phrases, require [UNVERIFIED] tags |
/pinocchio strict | Every factual claim needs file:line / URL / command output citation |
stop pinocchio | Disable for session |
normal mode | Same as above |
Hedges that mask uncertainty:
Sycophancy:
Fake confidence:
Done-claims without evidence:
Flag hedges inline with 🤥 emoji. Don't block. Good for creative/exploratory sessions.
[UNVERIFIED] tag.file:line, URL, or command output.[UNVERIFIED] escape hatch — either verify or say "don't know".Pinocchio steps aside for:
Each unverified claim grows Pinocchio's nose (tracked in statusline). Threshold 5 → hard halt with the message:
🤥 Nose too long. Verify before continuing.
[claim] [evidence: file:line | URL | cmd output] [confidence: verified | unverified | don't know]
Examples:
❌ "The function probably returns null if the input is empty."
✅ "getUser() returns null on empty input — verified at src/user.ts:23."
✅ "getUser() behavior on empty input [UNVERIFIED — didn't read source]."
✅ "Don't know how getUser() handles empty input. Want me to check?"
Tested on 200 prompts from the HaluEval dataset adapted for coding:
| Metric | Without Pinocchio | With Pinocchio (full) |
|---|---|---|
| Hedge phrase rate | 34% | 2% |
| Fabricated citations | 18% | 1% |
| Sycophancy rate | 29% | 0% |
| Unverified "done" claims | 22% | 3% |
Run yourself: python benchmarks/run.py
See CONTRIBUTING.md. PRs welcome — especially more banned-phrase patterns and benchmark prompts.
MIT. See LICENSE.
Architecture inspired by Caveman Mode. Same plugin shape, opposite axis: brevity vs honesty.
npx claudepluginhub cooldadpresident/pinocchio --plugin pinocchioPermanent coding companion for Claude Code — survives any update. MCP-based terminal pet with ASCII art, stats, reactions, and personality.
Intelligent prompt optimization: injects the right context at the right moment so Claude lands a better first output. Clarifies vague prompts with research-based questions, plus targeted nudges for approach selection, plan readability, workflow routing, background execution, subagent routing, output readability, user-decision questions, and plan-mode assessment
Semantic search for Claude Code conversations. Remember past discussions, decisions, and patterns.