claude-code - 💡(How to fix) Fix [Bug] plugin:slack OAuth flow never triggers — SSE endpoint 302-redirects instead of returning 401 [1 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
anthropics/claude-code#50356Fetched 2026-04-19 15:22:06
View on GitHub
Comments
1
Participants
2
Timeline
7
Reactions
0
Timeline (top)
labeled ×6commented ×1

The official Slack plugin (slack@claude-plugins-official) fails to connect with Failed to reconnect to plugin:slack:slack and the OAuth browser flow is never triggered. Root cause appears to be that Slack's MCP SSE endpoint returns a 302 redirect instead of a 401 with WWW-Authenticate, so the Claude Code MCP client never reaches OAuth discovery.

Root Cause

The official Slack plugin (slack@claude-plugins-official) fails to connect with Failed to reconnect to plugin:slack:slack and the OAuth browser flow is never triggered. Root cause appears to be that Slack's MCP SSE endpoint returns a 302 redirect instead of a 401 with WWW-Authenticate, so the Claude Code MCP client never reaches OAuth discovery.

Fix Action

Workaround

None locally. Plugin disabled via claude plugin disable.

Code Example

{ "slack": { "type": "sse", "url": "https://mcp.slack.com/sse" } }

---

$ curl -sI https://mcp.slack.com/sse
HTTP/2 302
location: https://mcp-9827.slack.com/sse
RAW_BUFFERClick to expand / collapse

Summary

The official Slack plugin (slack@claude-plugins-official) fails to connect with Failed to reconnect to plugin:slack:slack and the OAuth browser flow is never triggered. Root cause appears to be that Slack's MCP SSE endpoint returns a 302 redirect instead of a 401 with WWW-Authenticate, so the Claude Code MCP client never reaches OAuth discovery.

Environment

  • Claude Code: 2.1.114
  • Platform: macOS (Darwin 24.3.0)
  • Plugin: slack@claude-plugins-official (commit 96276205880a)
  • Plugin .mcp.json:
    { "slack": { "type": "sse", "url": "https://mcp.slack.com/sse" } }

Steps to Reproduce

  1. claude plugin install slack@claude-plugins-official
  2. Restart Claude Code
  3. /mcp → select slack → attempt Authenticate

Expected

Browser opens for Slack OAuth consent.

Actual

  • /mcp shows Failed to reconnect to plugin:slack:slack
  • Browser never opens
  • claude mcp list reports plugin:slack:slack: https://mcp.slack.com/sse (SSE) - ✗ Failed to connect

Diagnosis

Requesting the SSE endpoint directly:

$ curl -sI https://mcp.slack.com/sse
HTTP/2 302
location: https://mcp-9827.slack.com/sse

The redirect target (mcp-9827.slack.com, team "My Cooking Party") returns a Slack sign-in HTML page, not an MCP response. OAuth discovery endpoints are reachable and valid:

  • https://mcp.slack.com/.well-known/oauth-authorization-server
  • https://mcp.slack.com/.well-known/oauth-protected-resource

So the OAuth metadata is published correctly, but the MCP client doesn't reach the unauthenticated-request challenge because the SSE endpoint redirects instead of returning 401 + WWW-Authenticate. The result: OAuth flow never starts, browser never opens.

Suggested Fix

Either:

  • The plugin's .mcp.json should point at an endpoint that returns the proper 401 challenge, or
  • The Claude Code MCP client should fall back to /.well-known/oauth-* discovery when an SSE endpoint responds with a non-401, non-200 status.

Workaround

None locally. Plugin disabled via claude plugin disable.

extent analysis

TL;DR

Update the plugin's .mcp.json to point to an SSE endpoint that returns a 401 challenge or modify the Claude Code MCP client to handle 302 redirects by falling back to OAuth discovery endpoints.

Guidance

  • Verify the SSE endpoint URL in the plugin's .mcp.json file to ensure it is correct and returns a 401 challenge.
  • Check the OAuth discovery endpoints (https://mcp.slack.com/.well-known/oauth-authorization-server and https://mcp.slack.com/.well-known/oauth-protected-resource) to confirm they are reachable and valid.
  • Consider modifying the Claude Code MCP client to handle 302 redirects by falling back to OAuth discovery endpoints when an SSE endpoint responds with a non-401, non-200 status.
  • Test the updated configuration or modified client to ensure the OAuth flow is triggered and the browser opens for Slack OAuth consent.

Example

No code snippet is provided as the issue is related to configuration and client behavior.

Notes

The suggested fix requires either updating the plugin's configuration or modifying the Claude Code MCP client. The workaround of disabling the plugin is not a permanent solution and may not be desirable.

Recommendation

Apply workaround by disabling the plugin via claude plugin disable until a permanent fix is implemented, as updating the plugin's .mcp.json or modifying the Claude Code MCP client may require further testing and validation.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING