VS Code extension login sets subscriptionType/rateLimitTier to null on Linux — only Opus 1M shown instead of Opus classic

Resolved 💬 3 comments Opened Mar 15, 2026 by Caranille Closed Mar 19, 2026

Preflight Checklist

  • [x] I have searched existing issues and this hasn't been reported yet
  • [x] This is a single bug report (please file separate reports for different bugs)
  • [x] I am using the latest version of Claude Code

What's Wrong?

On Linux, the VS Code extension login sets subscriptionType: null and rateLimitTier: null in ~/.claude/.credentials.json. This causes /model to only show Opus 4.6 with 1M context (which requires extra usage) instead of Opus 4.6 classic. The same account, same version (2.1.76), works correctly on Windows VS Code, GitHub Codespaces, and Linux CLI.

What Should Happen?

When logging in via the VS Code extension on Linux, the .credentials.json file should correctly populate subscriptionType and rateLimitTier fields — just like it does on Windows and GitHub Codespaces with the same extension version (2.1.76). The /model picker should then display Opus 4.6 classic (without 1M context), allowing Pro plan users to access Opus without requiring extra usage. Currently, CLI login (claude login) on the same Linux machine correctly populates these fields and shows Opus classic, confirming the issue is isolated to the VS Code extension login flow on Linux.

Error Messages/Logs

Steps to Reproduce

On Linux, open VS Code with Claude Code extension v2.1.76
Log in via the extension's /login flow
Check ~/.claude/.credentials.json:

json {
"subscriptionType": null,
"rateLimitTier": null
}

Open /model → Only shows:

Default (Sonnet 4.6)
Opus (1M context) ← only 1M variant
Haiku 4.5

Claude Model

None

Is this a regression?

Yes, this worked in a previous version

Last Working Version

_No response_

Claude Code Version

2.1.76

Platform

Anthropic API

Operating System

Ubuntu/Debian Linux

Terminal/Shell

VS Code integrated terminal

Additional Information

_No response_

View original on GitHub ↗

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