Triage runs through pi-claude-cli still hang silently for 20+ minutes after only 2 thinking-deltas before the engine's StuckTaskDetector kills them. We can't tell from agentLogEntries whether the subprocess crashed, the MCP server failed to attach, or Claude is in extended thinking that doesn't stream. Adds stderr lines tagged [pi-claude-cli] for: - spawn (pid, model, mode, prompt sizes, mcp on/off) - init (session id, model, permissionMode, mcp_servers status list) - first-stdout-line (latency from spawn) - tool_use (per top-level tool, with piKnown flag) - break-early (when we kill at message_stop) - close (exit code, signal, elapsed, broken-flag) No behavioural change. Restart the dashboard, trigger triage, and these lines tell us which phase silence sets in. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
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 (
claudeon 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
--resumeeliminates 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