diff --git a/packages/better-auth/src/plugins/multi-session/index.ts b/packages/better-auth/src/plugins/multi-session/index.ts index 25474d1680..694daf965e 100644 --- a/packages/better-auth/src/plugins/multi-session/index.ts +++ b/packages/better-auth/src/plugins/multi-session/index.ts @@ -66,7 +66,16 @@ export const multiSession = (options?: MultiSessionConfig) => { const validSessions = sessions.filter( (session) => session && session.session.expiresAt > new Date(), ); - return ctx.json(validSessions); + const uniqueUserSessions = validSessions.reduce( + (acc, session) => { + if (!acc.find((s) => s.user.id === session.user.id)) { + acc.push(session); + } + return acc; + }, + [] as typeof validSessions, + ); + return ctx.json(uniqueUserSessions); }, ), setActiveSession: createAuthEndpoint(