Files
fusion/packages/pi-claude-cli
gsxdsm 71a6c5a05f test(acp): verify kill-switch dispatch routing (U11/R9/R14)
streamSimple routes to streamViaAcp ONLY when FUSION_CLAUDE_ACP=1 AND a bridge
path is provided; otherwise stays on the -p streamViaCli path. Covers the three
cases (off / flag-without-path / flag+path) and asserts the bridge path + env
are forwarded. 333/333 pi-claude-cli tests green.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-15 10:55:27 -07:00
..
2026-06-14 22:43:49 -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