Parallax for Claude Code
An MCP server that enhances Claude Code with evidence-first engineering, protocol gates, project-aware verification, auditable traces, and durable autonomous execution.
README
Parallax for Claude Code
<p align="center"> <strong>Evidence-first engineering for Claude Code.</strong><br> Protocol gates, project-aware verification, auditable traces, hardened planning, and durable autonomous execution. </p>
<p align="center"> <a href="https://www.npmjs.com/package/parallax-claudecode"><img alt="npm version" src="https://img.shields.io/npm/v/parallax-claudecode?style=flat-square&color=cb3837"></a> <a href="https://www.npmjs.com/package/parallax-claudecode"><img alt="npm downloads" src="https://img.shields.io/npm/dm/parallax-claudecode?style=flat-square&color=2f80ed"></a> <a href="https://github.com/Master0fFate/parallax-claudecode/actions/workflows/ci.yml"><img alt="CI" src="https://img.shields.io/github/actions/workflow/status/Master0fFate/parallax-claudecode/ci.yml?branch=main&style=flat-square&label=CI"></a> <a href="LICENSE"><img alt="MIT license" src="https://img.shields.io/badge/license-MIT-22c55e?style=flat-square"></a> <img alt="Node 20+" src="https://img.shields.io/badge/node-%E2%89%A520-339933?style=flat-square&logo=node.js&logoColor=white"> </p>
Parallax turns repository work into a visible, testable protocol. Before mutation, it captures ambiguity, invariants, and verification evidence. After mutation, it verifies the native tool batch, records a linked trace, and bounds retries instead of quietly weakening the gate. State is isolated by Claude session_id; Horizon plans are schema-validated and durable across long-running sessions.
Why Parallax
| Capability | What it gives you |
|---|---|
| Protocol gates | Evidence-backed ambiguity, invariant, design, and verification checkpoints before writes |
| Native verification | Project detection for Node, Python, Go, Rust, and .NET without shell-interpolated commands |
| Auditable traces | Linked decisions, mutations, verification results, friction, and coherence metrics |
| Hyperplan | Adversarial plan review before high-risk architecture, migration, or security work |
| Horizon | Durable milestone execution with bounded retries and independently verified completion |
| Claude-native integration | 12 native lifecycle hook events, 37 MCP tools, 9 skills, and four focused agents |
Requirements
- Claude Code
>=2.1.215 <3(tested range) - Node.js 20 or newer
Installation
npm — recommended
Install the package globally, then register the plugin with Claude Code:
npm install --global parallax-claudecode
parallax-claudecode --scope user
Restart Claude Code, open any project, and run:
/parallax-claudecode:status
The installer is explicit by design: installing an npm package never edits Claude settings as a hidden lifecycle side effect. Available scopes:
parallax-claudecode --scope user # all projects for your user
parallax-claudecode --scope project # shared through .claude/settings.json
parallax-claudecode --scope local # private to the current checkout
parallax-claudecode --dry-run # preview Claude commands only
parallax-claudecode doctor --json # stable machine-readable diagnostics
Doctor derives the current hook events and exact parallax_*/horizon_* MCP tool names from the installed runtime, so its inventory and count cannot drift from a packed release.
To update:
npm update --global parallax-claudecode
parallax-claudecode --scope user
Native uninstall is explicit; Parallax never edits Claude settings or deletes plugin data itself:
parallax-claudecode uninstall --scope user --keep-data
# equivalent native command:
claude plugin uninstall parallax-claudecode@parallax-local --scope user --keep-data
Omit --keep-data only when you intend Claude to remove its plugin data directory. Project .parallax/ and ~/.parallax/horizon/ stores are separate and remain yours to archive or remove.
From source
git clone https://github.com/Master0fFate/parallax-claudecode.git
cd parallax-claudecode
npm ci
npm run build
npm run install:local
For development without installation:
npm run dev
npm run dev launches claude --plugin-dir <repository> and forwards arguments after --.
Manual marketplace installation
claude plugin marketplace add /absolute/path/to/parallax-claudecode
claude plugin install parallax-claudecode@parallax-local
Validate a checkout with:
claude plugin validate --strict .claude-plugin/plugin.json
claude plugin validate --strict .claude-plugin/marketplace.json
npm run check
Use
Claude namespaces plugin skills automatically:
| Invocation | Purpose |
|---|---|
/parallax-claudecode:check-in |
Persist an evidence-backed protocol checkpoint |
/parallax-claudecode:plan |
Produce a repository-grounded executable plan |
/parallax-claudecode:build |
Implement behind the write and friction gates |
/parallax-claudecode:debug |
Diagnose or audit with evidence and targeted repair |
/parallax-claudecode:horizon |
Run durable multi-feature supervision |
/parallax-claudecode:hyperplan |
Harden a risky plan through adversarial review |
/parallax-claudecode:trace |
View or export the current session trace |
/parallax-claudecode:status |
Show gate, retry, verification, and coherence state |
The plugin also supplies parallax and horizon subagents. Ask Claude to use parallax for non-trivial implementation/refactoring/debugging and horizon for a large goal requiring durable feature tracking and bounded autonomous retries.
Examples: interactive check-in, long-horizon goal, and Hyperplan.
Protocol
- Ambiguity: classify LOW/MEDIUM/HIGH and resolve only material questions.
- Four invariants: identify state ownership, feedback location, deletion coupling, and timing/ordering risk with concrete repository evidence.
- Verification gate: establish the existing pattern, blast radius, trust boundary, and exact falsifying checks.
- Execute: make coherent batches and repair failed verification without weakening checks.
- Commit decision: choose Full Coherence, Pragmatic Partial, Hold + Clarify, or User Override.
- Summary: report behavior, files, checks, and residual risk.
Hyperplan is optional for ordinary work and expected for meaningful integration, security, migration, architecture, or operational risk. It uses independent analysis, cross-attack, defense, and evidence-based synthesis rather than pasting critic prose into a plan.
Horizon
Horizon persists plans and runs one worker at a time. Completion requires a worker-bound schema-v2 receipt with exact pass, followed by a distinct read-only auditor verdict; prose, legacy scores, and caller-supplied evidence do not open completion. Retries are bounded. Horizon advances only while Claude Code is running and permissions are granted: it is not a background daemon and does not guarantee autonomous or perfect completion. In Claude Code 2.1.215, background subagent completion metadata is incomplete, so Horizon conservatively uses foreground child dispatch and durable stop/completion correlation.
Guarantee matrix
| Class | Exact guarantee |
|---|---|
| Runtime-enforced | Session/schema validation, ordered gate state, durable mutation intents, receipt ledger append/read-back, bounded retries, one active Horizon child, and worker/auditor identity transitions. |
| Permission-enforced | Worker cannot delegate or record audits; auditor has no Bash/Edit/Write/verify tools. Effective enforcement remains Claude Code's native tool permission system. |
| Prompt-guided | Investigation quality, scope discipline, summaries, and the instruction to avoid self-audit. Prompts are guidance, not a sandbox. |
| Observed-only | Test output, coherence metrics, liveness, and tool completion are evidence about observed runs—not proof of correctness, perfection, or future completion. |
State and privacy
<project>/.parallax/sessions/<safe-session-id>/state.json
<project>/.parallax/traces/<safe-session-id>.json
<project>/.parallax/mutation-intents/<safe-session-id>/queue.json
<project>/.parallax/verification-ledger.jsonl
<project>/.parallax/ledger-archive/*
~/.parallax/horizon/sessions/<horizon-id>/...
Session IDs are checked at persistence boundaries; unsafe IDs receive deterministic safe paths. Writes use locks and atomic replacement. Implicit MCP session lookup succeeds only when exactly one matching session exists. Traces contain concise decisions, observations, mutations, and verification evidence—not hidden chain-of-thought.
Set PARALLAX_HORIZON_HOME to relocate durable Horizon storage. The MCP server resolves project state from explicit API options first, then Claude's CLAUDE_PROJECT_DIR, then PARALLAX_PROJECT_ROOT, avoiding dependence on the plugin-cache working directory.
Project policy
Parallax reads <project>/.parallax/config.json on each relevant hook or verification call. The effective default remains the OpenCode runtime default, strict. Existing OpenCode metadata is accepted and validated:
{
"strictness": "standard",
"designDocRequired": false,
"maxRetries": 3,
"maxRecoveryAttempts": 3,
"minScore": 70,
"adaptiveProtocol": true,
"trivialPatterns": ["*.md"],
"highRiskPatterns": ["**/auth/**"]
}
strictblocks mutation until ambiguity, invariants, and gate evidence is complete.standardandrelaxedmatch the source implementation's soft behavior: ambiguity remains mandatory, then up to three persisted mutation batches are allowed before missing invariants blocks further mutation. A multi-file batch counts once; the source currently makes no enforcement distinction between these two values.designDocRequired: truealways requires the ordered ambiguity → invariants → gate → design chain. This is an intentional fail-closed improvement over the legacy edge case where missing invariant evidence could bypass design enforcement. Claude Code does not honorPARALLAX_FORCEfor this project policy.maxRetriesis bounded to 1–20 andmaxRecoveryAttemptsto 1–10. Policy changes preserve observed failures rather than resetting them.minScore,adaptiveProtocol, and path patterns are compatibility metadata; they are validated but do not change native Claude hook policy in this release.
Malformed recognized fields fail the mutation gate closed. Project config cannot specify arbitrary verification executables (verificationCommand and related keys are rejected), because hooks run verification automatically.
Verification detection
Detection begins at the hook working directory and searches parents. Cargo, Go, Node, Python, and .NET projects are supported. Node verification respects the project lockfile and prefers check, then available typecheck, test, lint, and build scripts. Commands use argument arrays rather than shell interpolation, including the required Windows package-manager shim. Explicit command arrays are available only to trusted programmatic callers of runVerification; repository config cannot add a command.
Package and development
npm run typecheck
npm test
npm run coverage
npm run build
npm run verify:package
npm run check
npm run release:proof
npm pack --dry-run
Published packages include compiled dist, native plugin metadata, agents, all namespaced skills, hooks, docs, examples, license, and explicit install/dev/release-proof scripts. Source, tests, coverage, .parallax/release-proof reports, local state, and secrets are rejected by package verification. npm run release:proof performs a clean check, a bounded all-scope npm audit at the explicit high threshold, strict manifest validation, real tarball inspection, and isolated packed-runtime smoke against exactly Claude Code 2.1.215. Its sanitized schema-v2 report is written under .parallax/release-proof/; every applicable check must pass for publishable: true. Authentication-dependent model turns remain visibly skipped and non-applicable when credentials are unavailable because direct packed hook/MCP tests prove the deterministic criteria. Native role frontmatter is asserted as packaged static configuration; CLI init inventories are not represented as per-agent effective runtime permissions. Coverage enforces repository-wide V8 thresholds, while the test matrix exercises tools, hooks, concurrent persistence, corrupt-state recovery, project/path handling, security boundaries, and deterministic fixtures. CI runs checks on Node 20/22 across Linux, Windows, and macOS and validates both Claude manifests.
Programmatic APIs are exported from the package root, including SessionStore, HorizonStore, detectProject, runVerification, and computeCoherenceScore.
Run parallax-claudecode doctor for redacted Markdown or parallax-claudecode doctor --json for schema-versioned JSON. It checks actual Claude/Node versions, native registration/cache freshness, manifests and entrypoints, role declarations, config, canonical storage writeability, state/ledger/archive schemas, locks/queues, and package metadata. An unhealthy result includes remediation and exits nonzero.
Documentation
Support
- Found a bug? Open a bug report.
- Have an idea? Request a feature.
- For private vulnerability reports, follow the security policy.
License
MIT © 2026 Master0fFate
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。