Access issues on shared Lovable projects stem from workspace membership, not project URLs. Invite collaborators through Workspace Settings with the correct role (Member for editing, Admin for secrets and connectors). If someone sees an access error, they are either not in your workspace, their invite link expired, or they are signed into the wrong Lovable account.
Why shared Lovable projects show access denied or permission errors
Lovable organizes work into workspaces, and every project lives inside one workspace. When you share a project link with someone, they can only open it if they belong to that workspace or if the project is set to public visibility. Many users assume that sending a project URL is enough, but Lovable checks workspace membership before granting editor access. Another common issue is invite link expiration. Lovable invite links have a limited lifespan, and if a collaborator clicks an old link, they see an error instead of the project. This is especially confusing because the link looks valid in the browser address bar. Finally, workspace roles matter. Lovable distinguishes between owners, admins, and members. Members can view and edit projects, but only admins and owners can manage connectors, billing, and workspace settings. If a collaborator needs to change environment secrets or connect GitHub, they need an elevated role — not just basic project access.
- Collaborator is not a member of the workspace that contains the project
- Project visibility is set to workspace-only but the recipient is outside the workspace
- Invite link has expired or was already used by a different account
- Collaborator signed into a different Lovable account than the one invited
- Workspace role is too restrictive for the action the collaborator needs to perform
Error messages you might see
You don't have access to this projectThe person trying to open the project is not a member of the workspace it belongs to. Invite them to the workspace through Workspace Settings or change the project to public visibility.
This invite link has expiredLovable invite links expire after a set period. The workspace owner or admin needs to generate a fresh invite link from Workspace Settings.
You need to be logged in to view this projectThe project has restricted visibility. The viewer must sign into their Lovable account and be a workspace member to access it.
Before you start
- A Lovable account with owner or admin role in the workspace
- The email address of the collaborator you want to invite
- The project open in the Lovable editor so you can check its visibility settings
How to fix it
Check and update project visibility settings
Projects on Business and Enterprise plans can restrict access to workspace members only, which blocks external viewers
Check and update project visibility settings
Projects on Business and Enterprise plans can restrict access to workspace members only, which blocks external viewers
Open your project in the Lovable editor. Click the Publish icon in the top-right corner. In the publish configuration panel, look for the access control setting. If it says 'Workspace only', anyone outside your workspace will see an access denied error when they visit the published URL. Change it to 'Anyone' if you want the published app to be publicly accessible. Note that this controls the published app visibility — editor access is always controlled by workspace membership.
Expected result: The published URL is accessible to anyone with the link, or restricted to workspace members based on your selection.
Invite collaborators to your workspace
Editor access requires workspace membership — sharing a project URL alone is not enough
Invite collaborators to your workspace
Editor access requires workspace membership — sharing a project URL alone is not enough
Click your workspace name in the top-left corner, then select Settings. Navigate to the Members section. Click 'Invite member' and enter your collaborator's email address. Choose their role: Member for basic editing access, Admin for settings and connector management, or Owner for full control including billing. Click Send invite. The collaborator receives an email with a fresh invite link. Make sure they sign in with the exact email address you invited — using a different account will not grant access.
Expected result: The collaborator receives an invite email, clicks the link, and can see all workspace projects in the Lovable editor.
Handle expired or broken invite links
Invite links expire after a limited time, and reusing old links causes confusing access denied errors
Handle expired or broken invite links
Invite links expire after a limited time, and reusing old links causes confusing access denied errors
If a collaborator reports that their invite link does not work, go back to Workspace Settings and the Members section. Revoke the old pending invite if it still appears, then create a new one with the same email address. Send the fresh link directly to the collaborator and ask them to click it promptly. If they already created a Lovable account with a different email, they will need to sign out and sign back in with the invited email, or you will need to send a new invite to the email they actually used.
Expected result: The collaborator successfully joins the workspace using the fresh invite link.
Verify workspace roles match the required permissions
Actions like managing secrets, connecting GitHub, or changing billing require admin or owner roles
Verify workspace roles match the required permissions
Actions like managing secrets, connecting GitHub, or changing billing require admin or owner roles
If a collaborator can open the project but cannot perform certain actions (like adding environment secrets in the Cloud tab or connecting GitHub), they likely need a higher role. Go to Workspace Settings and the Members section. Find the collaborator in the member list and change their role from Member to Admin. Admin role grants access to Cloud tab Secrets, GitHub connectors, and workspace-level build settings. Only promote to Owner if you want them to have billing and full workspace control. If your team structure requires granular permissions across multiple projects, RapidDev's engineers have configured workspace access patterns across 600+ Lovable teams and can set up a scalable permission model.
Expected result: The collaborator can now perform admin-level actions like managing secrets and connecting integrations.
Complete code example
1import { useEffect, useState } from "react";2import { useNavigate } from "react-router-dom";3import { supabase } from "@/integrations/supabase/client";45interface ProtectedRouteProps {6 children: React.ReactNode;7 requiredRole?: "admin" | "member";8}910export default function ProtectedRoute({ children, requiredRole = "member" }: ProtectedRouteProps) {11 const navigate = useNavigate();12 const [isAuthorized, setIsAuthorized] = useState(false);13 const [isLoading, setIsLoading] = useState(true);1415 useEffect(() => {16 async function checkAccess() {17 const { data: { session } } = await supabase.auth.getSession();1819 if (!session) {20 // Redirect unauthenticated users to the login page21 navigate("/login", { replace: true });22 return;23 }2425 if (requiredRole === "admin") {26 // Query the profiles table to verify the user has an admin or owner role27 const { data: profile } = await supabase28 .from("profiles")29 .select("role")30 .eq("id", session.user.id)31 .single();3233 if (profile?.role !== "admin" && profile?.role !== "owner") {34 navigate("/unauthorized", { replace: true });35 return;36 }37 }3839 setIsAuthorized(true);40 setIsLoading(false);41 }4243 checkAccess();44 }, [navigate, requiredRole]);4546 if (isLoading) {47 return (48 <div className="flex items-center justify-center min-h-screen">49 <p className="text-muted-foreground">Checking access...</p>50 </div>51 );52 }5354 // Only render children once authorization is confirmed55 return isAuthorized ? <>{children}</> : null;56}Best practices to prevent this
- Always invite collaborators by email through Workspace Settings rather than sharing project URLs directly — URLs alone do not grant editor access
- Use the principle of least privilege: start collaborators as Members and promote to Admin only when they need access to secrets or connectors
- Send fresh invite links rather than reusing old ones — expired links cause silent failures that are hard to debug
- Keep your workspace member list clean by removing people who no longer need access, especially those with admin or owner roles
- For client projects, consider creating a separate workspace per client to isolate project access and billing
- Set published app visibility to 'Anyone' for public-facing apps and 'Workspace only' for internal tools or staging environments
- Document your workspace roles and access policies so team members know whom to contact for permission changes
Still stuck?
Copy one of these prompts to get a personalized, step-by-step explanation.
I have a Lovable.dev project that I need to share with a team member. They are getting an access denied error when trying to open the project. Here is my current setup: - Workspace plan: [Free/Pro/Business] - My role: [Owner/Admin] - Collaborator's email: [their email] - How I shared the project: [sent project URL / sent invite link / added to workspace] Please help me: 1. Figure out why they cannot access the project 2. Walk me through the correct steps to grant them access 3. Explain what workspace roles they need for editing code, managing secrets, and connecting GitHub
I need to share this project with a team member at [email address]. They should be able to edit the project and access the Cloud tab secrets. Check if there are any components that reference user roles or permissions that might need updating for multi-user access. Also confirm that any Supabase Row Level Security policies allow the new user to read and write data.
Frequently asked questions
How do I share a Lovable project with someone?
Go to Workspace Settings by clicking your workspace name in the top-left corner, navigate to the Members section, and click Invite member. Enter their email address and choose a role. Once they accept the invite, they can access all projects in the workspace through the Lovable editor.
Why does my collaborator see an access denied error on my Lovable project?
The most common reason is that the collaborator is not a member of your workspace. Sharing a project URL does not grant editor access — you need to invite them through Workspace Settings. If they are already a member, check that they are signed into the correct Lovable account.
Can I share a single project without giving access to my entire workspace?
Lovable's access model is workspace-based, not project-based. When you invite someone to your workspace, they can see all projects in it. If you need to isolate a single project, create a separate workspace for it and invite the collaborator there.
Do Lovable invite links expire?
Yes, invite links have a limited lifespan. If a collaborator reports that the link does not work, go to Workspace Settings, revoke the old invite, and generate a fresh one. Send the new link directly and ask them to use it promptly.
What workspace role should I give a developer collaborator?
For editing code and building features, the Member role is sufficient. If the developer needs to manage secrets in the Cloud tab, connect GitHub, or configure deployment settings, promote them to Admin. Reserve the Owner role for people who need billing and full workspace control.
Can Free plan users share projects with collaborators?
Free plan projects are public, meaning anyone can view the published app. However, granting editor access still requires a workspace invitation. Collaboration features like real-time multiplayer editing are available on paid plans.
What if I can't fix this myself?
If your team has complex permission requirements like role-based access controls within the app itself, multi-workspace setups for different clients, or Supabase Row Level Security policies for data isolation, RapidDev's engineers have configured these patterns across 600+ Lovable projects and can set up a scalable access model.
Talk to an Expert
Our team has built 600+ apps. Get personalized help with your issue.
Book a free consultation