Drop-in replacement for claude -p that drives the interactive TUI via PTY, preserving subscription billing
Find a file
jedarden ffbe0f298e Add execvp and TIOCSWINSZ to PtySpawner::spawn
Change spawn() to spawn(cmd, args): on the parent side set the PTY
window size via TIOCSWINSZ mirroring stdin or defaulting to 80x24; on
the child side call execvp with the given command after login_tty.
Update the test to exercise /bin/true through the full exec path.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-07 16:42:00 -04:00
.beads Close bead bf-2ug: PTY open and fork implementation complete 2026-06-07 16:40:16 -04:00
docs gap-review round 10: 3 gaps fixed 2026-06-07 14:24:50 -04:00
src Add execvp and TIOCSWINSZ to PtySpawner::spawn 2026-06-07 16:42:00 -04:00
test-fixtures/mock-claude Phase 2: implement PTY open and fork in pty.rs 2026-06-07 16:38:14 -04:00
Cargo.lock Phase 2: implement PTY open and fork in pty.rs 2026-06-07 16:38:14 -04:00
Cargo.toml Phase 2: implement PTY open and fork in pty.rs 2026-06-07 16:38:14 -04:00
README.md Remove prior art references; expand plan to full feature set and test coverage 2026-06-07 10:35:10 -04:00

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 details
  • docs/plan/plan.md — complete implementation plan