[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-clerk-clerk-vue-patterns":3,"mdc--kt13ii-key":37,"related-org-clerk-clerk-vue-patterns":1574,"related-repo-clerk-clerk-vue-patterns":1765},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":26,"repoUrl":27,"updatedAt":28,"license":29,"forks":30,"topics":31,"repo":32,"sourceUrl":35,"mdContent":36},"clerk-vue-patterns","implement Clerk auth in Vue 3 apps","Vue 3 patterns with Clerk — composables (useAuth, useUser, useClerk, useOrganization), Vue Router guards, Pinia auth store integration. Triggers on: vue clerk, useAuth vue, clerk composables, vue router clerk guard, pinia auth clerk. For Nuxt, use clerk-nuxt-patterns instead.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"clerk","Clerk","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fclerk.png",[12,14,17,20,23],{"name":9,"slug":8,"type":13},"tag",{"name":15,"slug":16,"type":13},"Vue","vue",{"name":18,"slug":19,"type":13},"Authentication","authentication",{"name":21,"slug":22,"type":13},"Frontend","frontend",{"name":24,"slug":25,"type":13},"State Management","state-management",59,"https:\u002F\u002Fgithub.com\u002Fclerk\u002Fskills","2026-04-07T04:46:17.133672","MIT",4,[],{"repoUrl":27,"stars":26,"forks":30,"topics":33,"description":34},[],"AI Skills to enhance working with Clerk","https:\u002F\u002Fgithub.com\u002Fclerk\u002Fskills\u002Ftree\u002FHEAD\u002Fskills\u002Fframeworks\u002Fclerk-vue-patterns","---\nname: clerk-vue-patterns\ndescription: 'Vue 3 patterns with Clerk — composables (useAuth, useUser,\n  useClerk, useOrganization), Vue Router guards, Pinia auth store\n  integration. Triggers on: vue clerk, useAuth vue, clerk composables,\n  vue router clerk guard, pinia auth clerk. For Nuxt, use clerk-nuxt-patterns instead.'\nlicense: MIT\nallowed-tools: WebFetch\nmetadata:\n  author: clerk\n  version: 1.0.0\n---\n\n# Vue Patterns\n\nSDK: `@clerk\u002Fvue` v2+ (Vue 3). For Nuxt, use `clerk-nuxt-patterns`.\n\n## What Do You Need?\n\n| Task | Reference |\n|------|-----------|\n| Composables: useAuth, useUser, useOrganization | references\u002Fcomposables.md |\n| Vue Router navigation guards | references\u002Fvue-router-guards.md |\n| Pinia store with auth state | references\u002Fpinia-integration.md |\n\n## Mental Model\n\nVue uses composables from `@clerk\u002Fvue`:\n\n- **`useAuth()`** — reactive `isSignedIn`, `userId`, `signOut`\n- **`useUser()`** — reactive `user` object\n- **`useClerk()`** — full Clerk instance for advanced operations\n- **`useOrganization()`** — reactive `organization`, `membership`\n\n## Setup\n\n### Vue (Plain)\n\n```ts\n\u002F\u002F main.ts\nimport { clerkPlugin } from '@clerk\u002Fvue'\nimport { createApp } from 'vue'\nimport App from '.\u002FApp.vue'\n\nconst app = createApp(App)\napp.use(clerkPlugin, {\n  publishableKey: import.meta.env.VITE_CLERK_PUBLISHABLE_KEY,\n})\napp.mount('#app')\n```\n\n## Composables Usage\n\n```vue\n\u003Cscript setup lang=\"ts\">\nimport { useAuth, useUser } from '@clerk\u002Fvue'\n\nconst { isSignedIn, userId, signOut } = useAuth()\nconst { user } = useUser()\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cdiv v-if=\"isSignedIn\">\n    \u003Cp>Hello {{ user?.firstName }}\u003C\u002Fp>\n    \u003Cbutton @click=\"signOut()\">Sign Out\u003C\u002Fbutton>\n  \u003C\u002Fdiv>\n  \u003CSignInButton v-else \u002F>\n\u003C\u002Ftemplate>\n```\n\n## Org Switching\n\n```vue\n\u003Cscript setup lang=\"ts\">\nimport { useOrganizationList } from '@clerk\u002Fvue'\n\nconst { userMemberships, setActive } = useOrganizationList()\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cbutton\n    v-for=\"mem in userMemberships.data ?? []\"\n    :key=\"mem.organization.id\"\n    @click=\"setActive({ organization: mem.organization.id })\"\n  >\n    {{ mem.organization.name }}\n  \u003C\u002Fbutton>\n\u003C\u002Ftemplate>\n```\n\n## Common Pitfalls\n\n| Symptom | Cause | Fix |\n|---------|-------|-----|\n| Composables return `undefined` | Not inside `ClerkProvider` tree | Ensure `app.use(clerkPlugin, { publishableKey })` is called |\n| `userId` reactive but not updating | Destructuring loses reactivity | Use `const { userId } = useAuth()` (toRefs-style composable, reactive) |\n## Import Map\n\n| What | Import |\n|------|--------|\n| Composables | `@clerk\u002Fvue` |\n| Plugin setup | `@clerk\u002Fvue` |\n| Components | `@clerk\u002Fvue` |\n\n## See Also\n\n- `clerk-setup` - Initial Clerk install\n- `clerk-custom-ui` - Custom flows & appearance\n- `clerk-orgs` - B2B organizations\n\n## Docs\n\n- [Vue SDK](https:\u002F\u002Fclerk.com\u002Fdocs\u002Fvue\u002Fgetting-started\u002Fquickstart)\n",{"data":38,"body":42},{"name":4,"description":6,"license":29,"allowed-tools":39,"metadata":40},"WebFetch",{"author":8,"version":41},"1.0.0",{"type":43,"children":44},"root",[45,54,77,84,151,157,169,271,277,284,599,605,1017,1023,1325,1331,1429,1435,1505,1511,1547,1553,1568],{"type":46,"tag":47,"props":48,"children":50},"element","h1",{"id":49},"vue-patterns",[51],{"type":52,"value":53},"text","Vue Patterns",{"type":46,"tag":55,"props":56,"children":57},"p",{},[58,60,67,69,75],{"type":52,"value":59},"SDK: ",{"type":46,"tag":61,"props":62,"children":64},"code",{"className":63},[],[65],{"type":52,"value":66},"@clerk\u002Fvue",{"type":52,"value":68}," v2+ (Vue 3). For Nuxt, use ",{"type":46,"tag":61,"props":70,"children":72},{"className":71},[],[73],{"type":52,"value":74},"clerk-nuxt-patterns",{"type":52,"value":76},".",{"type":46,"tag":78,"props":79,"children":81},"h2",{"id":80},"what-do-you-need",[82],{"type":52,"value":83},"What Do You Need?",{"type":46,"tag":85,"props":86,"children":87},"table",{},[88,107],{"type":46,"tag":89,"props":90,"children":91},"thead",{},[92],{"type":46,"tag":93,"props":94,"children":95},"tr",{},[96,102],{"type":46,"tag":97,"props":98,"children":99},"th",{},[100],{"type":52,"value":101},"Task",{"type":46,"tag":97,"props":103,"children":104},{},[105],{"type":52,"value":106},"Reference",{"type":46,"tag":108,"props":109,"children":110},"tbody",{},[111,125,138],{"type":46,"tag":93,"props":112,"children":113},{},[114,120],{"type":46,"tag":115,"props":116,"children":117},"td",{},[118],{"type":52,"value":119},"Composables: useAuth, useUser, useOrganization",{"type":46,"tag":115,"props":121,"children":122},{},[123],{"type":52,"value":124},"references\u002Fcomposables.md",{"type":46,"tag":93,"props":126,"children":127},{},[128,133],{"type":46,"tag":115,"props":129,"children":130},{},[131],{"type":52,"value":132},"Vue Router navigation guards",{"type":46,"tag":115,"props":134,"children":135},{},[136],{"type":52,"value":137},"references\u002Fvue-router-guards.md",{"type":46,"tag":93,"props":139,"children":140},{},[141,146],{"type":46,"tag":115,"props":142,"children":143},{},[144],{"type":52,"value":145},"Pinia store with auth state",{"type":46,"tag":115,"props":147,"children":148},{},[149],{"type":52,"value":150},"references\u002Fpinia-integration.md",{"type":46,"tag":78,"props":152,"children":154},{"id":153},"mental-model",[155],{"type":52,"value":156},"Mental Model",{"type":46,"tag":55,"props":158,"children":159},{},[160,162,167],{"type":52,"value":161},"Vue uses composables from ",{"type":46,"tag":61,"props":163,"children":165},{"className":164},[],[166],{"type":52,"value":66},{"type":52,"value":168},":",{"type":46,"tag":170,"props":171,"children":172},"ul",{},[173,210,231,245],{"type":46,"tag":174,"props":175,"children":176},"li",{},[177,187,189,195,197,203,204],{"type":46,"tag":178,"props":179,"children":180},"strong",{},[181],{"type":46,"tag":61,"props":182,"children":184},{"className":183},[],[185],{"type":52,"value":186},"useAuth()",{"type":52,"value":188}," — reactive ",{"type":46,"tag":61,"props":190,"children":192},{"className":191},[],[193],{"type":52,"value":194},"isSignedIn",{"type":52,"value":196},", ",{"type":46,"tag":61,"props":198,"children":200},{"className":199},[],[201],{"type":52,"value":202},"userId",{"type":52,"value":196},{"type":46,"tag":61,"props":205,"children":207},{"className":206},[],[208],{"type":52,"value":209},"signOut",{"type":46,"tag":174,"props":211,"children":212},{},[213,222,223,229],{"type":46,"tag":178,"props":214,"children":215},{},[216],{"type":46,"tag":61,"props":217,"children":219},{"className":218},[],[220],{"type":52,"value":221},"useUser()",{"type":52,"value":188},{"type":46,"tag":61,"props":224,"children":226},{"className":225},[],[227],{"type":52,"value":228},"user",{"type":52,"value":230}," object",{"type":46,"tag":174,"props":232,"children":233},{},[234,243],{"type":46,"tag":178,"props":235,"children":236},{},[237],{"type":46,"tag":61,"props":238,"children":240},{"className":239},[],[241],{"type":52,"value":242},"useClerk()",{"type":52,"value":244}," — full Clerk instance for advanced operations",{"type":46,"tag":174,"props":246,"children":247},{},[248,257,258,264,265],{"type":46,"tag":178,"props":249,"children":250},{},[251],{"type":46,"tag":61,"props":252,"children":254},{"className":253},[],[255],{"type":52,"value":256},"useOrganization()",{"type":52,"value":188},{"type":46,"tag":61,"props":259,"children":261},{"className":260},[],[262],{"type":52,"value":263},"organization",{"type":52,"value":196},{"type":46,"tag":61,"props":266,"children":268},{"className":267},[],[269],{"type":52,"value":270},"membership",{"type":46,"tag":78,"props":272,"children":274},{"id":273},"setup",[275],{"type":52,"value":276},"Setup",{"type":46,"tag":278,"props":279,"children":281},"h3",{"id":280},"vue-plain",[282],{"type":52,"value":283},"Vue (Plain)",{"type":46,"tag":285,"props":286,"children":291},"pre",{"className":287,"code":288,"language":289,"meta":290,"style":290},"language-ts shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u002F\u002F main.ts\nimport { clerkPlugin } from '@clerk\u002Fvue'\nimport { createApp } from 'vue'\nimport App from '.\u002FApp.vue'\n\nconst app = createApp(App)\napp.use(clerkPlugin, {\n  publishableKey: import.meta.env.VITE_CLERK_PUBLISHABLE_KEY,\n})\napp.mount('#app')\n","ts","",[292],{"type":46,"tag":61,"props":293,"children":294},{"__ignoreMap":290},[295,307,354,391,421,431,461,494,545,559],{"type":46,"tag":296,"props":297,"children":300},"span",{"class":298,"line":299},"line",1,[301],{"type":46,"tag":296,"props":302,"children":304},{"style":303},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[305],{"type":52,"value":306},"\u002F\u002F main.ts\n",{"type":46,"tag":296,"props":308,"children":310},{"class":298,"line":309},2,[311,317,323,329,334,339,344,349],{"type":46,"tag":296,"props":312,"children":314},{"style":313},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[315],{"type":52,"value":316},"import",{"type":46,"tag":296,"props":318,"children":320},{"style":319},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[321],{"type":52,"value":322}," {",{"type":46,"tag":296,"props":324,"children":326},{"style":325},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[327],{"type":52,"value":328}," clerkPlugin",{"type":46,"tag":296,"props":330,"children":331},{"style":319},[332],{"type":52,"value":333}," }",{"type":46,"tag":296,"props":335,"children":336},{"style":313},[337],{"type":52,"value":338}," from",{"type":46,"tag":296,"props":340,"children":341},{"style":319},[342],{"type":52,"value":343}," '",{"type":46,"tag":296,"props":345,"children":347},{"style":346},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[348],{"type":52,"value":66},{"type":46,"tag":296,"props":350,"children":351},{"style":319},[352],{"type":52,"value":353},"'\n",{"type":46,"tag":296,"props":355,"children":357},{"class":298,"line":356},3,[358,362,366,371,375,379,383,387],{"type":46,"tag":296,"props":359,"children":360},{"style":313},[361],{"type":52,"value":316},{"type":46,"tag":296,"props":363,"children":364},{"style":319},[365],{"type":52,"value":322},{"type":46,"tag":296,"props":367,"children":368},{"style":325},[369],{"type":52,"value":370}," createApp",{"type":46,"tag":296,"props":372,"children":373},{"style":319},[374],{"type":52,"value":333},{"type":46,"tag":296,"props":376,"children":377},{"style":313},[378],{"type":52,"value":338},{"type":46,"tag":296,"props":380,"children":381},{"style":319},[382],{"type":52,"value":343},{"type":46,"tag":296,"props":384,"children":385},{"style":346},[386],{"type":52,"value":16},{"type":46,"tag":296,"props":388,"children":389},{"style":319},[390],{"type":52,"value":353},{"type":46,"tag":296,"props":392,"children":393},{"class":298,"line":30},[394,398,403,408,412,417],{"type":46,"tag":296,"props":395,"children":396},{"style":313},[397],{"type":52,"value":316},{"type":46,"tag":296,"props":399,"children":400},{"style":325},[401],{"type":52,"value":402}," App ",{"type":46,"tag":296,"props":404,"children":405},{"style":313},[406],{"type":52,"value":407},"from",{"type":46,"tag":296,"props":409,"children":410},{"style":319},[411],{"type":52,"value":343},{"type":46,"tag":296,"props":413,"children":414},{"style":346},[415],{"type":52,"value":416},".\u002FApp.vue",{"type":46,"tag":296,"props":418,"children":419},{"style":319},[420],{"type":52,"value":353},{"type":46,"tag":296,"props":422,"children":424},{"class":298,"line":423},5,[425],{"type":46,"tag":296,"props":426,"children":428},{"emptyLinePlaceholder":427},true,[429],{"type":52,"value":430},"\n",{"type":46,"tag":296,"props":432,"children":434},{"class":298,"line":433},6,[435,441,446,451,456],{"type":46,"tag":296,"props":436,"children":438},{"style":437},"--shiki-light:#9C3EDA;--shiki-default:#C792EA;--shiki-dark:#C792EA",[439],{"type":52,"value":440},"const",{"type":46,"tag":296,"props":442,"children":443},{"style":325},[444],{"type":52,"value":445}," app ",{"type":46,"tag":296,"props":447,"children":448},{"style":319},[449],{"type":52,"value":450},"=",{"type":46,"tag":296,"props":452,"children":454},{"style":453},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[455],{"type":52,"value":370},{"type":46,"tag":296,"props":457,"children":458},{"style":325},[459],{"type":52,"value":460},"(App)\n",{"type":46,"tag":296,"props":462,"children":464},{"class":298,"line":463},7,[465,470,474,479,484,489],{"type":46,"tag":296,"props":466,"children":467},{"style":325},[468],{"type":52,"value":469},"app",{"type":46,"tag":296,"props":471,"children":472},{"style":319},[473],{"type":52,"value":76},{"type":46,"tag":296,"props":475,"children":476},{"style":453},[477],{"type":52,"value":478},"use",{"type":46,"tag":296,"props":480,"children":481},{"style":325},[482],{"type":52,"value":483},"(clerkPlugin",{"type":46,"tag":296,"props":485,"children":486},{"style":319},[487],{"type":52,"value":488},",",{"type":46,"tag":296,"props":490,"children":491},{"style":319},[492],{"type":52,"value":493}," {\n",{"type":46,"tag":296,"props":495,"children":497},{"class":298,"line":496},8,[498,504,508,513,517,522,526,531,535,540],{"type":46,"tag":296,"props":499,"children":501},{"style":500},"--shiki-light:#E53935;--shiki-default:#F07178;--shiki-dark:#F07178",[502],{"type":52,"value":503},"  publishableKey",{"type":46,"tag":296,"props":505,"children":506},{"style":319},[507],{"type":52,"value":168},{"type":46,"tag":296,"props":509,"children":510},{"style":313},[511],{"type":52,"value":512}," import",{"type":46,"tag":296,"props":514,"children":515},{"style":319},[516],{"type":52,"value":76},{"type":46,"tag":296,"props":518,"children":519},{"style":325},[520],{"type":52,"value":521},"meta",{"type":46,"tag":296,"props":523,"children":524},{"style":319},[525],{"type":52,"value":76},{"type":46,"tag":296,"props":527,"children":528},{"style":325},[529],{"type":52,"value":530},"env",{"type":46,"tag":296,"props":532,"children":533},{"style":319},[534],{"type":52,"value":76},{"type":46,"tag":296,"props":536,"children":537},{"style":325},[538],{"type":52,"value":539},"VITE_CLERK_PUBLISHABLE_KEY",{"type":46,"tag":296,"props":541,"children":542},{"style":319},[543],{"type":52,"value":544},",\n",{"type":46,"tag":296,"props":546,"children":548},{"class":298,"line":547},9,[549,554],{"type":46,"tag":296,"props":550,"children":551},{"style":319},[552],{"type":52,"value":553},"}",{"type":46,"tag":296,"props":555,"children":556},{"style":325},[557],{"type":52,"value":558},")\n",{"type":46,"tag":296,"props":560,"children":562},{"class":298,"line":561},10,[563,567,571,576,581,586,591,595],{"type":46,"tag":296,"props":564,"children":565},{"style":325},[566],{"type":52,"value":469},{"type":46,"tag":296,"props":568,"children":569},{"style":319},[570],{"type":52,"value":76},{"type":46,"tag":296,"props":572,"children":573},{"style":453},[574],{"type":52,"value":575},"mount",{"type":46,"tag":296,"props":577,"children":578},{"style":325},[579],{"type":52,"value":580},"(",{"type":46,"tag":296,"props":582,"children":583},{"style":319},[584],{"type":52,"value":585},"'",{"type":46,"tag":296,"props":587,"children":588},{"style":346},[589],{"type":52,"value":590},"#app",{"type":46,"tag":296,"props":592,"children":593},{"style":319},[594],{"type":52,"value":585},{"type":46,"tag":296,"props":596,"children":597},{"style":325},[598],{"type":52,"value":558},{"type":46,"tag":78,"props":600,"children":602},{"id":601},"composables-usage",[603],{"type":52,"value":604},"Composables Usage",{"type":46,"tag":285,"props":606,"children":609},{"className":607,"code":608,"language":16,"meta":290,"style":290},"language-vue shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","\u003Cscript setup lang=\"ts\">\nimport { useAuth, useUser } from '@clerk\u002Fvue'\n\nconst { isSignedIn, userId, signOut } = useAuth()\nconst { user } = useUser()\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cdiv v-if=\"isSignedIn\">\n    \u003Cp>Hello {{ user?.firstName }}\u003C\u002Fp>\n    \u003Cbutton @click=\"signOut()\">Sign Out\u003C\u002Fbutton>\n  \u003C\u002Fdiv>\n  \u003CSignInButton v-else \u002F>\n\u003C\u002Ftemplate>\n",[610],{"type":46,"tag":61,"props":611,"children":612},{"__ignoreMap":290},[613,658,703,710,762,794,810,817,833,871,905,961,978,1001],{"type":46,"tag":296,"props":614,"children":615},{"class":298,"line":299},[616,621,626,631,636,640,645,649,653],{"type":46,"tag":296,"props":617,"children":618},{"style":319},[619],{"type":52,"value":620},"\u003C",{"type":46,"tag":296,"props":622,"children":623},{"style":500},[624],{"type":52,"value":625},"script",{"type":46,"tag":296,"props":627,"children":628},{"style":437},[629],{"type":52,"value":630}," setup",{"type":46,"tag":296,"props":632,"children":633},{"style":437},[634],{"type":52,"value":635}," lang",{"type":46,"tag":296,"props":637,"children":638},{"style":319},[639],{"type":52,"value":450},{"type":46,"tag":296,"props":641,"children":642},{"style":319},[643],{"type":52,"value":644},"\"",{"type":46,"tag":296,"props":646,"children":647},{"style":346},[648],{"type":52,"value":289},{"type":46,"tag":296,"props":650,"children":651},{"style":319},[652],{"type":52,"value":644},{"type":46,"tag":296,"props":654,"children":655},{"style":319},[656],{"type":52,"value":657},">\n",{"type":46,"tag":296,"props":659,"children":660},{"class":298,"line":309},[661,665,669,674,678,683,687,691,695,699],{"type":46,"tag":296,"props":662,"children":663},{"style":313},[664],{"type":52,"value":316},{"type":46,"tag":296,"props":666,"children":667},{"style":319},[668],{"type":52,"value":322},{"type":46,"tag":296,"props":670,"children":671},{"style":325},[672],{"type":52,"value":673}," useAuth",{"type":46,"tag":296,"props":675,"children":676},{"style":319},[677],{"type":52,"value":488},{"type":46,"tag":296,"props":679,"children":680},{"style":325},[681],{"type":52,"value":682}," useUser",{"type":46,"tag":296,"props":684,"children":685},{"style":319},[686],{"type":52,"value":333},{"type":46,"tag":296,"props":688,"children":689},{"style":313},[690],{"type":52,"value":338},{"type":46,"tag":296,"props":692,"children":693},{"style":319},[694],{"type":52,"value":343},{"type":46,"tag":296,"props":696,"children":697},{"style":346},[698],{"type":52,"value":66},{"type":46,"tag":296,"props":700,"children":701},{"style":319},[702],{"type":52,"value":353},{"type":46,"tag":296,"props":704,"children":705},{"class":298,"line":356},[706],{"type":46,"tag":296,"props":707,"children":708},{"emptyLinePlaceholder":427},[709],{"type":52,"value":430},{"type":46,"tag":296,"props":711,"children":712},{"class":298,"line":30},[713,717,721,726,730,735,739,744,748,753,757],{"type":46,"tag":296,"props":714,"children":715},{"style":437},[716],{"type":52,"value":440},{"type":46,"tag":296,"props":718,"children":719},{"style":319},[720],{"type":52,"value":322},{"type":46,"tag":296,"props":722,"children":723},{"style":325},[724],{"type":52,"value":725}," isSignedIn",{"type":46,"tag":296,"props":727,"children":728},{"style":319},[729],{"type":52,"value":488},{"type":46,"tag":296,"props":731,"children":732},{"style":325},[733],{"type":52,"value":734}," userId",{"type":46,"tag":296,"props":736,"children":737},{"style":319},[738],{"type":52,"value":488},{"type":46,"tag":296,"props":740,"children":741},{"style":325},[742],{"type":52,"value":743}," signOut ",{"type":46,"tag":296,"props":745,"children":746},{"style":319},[747],{"type":52,"value":553},{"type":46,"tag":296,"props":749,"children":750},{"style":319},[751],{"type":52,"value":752}," =",{"type":46,"tag":296,"props":754,"children":755},{"style":453},[756],{"type":52,"value":673},{"type":46,"tag":296,"props":758,"children":759},{"style":325},[760],{"type":52,"value":761},"()\n",{"type":46,"tag":296,"props":763,"children":764},{"class":298,"line":423},[765,769,773,778,782,786,790],{"type":46,"tag":296,"props":766,"children":767},{"style":437},[768],{"type":52,"value":440},{"type":46,"tag":296,"props":770,"children":771},{"style":319},[772],{"type":52,"value":322},{"type":46,"tag":296,"props":774,"children":775},{"style":325},[776],{"type":52,"value":777}," user ",{"type":46,"tag":296,"props":779,"children":780},{"style":319},[781],{"type":52,"value":553},{"type":46,"tag":296,"props":783,"children":784},{"style":319},[785],{"type":52,"value":752},{"type":46,"tag":296,"props":787,"children":788},{"style":453},[789],{"type":52,"value":682},{"type":46,"tag":296,"props":791,"children":792},{"style":325},[793],{"type":52,"value":761},{"type":46,"tag":296,"props":795,"children":796},{"class":298,"line":433},[797,802,806],{"type":46,"tag":296,"props":798,"children":799},{"style":319},[800],{"type":52,"value":801},"\u003C\u002F",{"type":46,"tag":296,"props":803,"children":804},{"style":500},[805],{"type":52,"value":625},{"type":46,"tag":296,"props":807,"children":808},{"style":319},[809],{"type":52,"value":657},{"type":46,"tag":296,"props":811,"children":812},{"class":298,"line":463},[813],{"type":46,"tag":296,"props":814,"children":815},{"emptyLinePlaceholder":427},[816],{"type":52,"value":430},{"type":46,"tag":296,"props":818,"children":819},{"class":298,"line":496},[820,824,829],{"type":46,"tag":296,"props":821,"children":822},{"style":319},[823],{"type":52,"value":620},{"type":46,"tag":296,"props":825,"children":826},{"style":500},[827],{"type":52,"value":828},"template",{"type":46,"tag":296,"props":830,"children":831},{"style":319},[832],{"type":52,"value":657},{"type":46,"tag":296,"props":834,"children":835},{"class":298,"line":547},[836,841,846,851,855,859,863,867],{"type":46,"tag":296,"props":837,"children":838},{"style":319},[839],{"type":52,"value":840},"  \u003C",{"type":46,"tag":296,"props":842,"children":843},{"style":500},[844],{"type":52,"value":845},"div",{"type":46,"tag":296,"props":847,"children":848},{"style":437},[849],{"type":52,"value":850}," v-if",{"type":46,"tag":296,"props":852,"children":853},{"style":319},[854],{"type":52,"value":450},{"type":46,"tag":296,"props":856,"children":857},{"style":319},[858],{"type":52,"value":644},{"type":46,"tag":296,"props":860,"children":861},{"style":346},[862],{"type":52,"value":194},{"type":46,"tag":296,"props":864,"children":865},{"style":319},[866],{"type":52,"value":644},{"type":46,"tag":296,"props":868,"children":869},{"style":319},[870],{"type":52,"value":657},{"type":46,"tag":296,"props":872,"children":873},{"class":298,"line":561},[874,879,883,888,893,897,901],{"type":46,"tag":296,"props":875,"children":876},{"style":319},[877],{"type":52,"value":878},"    \u003C",{"type":46,"tag":296,"props":880,"children":881},{"style":500},[882],{"type":52,"value":55},{"type":46,"tag":296,"props":884,"children":885},{"style":319},[886],{"type":52,"value":887},">",{"type":46,"tag":296,"props":889,"children":890},{"style":325},[891],{"type":52,"value":892},"Hello {{ user?.firstName }}",{"type":46,"tag":296,"props":894,"children":895},{"style":319},[896],{"type":52,"value":801},{"type":46,"tag":296,"props":898,"children":899},{"style":500},[900],{"type":52,"value":55},{"type":46,"tag":296,"props":902,"children":903},{"style":319},[904],{"type":52,"value":657},{"type":46,"tag":296,"props":906,"children":908},{"class":298,"line":907},11,[909,913,918,923,927,931,936,940,944,949,953,957],{"type":46,"tag":296,"props":910,"children":911},{"style":319},[912],{"type":52,"value":878},{"type":46,"tag":296,"props":914,"children":915},{"style":500},[916],{"type":52,"value":917},"button",{"type":46,"tag":296,"props":919,"children":920},{"style":437},[921],{"type":52,"value":922}," @click",{"type":46,"tag":296,"props":924,"children":925},{"style":319},[926],{"type":52,"value":450},{"type":46,"tag":296,"props":928,"children":929},{"style":319},[930],{"type":52,"value":644},{"type":46,"tag":296,"props":932,"children":933},{"style":346},[934],{"type":52,"value":935},"signOut()",{"type":46,"tag":296,"props":937,"children":938},{"style":319},[939],{"type":52,"value":644},{"type":46,"tag":296,"props":941,"children":942},{"style":319},[943],{"type":52,"value":887},{"type":46,"tag":296,"props":945,"children":946},{"style":325},[947],{"type":52,"value":948},"Sign Out",{"type":46,"tag":296,"props":950,"children":951},{"style":319},[952],{"type":52,"value":801},{"type":46,"tag":296,"props":954,"children":955},{"style":500},[956],{"type":52,"value":917},{"type":46,"tag":296,"props":958,"children":959},{"style":319},[960],{"type":52,"value":657},{"type":46,"tag":296,"props":962,"children":964},{"class":298,"line":963},12,[965,970,974],{"type":46,"tag":296,"props":966,"children":967},{"style":319},[968],{"type":52,"value":969},"  \u003C\u002F",{"type":46,"tag":296,"props":971,"children":972},{"style":500},[973],{"type":52,"value":845},{"type":46,"tag":296,"props":975,"children":976},{"style":319},[977],{"type":52,"value":657},{"type":46,"tag":296,"props":979,"children":981},{"class":298,"line":980},13,[982,986,991,996],{"type":46,"tag":296,"props":983,"children":984},{"style":319},[985],{"type":52,"value":840},{"type":46,"tag":296,"props":987,"children":988},{"style":500},[989],{"type":52,"value":990},"SignInButton",{"type":46,"tag":296,"props":992,"children":993},{"style":437},[994],{"type":52,"value":995}," v-else",{"type":46,"tag":296,"props":997,"children":998},{"style":319},[999],{"type":52,"value":1000}," \u002F>\n",{"type":46,"tag":296,"props":1002,"children":1004},{"class":298,"line":1003},14,[1005,1009,1013],{"type":46,"tag":296,"props":1006,"children":1007},{"style":319},[1008],{"type":52,"value":801},{"type":46,"tag":296,"props":1010,"children":1011},{"style":500},[1012],{"type":52,"value":828},{"type":46,"tag":296,"props":1014,"children":1015},{"style":319},[1016],{"type":52,"value":657},{"type":46,"tag":78,"props":1018,"children":1020},{"id":1019},"org-switching",[1021],{"type":52,"value":1022},"Org Switching",{"type":46,"tag":285,"props":1024,"children":1026},{"className":607,"code":1025,"language":16,"meta":290,"style":290},"\u003Cscript setup lang=\"ts\">\nimport { useOrganizationList } from '@clerk\u002Fvue'\n\nconst { userMemberships, setActive } = useOrganizationList()\n\u003C\u002Fscript>\n\n\u003Ctemplate>\n  \u003Cbutton\n    v-for=\"mem in userMemberships.data ?? []\"\n    :key=\"mem.organization.id\"\n    @click=\"setActive({ organization: mem.organization.id })\"\n  >\n    {{ mem.organization.name }}\n  \u003C\u002Fbutton>\n\u003C\u002Ftemplate>\n",[1027],{"type":46,"tag":61,"props":1028,"children":1029},{"__ignoreMap":290},[1030,1069,1105,1112,1153,1168,1175,1190,1202,1228,1253,1278,1286,1294,1309],{"type":46,"tag":296,"props":1031,"children":1032},{"class":298,"line":299},[1033,1037,1041,1045,1049,1053,1057,1061,1065],{"type":46,"tag":296,"props":1034,"children":1035},{"style":319},[1036],{"type":52,"value":620},{"type":46,"tag":296,"props":1038,"children":1039},{"style":500},[1040],{"type":52,"value":625},{"type":46,"tag":296,"props":1042,"children":1043},{"style":437},[1044],{"type":52,"value":630},{"type":46,"tag":296,"props":1046,"children":1047},{"style":437},[1048],{"type":52,"value":635},{"type":46,"tag":296,"props":1050,"children":1051},{"style":319},[1052],{"type":52,"value":450},{"type":46,"tag":296,"props":1054,"children":1055},{"style":319},[1056],{"type":52,"value":644},{"type":46,"tag":296,"props":1058,"children":1059},{"style":346},[1060],{"type":52,"value":289},{"type":46,"tag":296,"props":1062,"children":1063},{"style":319},[1064],{"type":52,"value":644},{"type":46,"tag":296,"props":1066,"children":1067},{"style":319},[1068],{"type":52,"value":657},{"type":46,"tag":296,"props":1070,"children":1071},{"class":298,"line":309},[1072,1076,1080,1085,1089,1093,1097,1101],{"type":46,"tag":296,"props":1073,"children":1074},{"style":313},[1075],{"type":52,"value":316},{"type":46,"tag":296,"props":1077,"children":1078},{"style":319},[1079],{"type":52,"value":322},{"type":46,"tag":296,"props":1081,"children":1082},{"style":325},[1083],{"type":52,"value":1084}," useOrganizationList",{"type":46,"tag":296,"props":1086,"children":1087},{"style":319},[1088],{"type":52,"value":333},{"type":46,"tag":296,"props":1090,"children":1091},{"style":313},[1092],{"type":52,"value":338},{"type":46,"tag":296,"props":1094,"children":1095},{"style":319},[1096],{"type":52,"value":343},{"type":46,"tag":296,"props":1098,"children":1099},{"style":346},[1100],{"type":52,"value":66},{"type":46,"tag":296,"props":1102,"children":1103},{"style":319},[1104],{"type":52,"value":353},{"type":46,"tag":296,"props":1106,"children":1107},{"class":298,"line":356},[1108],{"type":46,"tag":296,"props":1109,"children":1110},{"emptyLinePlaceholder":427},[1111],{"type":52,"value":430},{"type":46,"tag":296,"props":1113,"children":1114},{"class":298,"line":30},[1115,1119,1123,1128,1132,1137,1141,1145,1149],{"type":46,"tag":296,"props":1116,"children":1117},{"style":437},[1118],{"type":52,"value":440},{"type":46,"tag":296,"props":1120,"children":1121},{"style":319},[1122],{"type":52,"value":322},{"type":46,"tag":296,"props":1124,"children":1125},{"style":325},[1126],{"type":52,"value":1127}," userMemberships",{"type":46,"tag":296,"props":1129,"children":1130},{"style":319},[1131],{"type":52,"value":488},{"type":46,"tag":296,"props":1133,"children":1134},{"style":325},[1135],{"type":52,"value":1136}," setActive ",{"type":46,"tag":296,"props":1138,"children":1139},{"style":319},[1140],{"type":52,"value":553},{"type":46,"tag":296,"props":1142,"children":1143},{"style":319},[1144],{"type":52,"value":752},{"type":46,"tag":296,"props":1146,"children":1147},{"style":453},[1148],{"type":52,"value":1084},{"type":46,"tag":296,"props":1150,"children":1151},{"style":325},[1152],{"type":52,"value":761},{"type":46,"tag":296,"props":1154,"children":1155},{"class":298,"line":423},[1156,1160,1164],{"type":46,"tag":296,"props":1157,"children":1158},{"style":319},[1159],{"type":52,"value":801},{"type":46,"tag":296,"props":1161,"children":1162},{"style":500},[1163],{"type":52,"value":625},{"type":46,"tag":296,"props":1165,"children":1166},{"style":319},[1167],{"type":52,"value":657},{"type":46,"tag":296,"props":1169,"children":1170},{"class":298,"line":433},[1171],{"type":46,"tag":296,"props":1172,"children":1173},{"emptyLinePlaceholder":427},[1174],{"type":52,"value":430},{"type":46,"tag":296,"props":1176,"children":1177},{"class":298,"line":463},[1178,1182,1186],{"type":46,"tag":296,"props":1179,"children":1180},{"style":319},[1181],{"type":52,"value":620},{"type":46,"tag":296,"props":1183,"children":1184},{"style":500},[1185],{"type":52,"value":828},{"type":46,"tag":296,"props":1187,"children":1188},{"style":319},[1189],{"type":52,"value":657},{"type":46,"tag":296,"props":1191,"children":1192},{"class":298,"line":496},[1193,1197],{"type":46,"tag":296,"props":1194,"children":1195},{"style":319},[1196],{"type":52,"value":840},{"type":46,"tag":296,"props":1198,"children":1199},{"style":500},[1200],{"type":52,"value":1201},"button\n",{"type":46,"tag":296,"props":1203,"children":1204},{"class":298,"line":547},[1205,1210,1214,1218,1223],{"type":46,"tag":296,"props":1206,"children":1207},{"style":437},[1208],{"type":52,"value":1209},"    v-for",{"type":46,"tag":296,"props":1211,"children":1212},{"style":319},[1213],{"type":52,"value":450},{"type":46,"tag":296,"props":1215,"children":1216},{"style":319},[1217],{"type":52,"value":644},{"type":46,"tag":296,"props":1219,"children":1220},{"style":346},[1221],{"type":52,"value":1222},"mem in userMemberships.data ?? []",{"type":46,"tag":296,"props":1224,"children":1225},{"style":319},[1226],{"type":52,"value":1227},"\"\n",{"type":46,"tag":296,"props":1229,"children":1230},{"class":298,"line":561},[1231,1236,1240,1244,1249],{"type":46,"tag":296,"props":1232,"children":1233},{"style":437},[1234],{"type":52,"value":1235},"    :key",{"type":46,"tag":296,"props":1237,"children":1238},{"style":319},[1239],{"type":52,"value":450},{"type":46,"tag":296,"props":1241,"children":1242},{"style":319},[1243],{"type":52,"value":644},{"type":46,"tag":296,"props":1245,"children":1246},{"style":346},[1247],{"type":52,"value":1248},"mem.organization.id",{"type":46,"tag":296,"props":1250,"children":1251},{"style":319},[1252],{"type":52,"value":1227},{"type":46,"tag":296,"props":1254,"children":1255},{"class":298,"line":907},[1256,1261,1265,1269,1274],{"type":46,"tag":296,"props":1257,"children":1258},{"style":437},[1259],{"type":52,"value":1260},"    @click",{"type":46,"tag":296,"props":1262,"children":1263},{"style":319},[1264],{"type":52,"value":450},{"type":46,"tag":296,"props":1266,"children":1267},{"style":319},[1268],{"type":52,"value":644},{"type":46,"tag":296,"props":1270,"children":1271},{"style":346},[1272],{"type":52,"value":1273},"setActive({ organization: mem.organization.id })",{"type":46,"tag":296,"props":1275,"children":1276},{"style":319},[1277],{"type":52,"value":1227},{"type":46,"tag":296,"props":1279,"children":1280},{"class":298,"line":963},[1281],{"type":46,"tag":296,"props":1282,"children":1283},{"style":319},[1284],{"type":52,"value":1285},"  >\n",{"type":46,"tag":296,"props":1287,"children":1288},{"class":298,"line":980},[1289],{"type":46,"tag":296,"props":1290,"children":1291},{"style":325},[1292],{"type":52,"value":1293},"    {{ mem.organization.name }}\n",{"type":46,"tag":296,"props":1295,"children":1296},{"class":298,"line":1003},[1297,1301,1305],{"type":46,"tag":296,"props":1298,"children":1299},{"style":319},[1300],{"type":52,"value":969},{"type":46,"tag":296,"props":1302,"children":1303},{"style":500},[1304],{"type":52,"value":917},{"type":46,"tag":296,"props":1306,"children":1307},{"style":319},[1308],{"type":52,"value":657},{"type":46,"tag":296,"props":1310,"children":1312},{"class":298,"line":1311},15,[1313,1317,1321],{"type":46,"tag":296,"props":1314,"children":1315},{"style":319},[1316],{"type":52,"value":801},{"type":46,"tag":296,"props":1318,"children":1319},{"style":500},[1320],{"type":52,"value":828},{"type":46,"tag":296,"props":1322,"children":1323},{"style":319},[1324],{"type":52,"value":657},{"type":46,"tag":78,"props":1326,"children":1328},{"id":1327},"common-pitfalls",[1329],{"type":52,"value":1330},"Common Pitfalls",{"type":46,"tag":85,"props":1332,"children":1333},{},[1334,1355],{"type":46,"tag":89,"props":1335,"children":1336},{},[1337],{"type":46,"tag":93,"props":1338,"children":1339},{},[1340,1345,1350],{"type":46,"tag":97,"props":1341,"children":1342},{},[1343],{"type":52,"value":1344},"Symptom",{"type":46,"tag":97,"props":1346,"children":1347},{},[1348],{"type":52,"value":1349},"Cause",{"type":46,"tag":97,"props":1351,"children":1352},{},[1353],{"type":52,"value":1354},"Fix",{"type":46,"tag":108,"props":1356,"children":1357},{},[1358,1398],{"type":46,"tag":93,"props":1359,"children":1360},{},[1361,1372,1385],{"type":46,"tag":115,"props":1362,"children":1363},{},[1364,1366],{"type":52,"value":1365},"Composables return ",{"type":46,"tag":61,"props":1367,"children":1369},{"className":1368},[],[1370],{"type":52,"value":1371},"undefined",{"type":46,"tag":115,"props":1373,"children":1374},{},[1375,1377,1383],{"type":52,"value":1376},"Not inside ",{"type":46,"tag":61,"props":1378,"children":1380},{"className":1379},[],[1381],{"type":52,"value":1382},"ClerkProvider",{"type":52,"value":1384}," tree",{"type":46,"tag":115,"props":1386,"children":1387},{},[1388,1390,1396],{"type":52,"value":1389},"Ensure ",{"type":46,"tag":61,"props":1391,"children":1393},{"className":1392},[],[1394],{"type":52,"value":1395},"app.use(clerkPlugin, { publishableKey })",{"type":52,"value":1397}," is called",{"type":46,"tag":93,"props":1399,"children":1400},{},[1401,1411,1416],{"type":46,"tag":115,"props":1402,"children":1403},{},[1404,1409],{"type":46,"tag":61,"props":1405,"children":1407},{"className":1406},[],[1408],{"type":52,"value":202},{"type":52,"value":1410}," reactive but not updating",{"type":46,"tag":115,"props":1412,"children":1413},{},[1414],{"type":52,"value":1415},"Destructuring loses reactivity",{"type":46,"tag":115,"props":1417,"children":1418},{},[1419,1421,1427],{"type":52,"value":1420},"Use ",{"type":46,"tag":61,"props":1422,"children":1424},{"className":1423},[],[1425],{"type":52,"value":1426},"const { userId } = useAuth()",{"type":52,"value":1428}," (toRefs-style composable, reactive)",{"type":46,"tag":78,"props":1430,"children":1432},{"id":1431},"import-map",[1433],{"type":52,"value":1434},"Import Map",{"type":46,"tag":85,"props":1436,"children":1437},{},[1438,1454],{"type":46,"tag":89,"props":1439,"children":1440},{},[1441],{"type":46,"tag":93,"props":1442,"children":1443},{},[1444,1449],{"type":46,"tag":97,"props":1445,"children":1446},{},[1447],{"type":52,"value":1448},"What",{"type":46,"tag":97,"props":1450,"children":1451},{},[1452],{"type":52,"value":1453},"Import",{"type":46,"tag":108,"props":1455,"children":1456},{},[1457,1473,1489],{"type":46,"tag":93,"props":1458,"children":1459},{},[1460,1465],{"type":46,"tag":115,"props":1461,"children":1462},{},[1463],{"type":52,"value":1464},"Composables",{"type":46,"tag":115,"props":1466,"children":1467},{},[1468],{"type":46,"tag":61,"props":1469,"children":1471},{"className":1470},[],[1472],{"type":52,"value":66},{"type":46,"tag":93,"props":1474,"children":1475},{},[1476,1481],{"type":46,"tag":115,"props":1477,"children":1478},{},[1479],{"type":52,"value":1480},"Plugin setup",{"type":46,"tag":115,"props":1482,"children":1483},{},[1484],{"type":46,"tag":61,"props":1485,"children":1487},{"className":1486},[],[1488],{"type":52,"value":66},{"type":46,"tag":93,"props":1490,"children":1491},{},[1492,1497],{"type":46,"tag":115,"props":1493,"children":1494},{},[1495],{"type":52,"value":1496},"Components",{"type":46,"tag":115,"props":1498,"children":1499},{},[1500],{"type":46,"tag":61,"props":1501,"children":1503},{"className":1502},[],[1504],{"type":52,"value":66},{"type":46,"tag":78,"props":1506,"children":1508},{"id":1507},"see-also",[1509],{"type":52,"value":1510},"See Also",{"type":46,"tag":170,"props":1512,"children":1513},{},[1514,1525,1536],{"type":46,"tag":174,"props":1515,"children":1516},{},[1517,1523],{"type":46,"tag":61,"props":1518,"children":1520},{"className":1519},[],[1521],{"type":52,"value":1522},"clerk-setup",{"type":52,"value":1524}," - Initial Clerk install",{"type":46,"tag":174,"props":1526,"children":1527},{},[1528,1534],{"type":46,"tag":61,"props":1529,"children":1531},{"className":1530},[],[1532],{"type":52,"value":1533},"clerk-custom-ui",{"type":52,"value":1535}," - Custom flows & appearance",{"type":46,"tag":174,"props":1537,"children":1538},{},[1539,1545],{"type":46,"tag":61,"props":1540,"children":1542},{"className":1541},[],[1543],{"type":52,"value":1544},"clerk-orgs",{"type":52,"value":1546}," - B2B organizations",{"type":46,"tag":78,"props":1548,"children":1550},{"id":1549},"docs",[1551],{"type":52,"value":1552},"Docs",{"type":46,"tag":170,"props":1554,"children":1555},{},[1556],{"type":46,"tag":174,"props":1557,"children":1558},{},[1559],{"type":46,"tag":1560,"props":1561,"children":1565},"a",{"href":1562,"rel":1563},"https:\u002F\u002Fclerk.com\u002Fdocs\u002Fvue\u002Fgetting-started\u002Fquickstart",[1564],"nofollow",[1566],{"type":52,"value":1567},"Vue SDK",{"type":46,"tag":1569,"props":1570,"children":1571},"style",{},[1572],{"type":52,"value":1573},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":1575,"total":1764},[1576,1590,1605,1621,1639,1655,1673,1690,1705,1722,1737,1750],{"slug":8,"name":8,"fn":1577,"description":1578,"org":1579,"tags":1580,"stars":26,"repoUrl":27,"updatedAt":1589},"route Clerk authentication requests","Clerk authentication router. Use when user asks about Clerk CLI operations, adding authentication, setting up Clerk, custom sign-in flows, Swift or native iOS auth, native Android auth, Next.js patterns, React patterns, Vue patterns, Nuxt patterns, Astro patterns, TanStack Start patterns, Expo patterns, React Router patterns, Chrome Extension patterns, organizations, billing, subscriptions, payments, pricing, plans, seat-based pricing, feature entitlements, syncing users, testing, impersonating a user, or testing webhooks locally. Automatically routes to the specific skill based on their task.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1581,1582,1583,1586],{"name":18,"slug":19,"type":13},{"name":9,"slug":8,"type":13},{"name":1584,"slug":1585,"type":13},"Mobile","mobile",{"name":1587,"slug":1588,"type":13},"Web Development","web-development","2026-07-18T05:12:23.438307",{"slug":1591,"name":1591,"fn":1592,"description":1593,"org":1594,"tags":1595,"stars":26,"repoUrl":27,"updatedAt":1604},"clerk-android","implement Clerk auth for native Android apps","Implement Clerk authentication for native Android apps using Kotlin and Jetpack Compose with clerk-android source-guided patterns. Use for prebuilt AuthView\u002FUserButton or custom API-driven auth flows. Do not use for Expo or React Native projects.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1596,1599,1600,1603],{"name":1597,"slug":1598,"type":13},"Android","android",{"name":9,"slug":8,"type":13},{"name":1601,"slug":1602,"type":13},"Kotlin","kotlin",{"name":1584,"slug":1585,"type":13},"2026-04-10T05:00:18.622871",{"slug":1606,"name":1606,"fn":1607,"description":1608,"org":1609,"tags":1610,"stars":26,"repoUrl":27,"updatedAt":1620},"clerk-astro-patterns","implement Clerk auth in Astro apps","Astro patterns with Clerk — middleware, SSR pages, island components, API routes, static vs SSR rendering. Triggers on: astro clerk, clerk astro middleware, astro protected page, clerk island component, astro API route auth, clerk astro SSR.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1611,1614,1615,1616,1617],{"name":1612,"slug":1613,"type":13},"Astro","astro",{"name":18,"slug":19,"type":13},{"name":9,"slug":8,"type":13},{"name":21,"slug":22,"type":13},{"name":1618,"slug":1619,"type":13},"Serverless","serverless","2026-04-07T04:46:14.731808",{"slug":1622,"name":1622,"fn":1623,"description":1624,"org":1625,"tags":1626,"stars":26,"repoUrl":27,"updatedAt":1638},"clerk-backend-api","execute Clerk Backend API requests","Clerk Backend REST API explorer and executor. Browse tags, inspect endpoint schemas, and execute authenticated requests. Use when listing users, managing organizations, or calling any Clerk API endpoint.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1627,1630,1631,1634,1635],{"name":1628,"slug":1629,"type":13},"API Development","api-development",{"name":18,"slug":19,"type":13},{"name":1632,"slug":1633,"type":13},"Backend","backend",{"name":9,"slug":8,"type":13},{"name":1636,"slug":1637,"type":13},"REST API","rest-api","2026-04-10T05:00:08.728072",{"slug":1640,"name":1640,"fn":1641,"description":1642,"org":1643,"tags":1644,"stars":26,"repoUrl":27,"updatedAt":1654},"clerk-billing","manage subscriptions with Clerk Billing","Clerk Billing for subscription management - render Clerk's PricingTable and in-app checkout drawer, configure subscription plans, seat-limit plans for B2B, feature entitlements with has(), and billing webhooks. Use for SaaS monetization, plan gating, checkout flows, trials, invoicing, and subscription lifecycle management.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1645,1646,1647,1648,1651],{"name":18,"slug":19,"type":13},{"name":9,"slug":8,"type":13},{"name":21,"slug":22,"type":13},{"name":1649,"slug":1650,"type":13},"Payments","payments",{"name":1652,"slug":1653,"type":13},"SaaS","saas","2026-04-29T05:37:27.130955",{"slug":1656,"name":1656,"fn":1657,"description":1658,"org":1659,"tags":1660,"stars":26,"repoUrl":27,"updatedAt":1672},"clerk-chrome-extension-patterns","implement Clerk auth in Chrome Extensions","Chrome Extension auth with @clerk\u002Fchrome-extension -- popup\u002Fsidepanel setup, syncHost for OAuth\u002FSAML via web app, createClerkClient for service workers and headless extensions, stable CRX ID. Triggers on: Chrome extension auth, Plasmo clerk, popup sign-in, syncHost, background service worker token, createClerkClient, headless extension.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1661,1664,1665,1666,1669],{"name":1662,"slug":1663,"type":13},"Auth","auth",{"name":9,"slug":8,"type":13},{"name":21,"slug":22,"type":13},{"name":1667,"slug":1668,"type":13},"OAuth","oauth",{"name":1670,"slug":1671,"type":13},"Security","security","2026-04-07T04:46:08.489328",{"slug":1674,"name":1674,"fn":1675,"description":1676,"org":1677,"tags":1678,"stars":26,"repoUrl":27,"updatedAt":1689},"clerk-cli","manage Clerk authentication and instances via CLI","Operate the Clerk CLI (`clerk` binary) for authentication, user\u002Forg\u002Fsession management, impersonation, local webhook testing, deploy verification, instance config, env keys, feature toggles, and any Clerk Backend, Platform, or Frontend API call. Use when the user mentions Clerk management tasks, \"list clerk users\", \"impersonate a user\", \"test webhooks locally\", \"enable orgs\", \"enable billing\", \"clerk env pull\", \"clerk doctor\", \"clerk deploy\", \"clerk api\", or any ad-hoc Clerk API request. Prefer the CLI over raw HTTP: it handles auth, key resolution, app\u002Finstance targeting, and formatting automatically.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1679,1680,1681,1682,1685,1688],{"name":1628,"slug":1629,"type":13},{"name":18,"slug":19,"type":13},{"name":9,"slug":8,"type":13},{"name":1683,"slug":1684,"type":13},"CLI","cli",{"name":1686,"slug":1687,"type":13},"Deployment","deployment",{"name":1670,"slug":1671,"type":13},"2026-07-31T05:52:40.580813",{"slug":1533,"name":1533,"fn":1691,"description":1692,"org":1693,"tags":1694,"stars":26,"repoUrl":27,"updatedAt":1704},"customize Clerk UI and auth flows","Custom authentication flows and component appearance - hooks (useSignIn, useSignUp), themes, colors, fonts, CSS. Use for custom sign-in\u002Fsign-up flows, appearance styling, visual customization, branding.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1695,1696,1699,1700,1703],{"name":18,"slug":19,"type":13},{"name":1697,"slug":1698,"type":13},"Branding","branding",{"name":9,"slug":8,"type":13},{"name":1701,"slug":1702,"type":13},"Design","design",{"name":21,"slug":22,"type":13},"2026-04-10T05:00:10.109158",{"slug":1706,"name":1706,"fn":1707,"description":1708,"org":1709,"tags":1710,"stars":26,"repoUrl":27,"updatedAt":1721},"clerk-expo","implement Clerk authentication in Expo apps","Add Clerk authentication to Expo and React Native apps using @clerk\u002Fexpo. Use for Expo setup, prebuilt native components (AuthView, UserButton), custom sign-in\u002Fsign-up flows (email, password, SMS\u002Fphone OTP, MFA), OAuth\u002FSSO, native Google\u002FApple sign-in, Expo Router protected routes, biometrics, and push notifications. Do not use for native Swift\u002FiOS, native Android\u002FKotlin, or web-only framework projects.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1711,1712,1713,1716,1717,1718],{"name":18,"slug":19,"type":13},{"name":9,"slug":8,"type":13},{"name":1714,"slug":1715,"type":13},"Expo","expo",{"name":21,"slug":22,"type":13},{"name":1584,"slug":1585,"type":13},{"name":1719,"slug":1720,"type":13},"React Native","react-native","2026-05-19T06:48:47.074181",{"slug":1723,"name":1723,"fn":1724,"description":1725,"org":1726,"tags":1727,"stars":26,"repoUrl":27,"updatedAt":1736},"clerk-nextjs-patterns","implement advanced Next.js patterns with Clerk","Advanced Next.js patterns - middleware, Server Actions, caching with Clerk.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1728,1729,1730,1733],{"name":9,"slug":8,"type":13},{"name":21,"slug":22,"type":13},{"name":1731,"slug":1732,"type":13},"Next.js","next-js",{"name":1734,"slug":1735,"type":13},"Performance","performance","2026-04-10T05:00:15.80215",{"slug":74,"name":74,"fn":1738,"description":1739,"org":1740,"tags":1741,"stars":26,"repoUrl":27,"updatedAt":1749},"implement Clerk auth in Nuxt 3 apps","Nuxt 3 auth patterns with @clerk\u002Fnuxt - middleware, composables, server API routes, SSR. Triggers on: Nuxt auth, useAuth composable, clerkMiddleware Nuxt, server API Clerk, Nuxt route protection.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1742,1743,1744,1745,1746],{"name":18,"slug":19,"type":13},{"name":1632,"slug":1633,"type":13},{"name":9,"slug":8,"type":13},{"name":21,"slug":22,"type":13},{"name":1747,"slug":1748,"type":13},"Nuxt","nuxt","2026-04-07T04:46:18.337538",{"slug":1544,"name":1544,"fn":1751,"description":1752,"org":1753,"tags":1754,"stars":26,"repoUrl":27,"updatedAt":1763},"manage Clerk Organizations for B2B SaaS","Clerk Organizations for B2B SaaS - create multi-tenant apps with org switching, role-based access, verified domains, and enterprise SSO. Use for team workspaces, RBAC, org-based routing, member management.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1755,1756,1759,1762],{"name":9,"slug":8,"type":13},{"name":1757,"slug":1758,"type":13},"Multi-Tenant","multi-tenant",{"name":1760,"slug":1761,"type":13},"RBAC","rbac",{"name":1652,"slug":1653,"type":13},"2026-04-10T05:00:14.40165",20,{"items":1766,"total":1764},[1767,1774,1781,1789,1797,1805,1813],{"slug":8,"name":8,"fn":1577,"description":1578,"org":1768,"tags":1769,"stars":26,"repoUrl":27,"updatedAt":1589},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1770,1771,1772,1773],{"name":18,"slug":19,"type":13},{"name":9,"slug":8,"type":13},{"name":1584,"slug":1585,"type":13},{"name":1587,"slug":1588,"type":13},{"slug":1591,"name":1591,"fn":1592,"description":1593,"org":1775,"tags":1776,"stars":26,"repoUrl":27,"updatedAt":1604},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1777,1778,1779,1780],{"name":1597,"slug":1598,"type":13},{"name":9,"slug":8,"type":13},{"name":1601,"slug":1602,"type":13},{"name":1584,"slug":1585,"type":13},{"slug":1606,"name":1606,"fn":1607,"description":1608,"org":1782,"tags":1783,"stars":26,"repoUrl":27,"updatedAt":1620},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1784,1785,1786,1787,1788],{"name":1612,"slug":1613,"type":13},{"name":18,"slug":19,"type":13},{"name":9,"slug":8,"type":13},{"name":21,"slug":22,"type":13},{"name":1618,"slug":1619,"type":13},{"slug":1622,"name":1622,"fn":1623,"description":1624,"org":1790,"tags":1791,"stars":26,"repoUrl":27,"updatedAt":1638},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1792,1793,1794,1795,1796],{"name":1628,"slug":1629,"type":13},{"name":18,"slug":19,"type":13},{"name":1632,"slug":1633,"type":13},{"name":9,"slug":8,"type":13},{"name":1636,"slug":1637,"type":13},{"slug":1640,"name":1640,"fn":1641,"description":1642,"org":1798,"tags":1799,"stars":26,"repoUrl":27,"updatedAt":1654},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1800,1801,1802,1803,1804],{"name":18,"slug":19,"type":13},{"name":9,"slug":8,"type":13},{"name":21,"slug":22,"type":13},{"name":1649,"slug":1650,"type":13},{"name":1652,"slug":1653,"type":13},{"slug":1656,"name":1656,"fn":1657,"description":1658,"org":1806,"tags":1807,"stars":26,"repoUrl":27,"updatedAt":1672},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1808,1809,1810,1811,1812],{"name":1662,"slug":1663,"type":13},{"name":9,"slug":8,"type":13},{"name":21,"slug":22,"type":13},{"name":1667,"slug":1668,"type":13},{"name":1670,"slug":1671,"type":13},{"slug":1674,"name":1674,"fn":1675,"description":1676,"org":1814,"tags":1815,"stars":26,"repoUrl":27,"updatedAt":1689},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[1816,1817,1818,1819,1820,1821],{"name":1628,"slug":1629,"type":13},{"name":18,"slug":19,"type":13},{"name":9,"slug":8,"type":13},{"name":1683,"slug":1684,"type":13},{"name":1686,"slug":1687,"type":13},{"name":1670,"slug":1671,"type":13}]