route('workspace'); if (! $ulid) { return $next($request); } $workspace = Workspace::where('ulid', $ulid)->firstOrFail(); // 404 instead of 403 — don't leak existence across workspace boundaries if (! $request->user()?->workspaceMemberships()->where('workspace_id', $workspace->id)->exists()) { abort(404); } $request->merge(['current_workspace' => $workspace]); app()->instance('current_workspace', $workspace); return $next($request); } }