diff --git a/package.json b/package.json
index cdf5100bdb01df4db9133a2b7e091a9da3a26c02..9f7df98d682167b85a108579c7340be4dca74cab 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
 {
   "name": "@arise/aidc-sveltekit",
-  "version": "0.4.0",
+  "version": "0.4.1",
   "type": "module",
   "scripts": {
     "dev": "vite dev",
diff --git a/src/lib/default.ts b/src/lib/default.ts
index 82fc0e6c297db83f087c2521a8ba38ce5df27172..4ded99106d77d72229f558af3c524d117e68232b 100644
--- a/src/lib/default.ts
+++ b/src/lib/default.ts
@@ -59,6 +59,7 @@ class DefaultLucia<
     this.db
       .prepare("INSERT INTO user (id, subject, claims) VALUES (?, ?, ?)")
       .run(userId, subject, JSON.stringify(claims));
+    return userId;
   }
 }
 
diff --git a/src/lib/index.ts b/src/lib/index.ts
index a567f984f622a328d374ad47ab677c7fb7948414..40e520e23ef2606c1442d122e82be17ed54a4c42 100644
--- a/src/lib/index.ts
+++ b/src/lib/index.ts
@@ -151,10 +151,10 @@ export class AriseIdConnect {
     const { wrapper } = this.config;
     const existingUserId = await wrapper.getUserId(sub);
 
-    const userId = existingUserId ?? generateId(15);
+    let userId = existingUserId ?? generateId(15);
 
     if (existingUserId === undefined) {
-      await wrapper.createUser(sub, userId, claims);
+      userId = await wrapper.createUser(sub, userId, claims);
     }
 
     const session = await wrapper.lucia.createSession(userId, {
@@ -202,10 +202,10 @@ export class AriseIdConnect {
   handler(): Handle {
     return sequence(
       this.miscHandler.bind(this),
-      this.sessionHandler.bind(this),
       route(this.paths.login, this.loginHandler.bind(this)),
       route(this.paths.logout, method("POST", this.logoutHandler.bind(this))),
       route(this.paths.callback, this.callbackHandler.bind(this)),
+      this.sessionHandler.bind(this),
     );
   }
 }
diff --git a/src/lib/lucia.ts b/src/lib/lucia.ts
index 6d7ffdaed118cc4d026a14010b2b0ffb808c5d52..910733fb06c125a2372cb9ef1492dd2ce48e5821 100644
--- a/src/lib/lucia.ts
+++ b/src/lib/lucia.ts
@@ -68,5 +68,5 @@ export abstract class LuciaWrapper<
     subject: string,
     userId: string,
     claims: UserinfoResponse,
-  ): MaybePromise<void>;
+  ): MaybePromise<string>;
 }