Drop-in replacement for claude -p that drives the interactive TUI via PTY, preserving subscription billing
G-1: claude_version claim narrowed — appears only in json/stream-json error, not text G-2: claude_version runtime source specified — run binary once pre-fork, cache result G-3: TRUST_DISMISSED idle-wait upper bound documented — wall-clock timeout is the only exit G-4: keeper write-end fd close-before-waitpid added to all non-Stop exit paths G-5: hook ordering claim softened to "likely first (unverified per OQ-1)"; OQ-1 expanded G-6: ANSI stripping in last_assistant_message fallback extended to stream-json mode G-7: parent fd 0 close after prompt read specified in PTY Spawner §3 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| docs | ||
| README.md | ||
claude-print
Drop-in replacement for claude -p (print/headless mode) that drives the Claude Code interactive TUI via PTY — preserving subscription billing after the June 15, 2026 Agent SDK credit split.
Why this exists
Starting June 15, 2026, Anthropic separates claude -p (headless) into a separate Agent SDK credit pool ($100–$200/month on Max plans). Only the interactive TUI (cc_entrypoint=cli) continues drawing from the unlimited subscription. claude-print wraps the interactive TUI in a PTY so callers get claude -p wire-compatible output while billing against the subscription.
Structure
docs/notes/— design decisions, constraints, integration detailsdocs/plan/plan.md— complete implementation plan