[BUG] Claude in Chrome: Authorize button click handler empty, oauth_callback.html missing
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?
Claude in Chrome extension's Authorize button does nothing when clicked. The OAuth API call succeeds (returns 200 with valid redirect_uri), but the redirect fails because:
- The button's React onClick handler is minified to an empty function:
function nv(){} - The
oauth_callback.htmlfile is missing from the extension package - accessingchrome-extension://fcoeoabgfenejglbffodgkkbkcdhcgfn/oauth_callback.htmldirectly shows "invalid"
Reinstalling the extension (including full Chrome restart) downloads the same broken build.
What Should Happen?
Clicking Authorize should complete the OAuth flow and redirect to oauth_callback.html, which should store the access token and enable the extension.
Error Messages/Logs
Console errors on auth page:
- CSP violation: "Loading the font 'data:font/truetype...' violates Content Security Policy directive: font-src"
- When manually redirecting to callback: ERR_BLOCKED_BY_CLIENT, page shows "invalid"
React inspection showed:
- getEventListeners(button).click[0].listener.toString() returns 'function nv(){}'
- btn[propsKey].onClick exists but calls empty mutation
Network tab shows:
- POST to /api/oauth/authorize returns 200 with valid response:
{"redirect_uri": "chrome-extension://fcoeoabgfenejglbffodgkkbkcdhcgfn/oauth_callback.html?code=...&state=..."}
Steps to Reproduce
- Install Claude in Chrome extension (ID: fcoeoabgfenejglbffodgkkbkcdhcgfn) from Chrome Web Store
- Click extension icon → Sign in
- On the OAuth authorization page, click "Authorize"
- Observe: Button animates but nothing happens
- Open DevTools → Network tab → Click Authorize again
- Observe: No network request fires from the button click
- In Console, run:
getEventListeners(document.querySelectorAll('button')[0]).click[0].listener.toString() - Observe: Returns
'function nv(){}'(empty handler) - Navigate directly to:
chrome-extension://fcoeoabgfenejglbffodgkkbkcdhcgfn/oauth_callback.html - Observe: Page shows "invalid" - file is missing from extension package
Claude Model
Opus
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
Chrome latest extension
Platform
Other
Operating System
Windows
Terminal/Shell
Terminal.app (macOS)
Additional Information
- Chrome version: [check chrome://settings/help and paste]
- Extension version: 1.0.36
- Tested in incognito with all other extensions disabled - same result
- "Decline" button works fine, only "Authorize" is broken
- The OAuth API itself works - manually calling the endpoint returns valid tokens
- This appears to be a broken build deployed to Chrome Web Store
Note: This bug report was compiled with assistance from Claude (Opus 4.5) during a debugging session. The diagnostic steps (inspecting React internals, checking event listeners, testing manual OAuth flow) were performed collaboratively to identify the root cause.
28 Comments
Same issue here,
The service worker console logs this error:
Same issue till 2.1.5
Same issue in iTerm2
issue still exists
Same issue here too
I've been experiencing this today... Imagine paying $400 a month and not being able to log in
issue still happing now
same issue here at the moment..
Any updates on this?
any update ?
Any updated? Same issue here.
same issue affecting my team
I saw some auth/permission blocking when I checked chrome console.
My issue was resolved by adding me as admin in the organization + installing Claude in terminal in addition to Claude VSCode Extension.
Same issue, but in Safari
OK, the issue is that URL line Clause code gives you is split by 3 new lines for some reason. I copy-pasted that into text editor, made it 1 line and then URL fully works
Same issue here, none workarounds above seems to work..
Same issue
same here
same issue
same issue
I found a temporary solution:
https://claude.ai/oauth/authorize?~~~~~extension:/fcoeo~~~~~~
↓
https://claude.ai/oauth/authorize?~~~~~extension://fcoeo~~~~~~
Ironically,
:/happens to be the perfect emoji for this type of bug :/Same issue. And it works.
Thanks to Maji3322
Worked for me!
Also thanks to @Maji3322 !
my link had extension%3A%2F%2F so for anyone confused just replace "%3A%2F%2F" with "://"
Nice find! That's a clean workaround. What's happening is a double-encoding bug — the redirect URI is being URL-encoded when it shouldn't be (or encoded twice):
%3A = :
%2F%2F = //
So chrome-extension%3A%2F%2F is the fully encoded form of chrome-extension://, but the OAuth server is apparently receiving it literally as the string chrome-extension%3A%2F%2F instead of decoding it first — so it doesn't recognize it as a valid chrome-extension:// URI scheme.
cant connect. Keeps saying: Authorization failed
Redirect URI chrome-extension:/fcoeoabgfenejglbffodgkkbkcdhcgfn/oauth_callback.html is not supported by client.
have reinstalled twice - this is what claude is saying
This is a confirmed Anthropic-side bug — not something you can fix by reinstalling.
The OAuth API call succeeds, but the redirect fails because the extension's Authorize button has an empty click handler, and oauth_callback.html is missing from the extension package entirely. Reinstalling downloads the same broken build from the Web Store. GitHub
Closing for now — inactive for too long. Please open a new issue if this is still relevant.
This issue has been automatically locked since it was closed and has not had any activity for 7 days. If you're experiencing a similar issue, please file a new issue and reference this one if it's relevant.