claude-print/docs/notes/billing-context.md
jedarden 30af5c4421 Remove prior art references; expand plan to full feature set and test coverage
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-07 10:35:10 -04:00

1.2 KiB

Billing Context

The June 15, 2026 Split

Anthropic's billing header field cc_entrypoint determines which pool a request draws from:

  • cc_entrypoint=cli → interactive TUI → unlimited subscription
  • cc_entrypoint=sdk-cliclaude -p / Agent SDK → monthly credit pool

Credit pool sizes: Pro $20/mo, Max 5x $100/mo, Max 20x $200/mo. No rollover.

claude -p is currently misclassified as sdk-cli even for subscription users (GitHub issue #59105 — acknowledged by Anthropic, not fixed). The June 15 change formalizes this split rather than fixing the classification.

Why PTY Preserves cli Billing

Running claude under a real PTY (via forkpty) produces cc_entrypoint=cli because:

  1. claude detects it has a real TTY on stdout
  2. It enters interactive/TUI mode
  3. The billing header is set at startup based on the entrypoint mode

Any wrapper that provides a PTY inherits the cli classification. Screen-scraping and hook-based approaches extract the response without changing the billing header.

NEEDLE Integration

The NEEDLE agent config (claude-print.yaml) replaces claude-anthropic-sonnet.yaml for workers that should bill against the subscription. Install by running install.sh, which copies the YAML to ~/.needle/agents/.