Claude Code shows 'API Usage Billing' despite active Max subscription — Channels unavailable

Resolved 💬 3 comments Opened Mar 29, 2026 by ehfazrezwan Closed May 2, 2026

Problem

After purchasing a Claude Max subscription and logging in via claude auth login --claudeai, Claude Code still displays "API Usage Billing" in the status line. Attempting to use Channels results in:

--channels ignored (plugin:fakechat@claude-plugins-official)
Channels are not currently available

Background

I previously used Claude Code with Google Vertex AI (API billing) for an extended period before purchasing Max. My account now has both an API Usage Billing org and a Max subscription. Claude Code appears to always select the API billing org.

Notably, oauthAccount.billingType in .claude.json correctly shows "stripe_subscription", but the UI and server-side checks still classify the account as API Usage Billing.

What I tried (all failed)

  1. claude auth logout + claude auth login --claudeai
  2. Removed CLAUDE_CODE_USE_VERTEX, CLOUD_ML_REGION, ANTHROPIC_VERTEX_PROJECT_ID from settings.json and .claude/.env
  3. Wrapped claude in an alias using env -u to strip all Vertex/GCP env vars before launch
  4. Renamed claude-code-adc.json so Claude Code couldn't auto-detect it
  5. Set hasAvailableSubscription: true in .claude.json (gets overridden on startup)
  6. Moved system-wide Google ADC (~/.config/gcloud/application_default_credentials.json) out of the default location

Key observation: Even when all Vertex env vars are stripped from the launch environment via env -u, Claude Code re-injects CLAUDE_CODE_USE_VERTEX=1 and ANTHROPIC_VERTEX_PROJECT_ID internally — likely by auto-detecting Google ADC credentials on the system.

Root cause

This appears to be a server-side org routing issue. The OAuth flow has no organization picker and defaults to the API billing org. No amount of local config changes overrides the server-side classification. Additionally, Claude Code auto-detects Google Application Default Credentials and enables Vertex AI mode even without explicit env var configuration.

Environment

  • Claude Code v2.1.87
  • macOS Darwin 24.6.0
  • Google Cloud SDK installed with active ADC (needed for other GCP work — cannot be removed)

Expected behavior

claude auth login --claudeai should select the Max subscription org and display "Max Subscription" (or similar) in the status line, with Channels and other subscription features available — regardless of whether Google ADC credentials exist on the system.

Related issues

  • #26839 — CLI always selects API Usage Billing org instead of Max plan
  • #20976 — Max plan shows as "API Usage Billing" in CLI

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗