Feature request: suppress the startup "N MCP servers need authentication" warning (lazy / on-demand OAuth re-auth)
Resolved 💬 1 comment Opened Jun 10, 2026 by mattd233 Closed Jun 15, 2026
Summary
Please add a way to suppress the startup notification that counts unauthenticated MCP servers, so users with OAuth-based MCP servers/connectors whose tokens expire frequently can re-authenticate lazily (on first use) instead of being nagged at every launch.
Motivation / use case
- I have a large set of
claude.aiconnectors plus a couple of local OAuth MCP servers. Their OAuth tokens expire often. - I don't want to proactively re-auth everything on every startup — I want to re-auth a given server only when I actually invoke one of its tools.
- Today every launch shows "N MCP servers need authentication." Because the tokens lapse faster than I use the servers, this is permanent, non-actionable noise.
Current behavior (verified in 2.1.170)
- The startup warning is a live count of connected, non-IDE MCP servers in
needs-authstate. It renders whenever the count is > 0; there is no flag to mute it. - The only way to remove a server from the count is to authenticate it or disable it (
disabledMcpServers, stored per-project in~/.claude.json, set via the/mcptoggle). - Disabling removes the server's tools entirely until re-enabled, and is per-project — so account-level connectors keep nagging in every other project.
claude mcphas noenable/disable, onlyremove. - Net: there is no supported way to keep a server available-but-dormant and authenticate it on demand without the recurring startup nag.
Proposed solutions (any one would help)
- Mute setting — a
settings.jsonoption to suppress the "needs authentication" startup notification (while keeping/mcpfully functional for on-demand auth). - Lazy-auth mode — don't probe/flag OAuth servers at startup; prompt to authenticate only when a tool from that server is first invoked.
- Silent token refresh — where a refresh token exists, refresh transparently so normal expiry never surfaces as "needs authentication."
- Better disable ergonomics — a global (not just per-project) disable, and/or a
claude mcp disable/enable <name>CLI command.
Why this matters
On-demand auth is the natural model once you have many connectors. The current design assumes you keep every connected server authenticated at all times, which doesn't hold when tokens are short-lived and servers are used intermittently.
---
Environment: Claude Code 2.1.170, macOS (darwin arm64).
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗