[BUG] Slack MCP: 302 redirect not followed after OAuth – permanent connection failure (not resolved by restart)

Resolved 💬 4 comments Opened Feb 5, 2026 by dhpwd Closed Mar 8, 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?

The pre-configured OAuth credentials feature (--client-id / --client-secret) does not work with Slack's MCP server (mcp.slack.com/sse), despite the v2.1.30 release notes explicitly citing Slack as the target use case:

"Added pre-configured OAuth client credentials for MCP servers that don't support Dynamic Client Registration (e.g., Slack)"

Attempt 1: HTTP transport

claude mcp add --transport http \
  --client-id CLIENT_ID --client-secret --callback-port 4180 \
  slack-official https://mcp.slack.com/sse

OAuth completes successfully in the browser, but Claude Code reports:

Authentication successful, but server reconnection failed.
You may need to manually restart Claude Code for the changes to take effect.

Restarting does not resolve the issue.

Attempt 2: SSE transport

Removed and re-added with --transport sse. Same result – authentication succeeds, reconnection fails.

Attempt 3: Direct redirect target

Slack's endpoint returns a 302 redirect:

GET https://mcp.slack.com/sse → 302 → https://mcp-9827.slack.com/sse

Pointing directly at the redirect target (mcp-9827.slack.com/sse) produces a different error – Slack's OAuth page rejects the authorisation request with:

Error: "scope is required"

This suggests mcp.slack.com injects the required scopes into the OAuth flow automatically, but Claude Code fails to establish the connection after the redirect.

Root cause

The likely issue is that Claude Code's SSE/HTTP client does not follow the 302 redirect from mcp.slack.commcp-9827.slack.com, or does not carry the OAuth bearer token through the redirect.

What Should Happen?

Successful OAuth authentication and connection to Slack's MCP server.

Suggested Fix

Follow 302 redirects on SSE/HTTP connections, carrying the OAuth bearer token through to the target host.

Error Messages/Logs

Steps to Reproduce

  1. Create a Slack app and note client ID / client secret
  2. Add the server:
claude mcp add --transport http \
  --client-id YOUR_CLIENT_ID --client-secret --callback-port 4180 \
  slack-official https://mcp.slack.com/sse
  1. Start Claude Code and run /mcp
  2. Select Authenticate → browser opens, OAuth completes successfully
  3. Claude Code reports "Authentication successful, but server reconnection failed"
  4. Restarting Claude Code does not resolve – server remains in failed state

Claude Model

Opus

Is this a regression?

No, this never worked

Last Working Version

_No response_

Claude Code Version

2.1.32

Platform

Anthropic API

Operating System

macOS

Terminal/Shell

iTerm2

Additional Information

_No response_

View original on GitHub ↗

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