Summary
Root cause: Bitbucket changed how authentication works in their API. The Tokens Studio Figma plugin's Bitbucket provider has not been updated for the new auth contract, so push/pull fails on plugin version 2.11.5 with the UI error "Could not load tokens — Unable to connect to Bitbucket. Please check your internet connection or try again later." The browser console shows a CORS preflight failure on GET https://api.bitbucket.org/2.0/repositories/{workspace}/{repo}/refs/branches because the request is now rejected at the preflight stage by Bitbucket. New API tokens with verified scopes do not resolve it — the issue is the auth header / request shape, not the credential itself. Started appearing around the week of April 20, 2026.
Steps to reproduce
- Configure Bitbucket sync in the Tokens Studio Figma plugin with a valid Bitbucket API token.
- Trigger a pull or push of tokens.
- Observe the "Unable to connect to Bitbucket" dialog. The failure is intermittent — same setup sometimes succeeds, sometimes fails.
Expected behavior
Tokens push/pull to Bitbucket succeeds (or fails with a credential-specific error if the token is invalid).
Actual behavior
Plugin shows: "Could not load tokens — Unable to connect to Bitbucket. Please check your internet connection or try again later."
Figma DevTools console shows:
Access to fetch at 'https://api.bitbucket.org/2.0/repositories/{workspace}/{repo}/refs/branches'
has been blocked by CORS policy: Response to preflight request doesn't pass access control check:
It does not have HTTP ok status.
GET https://api.bitbucket.org/2.0/repositories/{workspace}/{repo}/refs/branches net::ERR_FAILED
Error: Error fetching branches
at Aae (...)
A first attempt may surface as 401 Unauthorized; after token rotation, the underlying CORS preflight failure becomes visible.
What's been ruled out
❌ Expired/revoked token — Philipp generated a fresh token, scopes verified by his DevOps team. Same failure.
❌ VPN / corporate firewall — confirmed not blocking api.bitbucket.org for the affected user.
❌ User-specific / regional issue — at least two unrelated customers (different orgs) are reporting it concurrently.
Summary
Root cause: Bitbucket changed how authentication works in their API. The Tokens Studio Figma plugin's Bitbucket provider has not been updated for the new auth contract, so push/pull fails on plugin version 2.11.5 with the UI error "Could not load tokens — Unable to connect to Bitbucket. Please check your internet connection or try again later." The browser console shows a CORS preflight failure on GET https://api.bitbucket.org/2.0/repositories/{workspace}/{repo}/refs/branches because the request is now rejected at the preflight stage by Bitbucket. New API tokens with verified scopes do not resolve it — the issue is the auth header / request shape, not the credential itself. Started appearing around the week of April 20, 2026.
Steps to reproduce
Expected behavior
Tokens push/pull to Bitbucket succeeds (or fails with a credential-specific error if the token is invalid).
Actual behavior
Plugin shows: "Could not load tokens — Unable to connect to Bitbucket. Please check your internet connection or try again later."
Figma DevTools console shows:
What's been ruled out
❌ Expired/revoked token — Philipp generated a fresh token, scopes verified by his DevOps team. Same failure.
❌ VPN / corporate firewall — confirmed not blocking api.bitbucket.org for the affected user.
❌ User-specific / regional issue — at least two unrelated customers (different orgs) are reporting it concurrently.