
Product
PHP and Composer Support Is Now in Beta
Socket’s PHP and Composer support is now in Beta for all customers, with PHP reachability analysis generally available.
inspectrum
Advanced tools
Cross-LLM plan review — catch the bad plan before you spend the tokens.
Plan Mode is where the agent decides what to build before it writes a line of code. A bad plan wastes tokens, produces thrown-out PRs, and lowers code quality. One LLM reviewing its own plan misses the same blind spots. inspectrum sends the plan to other LLMs in parallel, a judge LLM consolidates the findings, and you get one verdict: approve / revise / reject. It works with 1 LLM (no judge); 2 or more unlocks the judge.
npx inspectrum@latest doctor
That's it. doctor checks Node, your config, your sessions directory, and
each active reviewer CLI. Plug it into your host with one of the configs
below.
Copy examples/claude-code/mcp.json to
.mcp.json at your project root. Reload the window — the review_plan tool
appears under MCP → inspectrum.
{
"mcpServers": {
"inspectrum": { "type": "stdio", "command": "npx", "args": ["-y", "inspectrum@latest"] }
}
}
Optionally also copy
examples/claude-code/.claude/commands/review-plan.md
to install the /review-plan slash command.
Add to ~/.codex/config.toml (the only path read by Codex 0.130+):
[mcp_servers.inspectrum]
command = "npx"
args = ["-y", "inspectrum@latest"]
Copy examples/cursor/.cursor/mcp.json
to .cursor/mcp.json (project scope) or ~/.cursor/mcp.json (global). Same
JSON as Claude Code.
Once Claude Code or Codex shows the Accept / Revise / Reject (or Implement this plan? Yes / No) prompt, you can't chat. So either trigger the review before the modal appears, or set it up to run automatically.
On-demand (default). In normal chat — before or during plan construction — say:
review this plan with inspectrum (codex, gemini)
review_plan is a read-only MCP tool, so the agent can call it from inside
Plan Mode. The Accept / Revise / Reject modal then shows a plan that has
already been peer-reviewed. With the slash command installed, the shortcut is
/review-plan codex,gemini.
Opt-in auto-run. Paste this paragraph into your own project's
CLAUDE.md (or ~/.codex/AGENTS.md):
Before finalizing any plan (Plan Mode or otherwise), call the
`review_plan` MCP tool (inspectrum) with reviewers of your choice.
Skip this step only if the user explicitly says "no review".
You pick the reviewers; you can override per-plan by saying "no review" or "review with codex only".
Heads up. The Revise input box in Claude Code Desktop, and the "tell Codex what to do differently" box, are not verified entry points for v0.1.0. If you're already in the plan modal, hit Reject and ask in normal chat.
A consolidated Markdown report — exactly one verdict, findings grouped by
severity, each tagged with the reviewer that surfaced it:
# inspectrum Review — session a3f1
**Verdict: ⚠️ REVISE** · Reviewers: codex, gemini · Judge: success · 18.4s
## Blockers (1)
- **[codex+gemini]** No retry/fallback if Redis is down — the endpoint will 500.
*Fix: wrap with try/catch, fail-open with an in-memory LRU after N failures.*
## Majors (2)
- **[codex]** Missing 429 response body shape (clients expect {retryAfter, limit}).
- **[gemini]** X-Forwarded-For trust: must call app.set('trust proxy', …).
## Minors (1)
- **[codex]** Test path inconsistent with repo convention (__tests__/ vs tests/).
If verdict = revise, the agent typically asks: "Apply the revised plan?"
child_process for CLI reviewers, plain HTTP for Ollama / OpenRouter).~/.inspectrum/sessions/<timestamp>__<id>/ as readable Markdown. Grep it,
diff it, share it. Hosts can also read it as an MCP resource at
inspectrum://sessions/{id}/{file}.~/.inspectrum/config.toml[defaults]
reviewers = ["codex", "gemini"] # called in parallel
judge = "claude" # consolidates when >= 2 reviewers
focus = "all" # correctness | completeness | risk | clarity | all
[reviewers.claude]
type = "cli"
binary = "claude"
[reviewers.codex]
type = "cli"
binary = "codex"
model = "gpt-5"
[reviewers.gemini]
type = "cli"
binary = "gemini"
model = "gemini-2.5-pro"
[reviewers.local]
type = "http"
backend = "ollama"
endpoint = "http://localhost:11434"
model = "qwen2.5:0.5b"
[limits]
plan_max_chars = 16000
report_max_chars = 8000
timeout_seconds = 60
Without a config file, reviewers = ["claude"] is used (no judge, since
judge requires ≥ 2 reviewers). The defaults.reviewers list controls which
backends are required to be healthy — inspectrum doctor only fails on
those.
claude ≥ 2.1 — npm install -g @anthropic-ai/claude-codecodex ≥ 0.128 — Codex Desktop or brew install codexgemini ≥ 0.41 — npm install -g @google/gemini-cli~/.inspectrum/sessions/<timestamp>__<id>/ and
contain your full plan + each reviewer's transcript. v0.1.0 sets the
directory permissions to 0700 on POSIX so other users on the same
machine can't read them. Sessions written by older versions stay on their
original perms — retrofit with chmod -R 700 ~/.inspectrum/sessions/.OPENAI_API_KEY or Codex Desktop's ChatGPT login.GEMINI_API_KEY.MOONSHOT_API_KEY (experimental).DASHSCOPE_API_KEY (experimental).model,
via OPENROUTER_API_KEY.endpoint.MIT — Yann Menec. Contributions welcome — see CONTRIBUTING.md.
FAQs
Automatic Codex plan review in Claude Code; on-demand in local MCP hosts; human approval stays yours
We found that inspectrum demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Product
Socket’s PHP and Composer support is now in Beta for all customers, with PHP reachability analysis generally available.

Product
Socket is bringing experimental protection to Firefox, scanning 97,000+ extensions in Mozilla's official directory for malware and risky updates.

Research
/Security News
Three compromised Rust crates pulled in a malicious dependency that downloaded and executed cross-platform malware during Cargo builds.