The engine already runs a StuckTaskDetector with a configurable per-task heartbeat (default 1 hour) and aborts triage/executor sessions through AbortSignal when it judges them quiet. pi-claude-cli forwards that signal to the subprocess. The 300s subprocess-level inactivity timeout was a redundant, much-tighter shadow that kept killing Sonnet 4.6 mid-thinking on the 40k-char triage prompt — exactly what the engine-level detector is designed not to do. Move the local timeout to 30 minutes purely as a last-resort guard for embeds that don't pass an abort signal. Stuck-detection responsibility now lives in the caller, where it can be configured per task. 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