[BUG] Figma MCP OAuth token not recognized on restart — re-authentication required every session
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?
After completing Figma MCP OAuth authentication, the token is saved in ~/.claude/.credentials.json (mcpOAuth.figma entry with valid accessToken exists), but mcp-needs-auth-cache.json is overwritten on every restart, flagging Figma as "Needs authentication". Re-authentication is required on every new Claude Code session.
Related to #54727 but different symptom: occurs on every restart even with a single Claude Code process.
What Should Happen?
After OAuth authentication, the Figma MCP server should remain authenticated across sessions. The token stored in .credentials.json should be recognized on restart without requiring re-authentication.
Error Messages/Logs
claude mcp list shows:
figma: https://mcp.figma.com/mcp (HTTP) - ! Needs authentication
(shown after every restart, even when .credentials.json contains a valid mcpOAuth.figma token)
Steps to Reproduce
- Add Figma MCP server via Claude Code marketplace
- Authenticate with OAuth (complete the browser flow successfully)
- Confirm ~/.claude/.credentials.json contains mcpOAuth.figma with valid accessToken and refreshToken
- Restart Claude Code
- Run
claude mcp list→ Figma shows "Needs authentication" again
Claude Model
Sonnet (default)
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.123
Platform
Other
Operating System
Windows
Terminal/Shell
VS Code integrated terminal
Additional Information
_No response_
This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗