<OrganizationList /> component
The <OrganizationList /> component displays organization-related memberships and automatic invitations and suggestions for the user.
Properties
The <OrganizationList /> component accepts the following properties, all of which are optional:
- Name
 afterCreateOrganizationUrl- Type
 ((org: Organization) => string) | string- Description
 The full URL or path to navigate to after creating a new organization.
- Name
 afterSelectOrganizationUrl- Type
 ((org: Organization) => string) | string- Description
 The full URL or path to navigate to after selecting an organization. Defaults to
undefined.
- Name
 afterSelectPersonalUrl- Type
 ((org: Organization) => string) | string- Description
 The full URL or path to navigate to after selecting the personal account. Defaults to
undefined.
- Name
 appearance- Type
 Appearance | undefined- Description
 Optional object to style your components. Will only affect Clerk components and not Account Portal pages.
- Name
 fallback?- Type
 ReactNode- Description
 An optional element to be rendered while the component is mounting.
- Name
 hidePersonal- Type
 boolean- Description
 A boolean that controls whether
<OrganizationList />will include the user's personal account in the organization list. Setting this totruewill hide the personal account option, and users will only be able to switch between organizations. Defaults tofalse.
- Name
 hideSlug- Type
 boolean- Description
 A boolean that controls whether the optional slug field in the organization creation screen is hidden. Defaults to
false.
- Name
 skipInvitationScreen- Type
 boolean | undefined- Description
 A boolean that controls whether the screen for sending invitations after an organization is created is hidden. When
undefined, Clerk will automatically hide the screen if the number of max allowed members is equal to 1. Defaults tofalse.
import { OrganizationList } from '@clerk/nextjs'
export default function OrganizationListPage() {
  return (
    <OrganizationList
      afterCreateOrganizationUrl="/organization/:slug"
      afterSelectPersonalUrl="/user/:id"
      afterSelectOrganizationUrl="/organization/:slug"
    />
  )
}import { OrganizationList } from '@clerk/clerk-react'
export default function OrganizationListPage() {
  return (
    <OrganizationList
      afterCreateOrganizationUrl={(org) => `/organization/${org.slug}`}
      afterSelectPersonalUrl={(user) => `/user/${user.id}`}
      afterSelectOrganizationUrl={(org) => `/organization/${org.slug}`}
    />
  )
}---
import { OrganizationList } from '@clerk/astro/components'
---
<OrganizationList
  afterCreateOrganizationUrl="/organization/:slug"
  afterSelectPersonalUrl="/user/:id"
  afterSelectOrganizationUrl="/organization/:slug"
/>import { OrganizationList } from '@clerk/clerk-expo/web'
export default function OrganizationListPage() {
  return (
    <OrganizationList
      afterCreateOrganizationUrl={(org) => `/organization/${org.slug}`}
      afterSelectPersonalUrl={(user) => `/user/${user.id}`}
      afterSelectOrganizationUrl={(org) => `/organization/${org.slug}`}
    />
  )
}import { OrganizationList } from '@clerk/remix'
export default function OrganizationListPage() {
  return (
    <OrganizationList
      afterCreateOrganizationUrl={(org) => `/organization/${org.slug}`}
      afterSelectPersonalUrl={(user) => `/user/${user.id}`}
      afterSelectOrganizationUrl={(org) => `/organization/${org.slug}`}
    />
  )
}import { OrganizationList } from '@clerk/tanstack-react-start'
import { createFileRoute } from '@tanstack/react-router'
export const Route = createFileRoute('/organizations')({
  component: OrganizationListPage,
})
function OrganizationListPage() {
  return (
    <OrganizationList
      afterCreateOrganizationUrl={(org) => `/organization/${org.slug}`}
      afterSelectPersonalUrl={(user) => `/user/${user.id}`}
      afterSelectOrganizationUrl={(org) => `/organization/${org.slug}`}
    />
  )
}<script setup lang="ts">
import { OrganizationList } from '@clerk/vue'
</script>
<template>
  <OrganizationList
    :after-create-organization-url="(org) => `/organization/${org.slug}`"
    :after-select-personal-url="(org) => `/organization/${org.slug}`"
    :after-select-organization-url="(org) => `/organization/${org.slug}`"
  />
</template>Force organizations
If you would like to prohibit people from using their personal accounts and force them to be part of an organization, the hidePersonal property forces your user to join or create an organization in order to continue. For more information on how to hide personal accounts and force organizations, see the dedicated guide.
export default function OrganizationListPage() {
  return (
    <OrganizationList
      hidePersonal={true}
      // ...
    />
  )
}Customization
To learn about how to customize Clerk components, see the customization documentation.
Feedback
Last updated on