When a user clicks a magic link from a browser that has no csrf_token cookie (fresh browser / first visit), the login silently fails — the redirect to /admin/dashboard completes but no auth_token cookie is set.
Root Cause
Same Hono c.res setter merge bug already fixed for the Better Auth handler in app.ts (lines 795–807):
csrfProtection() middleware calls ensureCsrfCookie() on the GET request, queuing a csrf_token Set-Cookie on the context
The verify handler calls AuthManager.setAuthCookie() which uses Hono's setCookie()
When the handler returns c.redirect(), Hono's response merger keeps the old (CSRF) cookies and discards the new response's cookies
Result: user gets a csrf_token but no auth_token → not signed in
Fix
Replace setAuthCookie() with a direct c.header('set-cookie', ..., { append: true }) call before the redirect — the same pattern used in app.ts for Better Auth's session cookie.