Slack plugin OAuth tokens not persisted between sessions

Resolved 💬 3 comments Opened Apr 13, 2026 by IanAbaxx Closed May 23, 2026

Bug

The Slack plugin (slack@claude-plugins-official) requires OAuth re-authorization on every new Claude Code session. Tokens are held in memory only and lost when the process exits.

Expected behavior

OAuth tokens should be persisted to ~/.claude/plugins/data/slack-claude-plugins-official/ (or equivalent) and loaded on session start. Other plugins (Figma, claude-mem) have data directories; Slack does not.

Evidence

$ ls ~/.claude/plugins/data/
claude-mem-thedotmack/    # has persistent data
# no slack directory exists

The plugin config at .claude-plugin/ declares OAuth:

{
  "type": "http",
  "url": "https://mcp.slack.com/mcp",
  "oauth": {
    "clientId": "1601185624273.8899143856786",
    "callbackPort": 3118
  }
}

The OAuth flow works fine — it's just not cached between sessions.

Impact

Every new Claude Code session (including new terminal tabs, tmux sessions, or IDE restarts) requires opening a browser, authorizing Slack, and completing the OAuth callback. This adds ~30 seconds of friction per session for any workflow that uses Slack integration.

Environment

  • Claude Code CLI (Opus 4.6, 1M context)
  • macOS Darwin 24.6.0
  • Plugin version: 1.0.0 (installed 2026-03-18)

View original on GitHub ↗

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