--- title: "imToken in-app browser opens but does not log in — Quick Fix" type: quick-fix date: 2026-06-04 --- # imToken in-app browser opens but does not log in — Quick Fix ## Bug imToken can be opened from Chrome into its in-app browser, but the site does not complete wallet login. ## Root Cause `AutoInjectedLogin` only started when the URL contained `?autoLogin=imToken`. imToken's deeplink/in-app-browser navigation can open the page while dropping or not preserving that query string, so the auto-login effect never ran even though the page was inside imToken and an injected provider was available. ## Fix Added an imToken browser fallback: if no explicit `autoLogin` query parameter exists, but the current user agent is imToken, `AutoInjectedLogin` treats it as an imToken direct-login session and runs the same injected login path. ### Files Modified - `src/wallet/AutoInjectedLogin.tsx` — starts imToken direct login based on imToken in-app-browser detection when the deeplink query is missing. - `src/wallet/injected.ts` — exports `isImTokenBrowser()` so the auto-login flow can reuse the imToken browser detection. ## Verification - `npx tsc --noEmit` - `npm run format:check` - `npm test` ## Notes This preserves the explicit `?autoLogin=` flow for TokenPocket and other wallets, while making imToken robust when the deeplink opens the page without the query parameter.