---
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.
