← cc-guard

Claude Code v2.1.133: 2.9M tokens loaded at Pro login (one-line fix)

May 8, 2026 · 4 min read · by gaebalai

TL;DR: On v2.1.133, logging in as Claude Pro / Claude.ai-OAuth can fill /context with about 2.9 million tokens of "System tools" before you type anything (1,460% full). Set ENABLE_CLAUDEAI_MCP_SERVERS=false in your shell, remove the credentials file, and re-run /login. OAuth login keeps working; only the connector sync gets disabled.

What does this look like?

You log in as Claude Pro through OAuth (/login → "Claude.ai Subscription"). Then you check /context and see something like:

System tools  2,900,000 tokens  (1,460% full)
Files, conversation, etc:  0 tokens

The context window is gone. Before you type a single word, Claude Code is unusable. Restarting doesn't help. Switching project folders doesn't help.

If you delete ~/.claude/.credentials.json and log back in with an API key (no OAuth), /context drops to about 700 tokens. Normal again.

This was filed as Issue #57235 on May 8, 2026.

Why does this happen?

When you log in through Claude.ai's OAuth, Claude Code inherits every connector configured on your claude.ai account, including Canva, Figma, Linear, Notion, Google Drive, Gmail, and so on. Each connector ships its MCP tool definitions and authentication entries into the CLI session, even if you never plan to use them from the command line.

Each connector's tool definitions cost roughly 250–330 tokens of context. With a handful of connectors that's ~10K tokens. With many connectors plus their accumulated tool definitions, it scales up fast.

This isn't a new problem. Issue #50062 (closed April 19, 2026) reported the same pattern at about 100K tokens. The fix shipped in v2.1.14 added the ENABLE_CLAUDEAI_MCP_SERVERS=false escape hatch.

What changed in v2.1.133 is the scale: 100K became 2.9M. That's 29× the original report. Either the v2.1.14 fix regressed, or a new code path bypasses it. Either way, the ENABLE_CLAUDEAI_MCP_SERVERS=false escape hatch is still the documented way to opt out.

The fix

One-line workaround. Run these in your shell, then re-launch Claude Code:
export ENABLE_CLAUDEAI_MCP_SERVERS=false
mv ~/.claude/.credentials.json ~/.claude/.credentials.json.bak
claude /login
Re-authenticate with Claude.ai. Then check /context; you should see ~700 tokens instead of 2.9M.

The mv instead of rm is intentional: if anything goes wrong with the new login, you can restore the old credentials.

To make the change permanent, add the export to your shell rc file (~/.bashrc, ~/.zshrc, etc.):

echo 'export ENABLE_CLAUDEAI_MCP_SERVERS=false' >> ~/.bashrc
source ~/.bashrc

If the fix doesn't work

If /context still shows 2.9M tokens after setting the flag and re-logging in, the v2.1.14 fix likely doesn't cover whatever path is firing in v2.1.133. In that case:

How to detect this at session start

The shell command claude mcp list shows every MCP server known to your CLI. Lines that start with claude.ai are the auto-synced connectors. Run it after the fix to confirm the count drops.

If you'd rather have a session-start warning that fires automatically when the connector count crosses a threshold, the mcp-startup-bloat-detector.sh hook in cc-guard runs on SessionStart and points to this exact workaround. It's PR #192; pending merge as of writing.

Background and related reports

The pattern across all four reports is that the connector sync defaults are tuned for the Claude Desktop UI, where account-level connectors are useful, and not for the CLI, where they consume context that would otherwise go to your code. The env var is a blunt instrument that disables every connector, including the ones you might actually want, but until there's a per-connector opt-in, it's the only documented control.