v0.2.0 — Codex plan gate for Claude Code
Summary
Inspectrum 0.2.0 adds a Claude Code plan gate backed by Codex: plans are reviewed before Claude's normal approval dialog, actionable findings can send the plan back for revision, and the user always retains the final approval. The release also adds on-demand review, reviewer diagnostics, and real CLI/E2E smoke harnesses.
Install or upgrade
Prerequisites:
- Node.js 20 or newer.
- Codex CLI 0.99.0 or newer, authenticated with ChatGPT or
OPENAI_API_KEY. Version 0.99.0 is the first tagged Codex release containing every option used by 0.2.0, including--ephemeral. - Claude Code with
PreToolUse/ExitPlanModehook support. The exact Claude Code version used for the merged v0.2.0 E2E was not recorded, so this release does not claim a more specific minimum.
Install the automatic gate:
claude plugin marketplace add yannmenec/inspectrum
claude plugin install inspectrum@inspectrumUpgrade an existing plugin installation, then restart Claude Code:
claude plugin update inspectrum@inspectrumFor the on-demand /inspectrum:review command, also register the MCP server:
claude mcp add --transport stdio --scope user inspectrum -- npx -y inspectrum@0.2.0The same npm/stdio command is the supported manual MCP path for other hosts.
What's new
- Automatic plan gate:
inspectrum plan-gatehandles Claude CodeExitPlanMode, reviews with Codex, caches unchanged plans, and allows up to two revision rounds before returning control to the user (#13, #14). - Claude Code plugin and on-demand review: marketplace metadata, the automatic hook, and
/inspectrum:reviewship together (#15). - Codex as the default reviewer: five-minute default timeout, explicit read-only sandbox, configurable model/reasoning effort, and safer argument handling (#12, #25).
- Doctor improvements: authentication checks plus resolved Codex model/effort diagnostics, including Codex versions that print login state on stderr (#12, #19, #25).
- Real smoke coverage: an opt-in real Codex test and a headless Claude plan → deny → revise → approve harness (#16, #25).
- Versioned server metadata and release preparation: runtime version reporting, 0.2.0 alignment, and version-derived archive naming (#11, #18, #20).
Security and behavior guarantees present in 0.2.0
- Codex runs with
--ephemeral,--skip-git-repo-check, and-s read-onlyfrom a private temporary working directory. - Sandbox/approval bypasses, cwd overrides, and
--add-dirsupplied through reviewer configuration are stripped before execution. - The core gate, once invoked, converts parse, reviewer, timeout, and state errors into a visible fail-open message and exits cleanly.
- A successful review never auto-approves a plan: Claude's normal user approval dialog still appears.
- Reviewer-controlled findings are bounded and delimited before being returned to Claude. Session/state files are local; the reviewer remains read-only with respect to the audited project.
Known limitations
Do not install either v0.2.0 MCPB asset.
inspectrum-0.2.0.mcpbandinspectrum.mcpbare incomplete 420-byte archives containing onlymanifest.json; the declared entry point is absent. They are not autonomous or runnable in a clean Claude Desktop environment. Use the npm/stdio installation above.
- The plugin bootstrap and untrusted hook-input hardening tracked in #21 and #22 are not part of v0.2.0. In particular, the core fail-open guarantee above does not repair every bootstrap failure in the shipped shim.
- MCPB/version drift and doctor/dead-config follow-ups are tracked in #23 and #24; their later fixes are not attributed to this release.
- The headless Claude E2E requires a CLI-authenticated
claude -psession and otherwise exits with a documented skip status. - Windows support remains out of scope for this release.
Included pull requests
#11 · #12 · #13 · #14 · #15 · #16 · #17 · #18 · #19 · #20 · #25 · #26
Full commit range: v0.1.5...v0.2.0.