25 lines
1.2 KiB
Markdown
25 lines
1.2 KiB
Markdown
# 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-cli` → `claude -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/`.
|