Repository navigation
feat(llc/adapters): subscription-mode adapters — run agents on Claude Max, Codex, or Copilot subscription without API key #9033
Description
Activity
- addedenhancementNew feature or requestNew feature or request
on May 30, 2026 ✅ Implementation complete
Core subscription-mode adapters delivered in commit fd465e1:
ClaudeCodeSubscriptionAdapter— runs Claude Code CLI without API keyCopilotSubscriptionAdapter— runs GitHub Copilot via gh authCodexSubscriptionAdapter— stub (OpenAI CLI doesn't exist yet)- All registered, 10 tests passing
Integration deferred (requires other systems):
- OAuth browser flow → follow-up issue needed
- Auto-pause on quota → blocked by GH#8225
- Token usage tracking → follow-up issue needed
PR: #9442 (needs rebase + review)
Paperclip issue MVA-3105 closed.
- added a commit that references this issue
on Jun 4, 2026 AC audit (PR #10227): all three subscription adapters registered; API-key stripping ✅ (AC3), quota DETECTION ✅. Unmet: no frontend selector (AC1 → #10219), OAuth token wiring missing despite docstrings (AC2 → #10217), no token→budget reporting (AC4 → #10220), quota→auto-pause+board-notify is an explicit TODO (AC5 → #10218), and
codex_subscriptionis a NotImplementedError stub. PR #10227 adds adapter_type hire-validation. Issue stays open pending #10217/#10218/#10219/#10220.AC verification — now complete (recommend close).
- Each subscription adapter selectable on an agent → feat(llc/frontend): agent-hire form with adapter-type selector + GET /api/llc/adapters introspection #10219 (MERGED feat(llc): UI integration — reachable boards + adapter-selectable agent hire (#10219) #10293)
- OAuth/credential via secrets → feat(llc/adapters): wire subscription adapters to OAuth tokens via secrets (no API key) #10217 (copilot gh_token from the LLC vault; Claude uses its own
claude loginsession; MERGED feat(llc/adapters): subscription quota auto-pause + secrets-backed gh_token (#10218, #10217) #10257) - Runs without ANTHROPIC_API_KEY → API-key env vars stripped (test-verified)
- Token usage parsed + reported → feat(llc/adapters): parse CLI token usage and report to LLC budget #10220 (MERGED)
- Quota exhaustion → agent auto-paused + board notification → feat(llc/adapters): subscription quota exhaustion → auto-pause agent + board notification #10218 (QUOTA_EXHAUSTED → _handle_quota_exhausted → ControlsService.pause_agent + CONTROL_AGENT_PAUSED event; MERGED feat(llc/adapters): subscription quota auto-pause + secrets-backed gh_token (#10218, #10217) #10257)
- Works alongside API-key adapters → independent registry entries
All ACs delivered across #10217/#10218/#10219/#10220. (codex_subscription remains a registered stub — surfaced as implemented=false in the selector.) Part of umbrella #9923.
Summary
Many users pay for Claude Max, GitHub Copilot, or ChatGPT Plus subscriptions but do not have or want separate API keys. LLC agents should be able to run using subscription-authenticated CLI sessions rather than requiring per-token API billing.
What Users Want
claude_code_subscription— spawns a Claude Code session authenticated via browser OAuth (existing subscription), noANTHROPIC_API_KEYneededcodex_subscription(OpenAI Codex CLI with ChatGPT Plus OAuth)copilot_subscription(GitHub Copilot CLI with GitHub OAuth)AutoBot Fit
Extends
autobot-backend/llc/adapters/. The existingclaude_code_adapter.pyalready spawns a Claude Code process — subscription mode is the same process but without injectingANTHROPIC_API_KEY. Auth token is stored via OAuth browser flow → secrets system (SecretType.OAUTH_REFRESH_TOKENper #9019). Session rotation on subscription limit hit instead of hard fail.Acceptance Criteria
claude_code_subscriptionadapter type selectable on LLC agentANTHROPIC_API_KEYin environment