Files
fusion/packages/pi-claude-cli
Fusion de5dd6f7db feat(FN-2370): merge fusion/fn-2370 (auto-resolved)
- test(FN-2370): complete Step 3 — align qa-check template expectation
- test(FN-2370): complete Step 2 — add regression coverage for addComment diagnostics
- test(FN-2370): complete Step 2 — cover addComment warning regressions
- feat(FN-2370): complete Step 1 — log addComment best-effort failures
- feat(FN-2369): merge fusion/fn-2369
- feat(prompts): require lint alongside tests and typecheck in agent instructions
- perf(test): parallelize harder — unlock worker count, split build-output, bump workspace concurrency
- fix(core): recognize legacy kb-* backups and canonicalize .kb/backups settings
- refactor: eliminate remaining 15 any warnings and ratchet rule to error
- refactor: eliminate ~400 no-explicit-any warnings across the workspace
- feat(core): add getErrorMessage helper for narrowing unknown errors
- refactor: fix and tighten mechanical lint rules
- chore(eslint): fix pre-existing errors surfaced by wider .cjs match
- chore(eslint): promote @typescript-eslint/no-unused-vars from warn to error
- refactor(dashboard,desktop,engine): remove unused imports, props, and locals
- refactor(core): remove unused imports, helpers, and dead migration constant
- refactor(cli): remove unused imports and variables
- refactor: adapt resource loader and tool wiring to pi-coding-agent 0.70
- fix: adapt to AgentState.error → errorMessage rename
- refactor: migrate @sinclair/typebox imports to typebox 1.x
- refactor: migrate to ModelRegistry.create factory
- chore: bump pi-coding-agent + pi-ai to 0.70.0
- refactor: remove legacy kb compatibility
- feat: add "Anthropic — via Claude CLI" as a first-class provider
- test(FN-2358): harden clean-worktree CI verification tests
- fix(FN-2352): add structured terminal websocket diagnostics
- fix: use live merge-base for task diff scope
- feat: backfill Claude skills when useClaudeCli toggle flips on
- fix: prevent nested .fusion/.fusion dir from PluginStore path bug
2026-04-24 08:54:25 -07:00
..

pi-claude-cli

A pi extension that routes LLM calls through the Claude Code CLI as a subprocess. Use your Claude Pro/Max subscription as the LLM backend — no API key, no separate billing.

How it works

The extension registers as a custom pi provider exposing all Claude models. Each request spawns a claude -p subprocess using the stream-json wire protocol, with --resume on follow-up turns to reuse the CLI's session state instead of replaying full history. Claude proposes tool calls, pi executes them natively. Custom pi tools are exposed to Claude via a schema-only MCP server.

Requirements

  • Claude Code CLI installed and authenticated (claude on PATH)
  • A Claude Pro or Max subscription
  • pi or GSD

Installation

Add to ~/.gsd/agent/settings.json:

{
  "packages": ["npm:pi-claude-cli"]
}

Then select a Claude model via /model in the interactive UI. All Claude models appear under the pi-claude-cli provider.

Features

  • Streams text, thinking, and tool call tokens in real-time
  • Maps tool names and arguments bidirectionally between Claude and pi
  • Exposes custom pi tools to Claude via MCP (schema-only, no execution)
  • Break-early pattern prevents Claude CLI from auto-executing tools
  • Session resume via --resume eliminates history replay on follow-up turns
  • Configurable thinking effort with elevated budgets for Opus models
  • Cross-platform subprocess management (Windows, macOS, Linux)
  • Inactivity timeout and process registry for cleanup

License

MIT