Account switches from subscription (i16@i16.jp) to API billing (old account) when tools are used in VS Code extension
Problem
After logging in with a subscription account (i16@i16.jp) in the Claude Code VS Code extension, Account and Usage shows the correct subscription state ("Not Authenticated" = subscription mode). However, after running any tool operations (Bash commands, file reads/writes, etc.), the Account and Usage switches to showing an old API billing account (previously used email address, now deactivated).
Steps to Reproduce
- Log out of Claude Code VS Code extension
- Log back in with subscription account (i16@i16.jp via OAuth)
- Verify Account and Usage shows subscription mode ("Not Authenticated")
- Run any tool operation (e.g., a Bash command via Claude Code)
- Check Account and Usage again → shows old API account with usage-based billing
Expected Behavior
Account and Usage should consistently show the subscription account throughout the session, regardless of whether tools are used.
Actual Behavior
After tool use, the account display switches to an old API billing account.
Investigation Notes
- Checked: No
ANTHROPIC_API_KEYin environment variables, shell profile, or project config files - Checked: No hooks configured in
~/.claude/settings.jsonor project settings - Found:
subscriptionType: nullandrateLimitTier: nullin theClaude Code-credentialskeychain entry (created at login) - The
claudeAiOauthtoken exists in the keychain but subscription info fields are null
Environment
- OS: macOS
- Claude Code: VS Code extension
- Account type: Subscription (Max plan)
Impact
User is concerned about unexpected API billing charges when tools are used.
This issue has 8 comments on GitHub. Read the full discussion on GitHub ↗