Slack plugin OAuth tokens not persisted between sessions
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)
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗