claude.ai Slack MCP connector stuck 'unauthorized' in CLI despite successful OAuth
Summary
The \claude.ai Slack\ MCP connector repeatedly reports \"still unauthorized\" via \/mcp\ in the CLI, even after completing the browser OAuth flow successfully and confirming the connector is connected on claude.ai's own Connectors settings page (green checkmark).
Steps to reproduce
- Have a CLI session where \
/mcp\shows \claude.ai Slack\as "needs authentication". - Run \
/mcp\, select \claude.ai Slack\, complete the browser OAuth flow. Browser shows "Your connector was connected. You can now use it with Claude." - Run \
/mcp\again in the CLI — still reports: "Tried reconnecting, but claude.ai Slack is still unauthorized. Make sure the browser sign-in completed, then try again from /mcp." - Fully quit and relaunch Claude Code, run \
/mcp\again — same unauthorized error. - Go to claude.ai → Settings → Connectors, remove the Slack connector entirely, re-add it, re-authenticate (browser flow succeeds again) — CLI still reports unauthorized on \
/mcp\.
Throughout all of this, claude.ai's own Connectors page shows Slack as connected (checkmark) the entire time.
Expected
Once the OAuth flow completes successfully (confirmed by claude.ai's own UI), \/mcp\ in the CLI should pick up the valid connector state on the next reconnect attempt.
Actual
CLI keeps reporting unauthorized indefinitely, surviving a full process restart and a full connector remove/re-add cycle.
Environment
- Claude Code CLI (terminal), macOS
- Connector: "claude.ai Slack" (claudeai-proxy at mcp.slack.com)
Suspected cause (unverified)
Possible sync gap between the account-level connector auth state (claude.ai web) and the CLI's local MCP OAuth token/session cache — the CLI may be caching a stale unauthorized state rather than re-checking after a reconnect.