[{"data":1,"prerenderedAt":1249},["ShallowReactive",2],{"docs-\u002Fdocs\u002Fshared-workspaces":3,"docs-nav":965,"docs-updated":1207,"site-nav-marketing":1217},{"id":4,"title":5,"body":6,"description":954,"extension":955,"group":956,"icon":957,"meta":958,"navTitle":5,"navigation":959,"order":960,"path":961,"seo":962,"stem":963,"__hash__":964},"docs\u002Fdocs\u002Fshared-workspaces.md","Shared workspaces",{"type":7,"value":8,"toc":932},"minimark",[9,19,32,56,61,68,88,122,128,138,142,145,211,222,226,235,257,260,266,287,291,299,307,310,335,342,346,353,375,378,382,397,400,418,421,425,469,486,491,497,554,571,578,584,588,597,621,627,631,641,671,675,680,683,687,697,700,732,752,756,774,793,797,807,823,842,846,852,855,879,882,886],[10,11,12,13,18],"p",{},"A shared workspace is one an ",[14,15,17],"a",{"href":16},"\u002Fdocs\u002Faccount#organizations","organization"," sets up once so that everybody in it gets the same workspace holding the same repositories — without anybody being told which folders to clone or what to call them.",[10,20,21,22,26,27,31],{},"It is the third thing a ",[14,23,25],{"href":24},"\u002Fdocs\u002Fbilling","plan"," unlocks, and the first one that reaches across a team rather than across your own machines. It also needs a ",[28,29,30],"strong",{},"seat",", which is the part worth reading before anything else on this page.",[33,34,36],"callout",{"tone":35},"warn",[10,37,38,41,42,46,47,50,51,55],{},[28,39,40],{},"A seat, not just membership."," Being in an organization is not enough. Its plan has to include shared workspaces ",[43,44,45],"em",{},"and"," you have to hold one of the seats it pays for. Without one you are a full member in every other way — the app is identical, and nothing you have made is touched — you simply are not handed the organization's workspaces. A seat is somebody else's to give, so the app says ",[43,48,49],{},"\"This comes with a seat on an organization. Ask whoever administers yours.\""," rather than offering you a checkout page. See ",[14,52,54],{"href":53},"\u002Fdocs\u002Fbilling#seats","Plans, seats and billing",".",[57,58,60],"h2",{"id":59},"what-one-is-once-you-are-in-it","What one is, once you are in it",[10,62,63,64,67],{},"A workspace you joined is an ",[28,65,66],{},"ordinary workspace in your sidebar",". It sits with your own, holds projects, holds sessions, and everything you do inside it — worktrees, the agent terminal, review, the git client, hooks, pull requests — behaves exactly as it does anywhere else. The only difference is where its name and its repository list came from.",[10,69,70,71,74,75,78,79,82,83,87],{},"The organization owns three things: the workspace's ",[28,72,73],{},"name",", its ",[28,76,77],{},"description",", and the ",[28,80,81],{},"repositories attached to it",". Everything else is yours — your ",[14,84,86],{"href":85},"\u002Fdocs\u002Fsettings","settings overrides"," on it, your sessions, your checkouts, your branches. Nothing an administrator does can reach those.",[10,89,90,91,95,96,99,100,103,104,107,108,99,111,103,114,117,118,121],{},"You can tell one at a glance: the organization's name sits beside the workspace in the sidebar, and its ",[92,93,94],"code",{},"⋯"," menu is a different list rather than a greyed-out version of the usual one. ",[28,97,98],{},"Edit…",", ",[28,101,102],{},"Delete workspace"," and ",[28,105,106],{},"Set as default"," are absent, because they belong to the organization; ",[28,109,110],{},"Leave",[28,112,113],{},"Why do I have this?",[28,115,116],{},"Organization workspaces…"," are there instead. ",[28,119,120],{},"Settings…"," stays exactly where it is — your overrides on the workspace are yours, and they are the reason it is a real workspace rather than a read-only listing. An organization's workspace is never your default one — the star stays on a workspace of your own.",[10,123,124,127],{},[28,125,126],{},"Nothing is cloned onto your machine until you ask for it."," Joining a workspace adds rows to a sidebar, not repositories to your disk.",[10,129,130,131,134,135,137],{},"The whole surface lives in ",[28,132,133],{},"Settings → Organizations",", in the ",[28,136,5],{}," row. The page shows one organization at a time — pick it from the organization picker at the top — and the row is about that one; select it to open it in the side panel.",[57,139,141],{"id":140},"the-three-modes","The three modes",[10,143,144],{},"Every workspace is set up in one of three modes, and the mode decides how you get in. It is shown beside the name in the list.",[146,147,148,164],"table",{},[149,150,151],"thead",{},[152,153,154,158,161],"tr",{},[155,156,157],"th",{},"Mode",[155,159,160],{},"What it means",[155,162,163],{},"What you press",[165,166,167,183,198],"tbody",{},[152,168,169,175,178],{},[170,171,172],"td",{},[28,173,174],{},"Open",[170,176,177],{},"Anybody in the organization can join it, whenever they like.",[170,179,180],{},[28,181,182],{},"Join",[152,184,185,190,193],{},[170,186,187],{},[28,188,189],{},"Request",[170,191,192],{},"People ask, and an administrator answers.",[170,194,195],{},[28,196,197],{},"Ask to join",[152,199,200,205,208],{},[170,201,202],{},[28,203,204],{},"Invite only",[170,206,207],{},"Only people an administrator adds are in it.",[170,209,210],{},"Nothing — you are added, or you are not.",[10,212,213,214,217,218,221],{},"A workspace you are not in tells you as little as its mode allows. In ",[28,215,216],{},"request"," mode you are shown the name and nothing else — no description, no repository list — until you are actually in it; in ",[28,219,220],{},"invite only"," mode you are not shown it at all until somebody adds you.",[57,223,225],{"id":224},"joining-and-asking-to-join","Joining, and asking to join",[10,227,228,229,231,232,234],{},"Open ",[28,230,133],{},", pick the organization, and find ",[28,233,5],{},". It lists what that organization shares with you, with a line above it saying when the list was last checked.",[236,237,238,244],"ul",{},[239,240,241,243],"li",{},[28,242,182],{}," puts an open workspace in your sidebar straight away.",[239,245,246,248,249,252,253,256],{},[28,247,197],{}," sends a request on a request-mode workspace. The row then reads ",[43,250,251],{},"\"Waiting for an administrator to answer\"",", and ",[28,254,255],{},"Cancel request"," takes it back.",[10,258,259],{},"If your request is not taken up, the row says so and gives you a date:",[261,262,263],"blockquote",{},[10,264,265],{},"You asked to join and weren't added. You can ask again on 14 October 2026.",[10,267,268,270,271,274,275,278,279,282,283,286],{},[28,269,197],{}," is greyed out until that day. Two things about it are deliberate. There is ",[28,272,273],{},"no reason attached"," — the app does not record one and will not invent one, so it says ",[43,276,277],{},"\"weren't added\""," rather than ",[43,280,281],{},"\"declined\"",". And the wait is on ",[28,284,285],{},"asking again",", not on being added: an administrator can put you in at any moment, and the answer to a workspace you need today is a conversation rather than a countdown.",[57,288,290],{"id":289},"leaving-and-what-leaving-does-not-do","Leaving, and what leaving does not do",[10,292,293,295,296,298],{},[28,294,110],{}," is in the ",[92,297,94],{}," menu on the workspace row, and it is never refused. Not for want of a plan, not for want of a seat, not for want of a permission, and not for want of the internet — the app does its half immediately and tells the organization when it can reach it. A workspace somebody else put on your machine is one you can always get off it.",[33,300,301],{},[10,302,303,306],{},[28,304,305],{},"Nothing is deleted."," The workspace stays in your sidebar, its repositories stay on disk, and their sessions, worktrees and branches are all left exactly as they are. What changes is one fact: the workspace stops being the organization's and becomes an ordinary workspace of your own — renameable, deletable, and no longer receiving the organization's changes.",[10,308,309],{},"The dialog also tells you whether you can come back, and the answer comes from the organization rather than from a guess:",[236,311,312,320,327],{},[239,313,314,316,317],{},[28,315,174],{}," — ",[43,318,319],{},"\"You can rejoin at any time.\"",[239,321,322,316,324],{},[28,323,189],{},[43,325,326],{},"\"You'd have to request access again.\"",[239,328,329,316,331,334],{},[28,330,204],{},[43,332,333],{},"\"You can't rejoin — an admin has to invite you.\""," This one is shown as a warning, because it is the only version of Leave you cannot undo yourself.",[10,336,337,338,341],{},"Rejoining later reuses the ",[28,339,340],{},"same"," workspace, rather than adding a second copy beside it: your checkouts, your sessions and your branches come back with it.",[57,343,345],{"id":344},"why-you-have-one-you-did-not-create","Why you have one you did not create",[10,347,348,349,352],{},"A workspace can appear in your sidebar without you having done anything — that is the point of ",[28,350,351],{},"Add everyone automatically",", and of an administrator putting a team into a workspace in one go.",[10,354,355,356,358,359,361,362,99,365,99,368,99,371,374],{},"So the ",[92,357,94],{}," menu answers the question directly. ",[28,360,113],{}," names how you came to hold it — ",[43,363,364],{},"\"You were added automatically — Acme gives this workspace to every new member\"",[43,366,367],{},"\"You joined this workspace yourself\"",[43,369,370],{},"\"Dana added you to this workspace\"",[43,372,373],{},"\"You asked to join, and Dana approved it\""," — plus the mode it is in, and a reminder of which half is the organization's and which half is yours.",[10,376,377],{},"It is exactly those facts and no more. There is no history behind it, no log of who changed what, and nothing dated; the name it shows was copied down when you were added, so it still reads correctly after that person has left the organization.",[57,379,381],{"id":380},"the-repositories-attached-to-it","The repositories attached to it",[10,383,384,385,388,389,392,393,396],{},"The organization's repositories appear under the workspace as rows marked ",[28,386,387],{},"Not on this machine",", each naming the repository it stands for, with one button — ",[28,390,391],{},"Clone",", which names the project it would fetch, because a workspace holding four of these needs four buttons that are not all called the same thing. Pressing it hands the address to the usual ",[28,394,395],{},"Add repository"," dialog: you choose where the checkout goes, and it arrives already in the right workspace.",[10,398,399],{},"That is the whole of it, and the restraint is the design. An organization's list of repositories is a list, not an instruction to fill your disk — you clone the ones you are working on, when you are working on them. A cloned one becomes an ordinary project: sessions, worktrees, review, hooks, pull requests, all identical to a repository you added yourself.",[33,401,402],{},[10,403,404,405,408,409,412,413,417],{},"Unlike a project arriving from another of ",[28,406,407],{},"your own"," machines, an attached repository has no ",[28,410,411],{},"Locate…"," and no candidate picker. If you already have that repository checked out somewhere, cloning it here gives you a second copy in the folder you choose. The organization's project is created fresh so that it can never re-parent a checkout that is already part of your own ",[14,414,416],{"href":415},"\u002Fdocs\u002Fsync","sync"," account.",[10,419,420],{},"If an attachment was added without a clone URL, its button is disabled and says so — ask an administrator to add one.",[57,422,424],{"id":423},"setting-them-up","Setting them up",[10,426,427,428,103,431,434,435,99,438,103,441,444,445,449,450,453,454,99,457,99,460,99,463,103,466,55],{},"Everything below needs a role that grants it. ",[28,429,430],{},"Owner",[28,432,433],{},"Admin"," hold all five workspace permissions by default; ",[28,436,437],{},"Maintainer",[28,439,440],{},"Member",[28,442,443],{},"Restricted"," hold none of them, so a curator role that should also run workspaces is a ",[14,446,448],{"href":447},"\u002Fdocs\u002Froles#making-your-own","copy of a role with those boxes ticked",". The five sit under ",[28,451,452],{},"Workspaces and projects"," in the role editor: ",[43,455,456],{},"Create workspaces",[43,458,459],{},"Attach projects",[43,461,462],{},"Edit workspaces",[43,464,465],{},"Delete workspaces",[43,467,468],{},"Manage membership",[10,470,471,472,474,475,477,478,481,482,485],{},"Pick the organization on ",[28,473,133],{}," and open its ",[28,476,5],{}," row and press ",[28,479,480],{},"Manage",". A control you may not use is ",[28,483,484],{},"absent rather than disabled",", so the buttons you see are the ones you can press.",[487,488,490],"h3",{"id":489},"creating-and-changing-one","Creating and changing one",[10,492,493,496],{},[28,494,495],{},"New workspace"," asks for four things:",[146,498,499,509],{},[149,500,501],{},[152,502,503,506],{},[155,504,505],{},"Field",[155,507,508],{},"What it decides",[165,510,511,521,531,545],{},[152,512,513,518],{},[170,514,515],{},[28,516,517],{},"Name",[170,519,520],{},"What everybody sees in their sidebar.",[152,522,523,528],{},[170,524,525],{},[28,526,527],{},"Description",[170,529,530],{},"One line, shown to the people who can see the workspace.",[152,532,533,538],{},[170,534,535],{},[28,536,537],{},"Who can join",[170,539,540,541,55],{},"Open, Request or Invite only — the ",[14,542,544],{"href":543},"#the-three-modes","three modes",[152,546,547,551],{},[170,548,549],{},[28,550,351],{},[170,552,553],{},"Whether people who join the organization from now on receive this workspace without asking.",[10,555,556,558,559,562,563,566,567,570],{},[28,557,351],{}," applies to ",[28,560,561],{},"new members only",", and turning it off later ",[28,564,565],{},"removes nobody",". There is deliberately no version of this switch that takes a workspace back off everybody who has it — that is what ",[28,568,569],{},"Withdraw"," is, and it is a decision worth making on purpose.",[10,572,573,574,577],{},"The people already in the organization are a separate, confirmed act rather than a side effect of ticking a box. ",[28,575,576],{},"Add everyone"," — in the account panel on the web, beside the same workspace — adds everybody who is in the organization right now, tells you how many that is before you confirm, and adds nobody twice.",[10,579,580,583],{},[28,581,582],{},"Edit"," changes the same four fields on a workspace that already exists. A mode change applies from that moment: it decides how people get in from now on, and nobody in the workspace is ever ejected by it.",[487,585,587],{"id":586},"repositories","Repositories",[10,589,590,592,593,596],{},[28,591,587],{}," on a workspace lists what is attached and lets you add more. An attachment carries a name, one or more repositories as ",[92,594,595],{},"host\u002Fowner\u002Fname"," (one per line — a member's checkout is matched to it by its git remote), a clone URL, and optionally a base branch and a subfolder.",[33,598,599],{"tone":35},[10,600,601,602,99,605,608,609,612,613,620],{},"A clone URL must be ",[92,603,604],{},"https:\u002F\u002F",[92,606,607],{},"ssh:\u002F\u002F"," or ",[92,610,611],{},"git@host:owner\u002Fname",". ",[28,614,615,616,619],{},"Plain ",[92,617,618],{},"http:\u002F\u002F"," is refused."," This URL is handed to every member's machine and cloned from without anybody reading it, so the one transport nobody can verify is the one it may not use.",[10,622,623,626],{},[28,624,625],{},"Remove"," detaches a repository. It stops being handed out; nobody's existing checkout is touched.",[487,628,630],{"id":629},"who-is-in-a-workspace","Who is in a workspace",[10,632,633,636,637,640],{},[28,634,635],{},"People"," opens the roster: everybody who has the workspace, how each of them came to have it, and who added them. A filter narrows it, and ",[28,638,639],{},"Show more people"," pages through a long list.",[236,642,643,660,666],{},[239,644,645,648,649,652,653,656,657,55],{},[28,646,647],{},"Waiting to join (n)"," sits above the roster when there are requests. ",[28,650,651],{},"Add"," puts the person in. ",[28,654,655],{},"Not now"," does not, and tells you the cost before you confirm: they will not be added, they cannot ask again for a set number of days, ",[28,658,659],{},"and you can still add them yourself at any time",[239,661,662,665],{},[28,663,664],{},"Add someone from Acme"," adds a member directly, whatever mode the workspace is in. This is how invite-only workspaces are filled.",[239,667,668,670],{},[28,669,625],{}," takes somebody out. Everything on their machine stays exactly where it is — the workspace, the checkouts, the sessions and the branches — it simply stops being the organization's for them, which is the same thing that happens when somebody leaves of their own accord.",[487,672,674],{"id":673},"withdrawing-a-workspace","Withdrawing a workspace",[10,676,677,679],{},[28,678,569],{}," takes a workspace out of the organization's catalogue. It stops being handed out, and on every machine that received it, it stops being the organization's.",[10,681,682],{},"Nobody's work is touched by it: no checkout, no session, no worktree and no branch. The people who had it keep the workspace and everything under it; it is theirs from then on.",[57,684,686],{"id":685},"if-more-seats-are-handed-out-than-the-plan-pays-for","If more seats are handed out than the plan pays for",[10,688,689,690,693,694,55],{},"Seats can be released in the payment provider's portal while people still hold them, which leaves an organization with more people holding a seat than it is paying for. When that happens, the admin panel shows a ",[28,691,692],{},"warning"," naming both numbers, and ",[28,695,696],{},"changing workspaces is paused until it is fixed",[10,698,699],{},"The buttons are not greyed out, on purpose. Those counts are as old as the last check, so a control disabled on them would refuse a change the moment somebody took a seat back and before the app noticed. Instead the refusal arrives when you press, in a sentence naming both numbers and the remedy, with the dialog still open and everything you typed still in it.",[146,701,702,712],{},[149,703,704],{},[152,705,706,709],{},[155,707,708],{},"Paused",[155,710,711],{},"Still works",[165,713,714],{},[152,715,716,719],{},[170,717,718],{},"Creating a workspace · editing one · attaching a repository · adding somebody · approving a request",[170,720,721,722,725,726,725,729],{},"Every read · joining · asking to join · leaving · declining a request · ",[28,723,724],{},"removing somebody"," · ",[28,727,728],{},"detaching a repository",[28,730,731],{},"withdrawing a workspace",[33,733,734],{"tone":35},[10,735,736,739,740,743,744,747,748,751],{},[28,737,738],{},"The verbs that take something away are never refused",", and that is the whole shape of it: the remedy for the warning is ",[43,741,742],{},"take a seat back",", so an organization in this state must not be locked out of taking one back. Nothing is switched off for anybody in the meantime, nobody is picked to lose their workspaces, and no member notices. Press ",[28,745,746],{},"Manage seats"," on the banner — it opens the organization's ",[28,749,750],{},"Plan, seats and people"," row on the same page — or add seats, and it clears itself.",[57,753,755],{"id":754},"staying-up-to-date","Staying up to date",[10,757,758,759,612,762,765,766,769,770,773],{},"Plexus checks an organization's workspaces on its own: when it starts, when you switch back to its window, a couple of seconds after you change something, and on a schedule for as long as the window is open. So a workspace an administrator creates, edits or withdraws reaches you ",[28,760,761],{},"without restarting the app",[28,763,764],{},"Refresh"," in the admin panel asks immediately, and the list of workspaces carries its own clock — ",[43,767,768],{},"Checked 4 minutes ago",", or ",[43,771,772],{},"Not checked yet"," — because what a local copy can never promise is freshness.",[10,775,776,777,780,781,784,785,788,789,792],{},"The schedule is the one on the Sync page — ",[28,778,779],{},"Check for changes every (minutes)"," — which paces both this and ",[14,782,783],{"href":415},"cross-device sync",". This check does ",[28,786,787],{},"not"," require ",[28,790,791],{},"Sync this machine"," to be on: it is a list arriving from your organization, and nothing about your machine or your workspaces leaves in either direction. What it does require is being signed in; sign out and it stops with everything else on your account.",[57,794,796],{"id":795},"what-sync-does-and-does-not-carry","What sync does and does not carry",[10,798,799,802,803,806],{},[14,800,801],{"href":415},"Cross-device sync"," carries your own settings, workspaces and projects between your machines. An organization's workspaces are ",[28,804,805],{},"not part of it",", and that is a design decision rather than an omission: each of your machines receives them from the organization directly, so the organization's names and repository lists never enter your personal account, and turning sync off does not stop them arriving.",[33,808,809],{"tone":35},[10,810,811,814,815,818,819,822],{},[28,812,813],{},"The cost of that, stated plainly."," A ",[14,816,817],{"href":85},"settings override"," you set on a workspace your organization shares ",[28,820,821],{},"stays on the machine you set it on",". Your own workspaces' overrides travel; these do not. Set a review prompt on an organization's workspace on your desktop and you set it again on your laptop. The organization's half — the name, the description, the repositories — is identical everywhere, because it does not come from you.",[10,824,825,826,828,829,99,831,834,835,837,838,841],{},"The two also behave differently when a repository is missing locally. A ",[28,827,387],{}," row from another of your own machines offers ",[28,830,411],{},[28,832,833],{},"Clone…"," and a candidate picker; an organization's offers ",[28,836,391],{}," alone. See ",[14,839,381],{"href":840},"#the-repositories-attached-to-it"," for why.",[57,843,845],{"id":844},"what-needs-a-seat-and-what-never-stops","What needs a seat, and what never stops",[10,847,848,851],{},[28,849,850],{},"A seat is what buys the receiving."," Browsing an organization's workspaces, joining one, asking to join, getting updates, and every part of setting them up need the organization's plan to cover shared workspaces and you to hold one of its seats.",[10,853,854],{},"Three things carry on regardless, and each is deliberate:",[236,856,857,867,873],{},[239,858,859,862,863,866],{},[28,860,861],{},"What you already joined."," Workspaces on your machine stay, with their repositories, sessions, worktrees and branches, and keep working. What a lapse costs is the ",[43,864,865],{},"updating",", not the having.",[239,868,869,872],{},[28,870,871],{},"Leaving."," Never gated, in any state, on any plan. A member may always go.",[239,874,875,878],{},[28,876,877],{},"Taking something back."," An administrator can still remove somebody, detach a repository and withdraw a workspace after a plan lapses — because otherwise a lapsed organization could not stop a departed employee receiving its workspaces, which is exactly backwards.",[10,880,881],{},"And nothing local is affected by any of it. Sessions, worktrees, the agent terminal, review, the explorer, the git client, hooks, pull requests and the dashboard are identical with a seat and without one, and always will be.",[57,883,885],{"id":884},"related","Related",[236,887,888,893,900,907,914,920,925],{},[239,889,890,892],{},[14,891,54],{"href":53}," — what a seat is, and how one is given.",[239,894,895,899],{},[14,896,898],{"href":897},"\u002Fdocs\u002Fmanaged-settings","Managed settings"," — the other thing an organization hands its members: a setting value, recommended or enforced, on the same page in the app.",[239,901,902,906],{},[14,903,905],{"href":904},"\u002Fdocs\u002Forg-prompts","Prompts your organization publishes"," — the third: a prompt template, as a numbered revision in every member's list.",[239,908,909,913],{},[14,910,912],{"href":911},"\u002Fdocs\u002Froles","Roles and permissions"," — the five workspace permissions and who holds them.",[239,915,916,919],{},[14,917,918],{"href":16},"Your Plexus account"," — organizations, and the page in the app where their members, invitations and seats live.",[239,921,922,924],{},[14,923,801],{"href":415}," — the other half of what follows you, and why an organization's workspaces are not part of it.",[239,926,927,931],{},[14,928,930],{"href":929},"\u002Fdocs\u002Fconcepts#workspace","Core concepts"," — what a workspace is in the first place.",{"title":933,"searchDepth":934,"depth":934,"links":935},"",2,[936,937,938,939,940,941,942,949,950,951,952,953],{"id":59,"depth":934,"text":60},{"id":140,"depth":934,"text":141},{"id":224,"depth":934,"text":225},{"id":289,"depth":934,"text":290},{"id":344,"depth":934,"text":345},{"id":380,"depth":934,"text":381},{"id":423,"depth":934,"text":424,"children":943},[944,946,947,948],{"id":489,"depth":945,"text":490},3,{"id":586,"depth":945,"text":587},{"id":629,"depth":945,"text":630},{"id":673,"depth":945,"text":674},{"id":685,"depth":934,"text":686},{"id":754,"depth":934,"text":755},{"id":795,"depth":934,"text":796},{"id":844,"depth":934,"text":845},{"id":884,"depth":934,"text":885},"Set up a workspace once in a Plexus organization so every member gets the same repositories in their sidebar: join modes, leaving, cloning, and seats.","md","Integrations","Building2",{},true,45,"\u002Fdocs\u002Fshared-workspaces",{"title":5,"description":954},"docs\u002Fshared-workspaces","_4GylhmjQDPBI7Muuu2WbWz_c9PUafXzpEehwnYsdyA",[966,973,979,984,990,996,1002,1009,1016,1023,1031,1038,1045,1052,1059,1066,1072,1079,1083,1089,1095,1103,1110,1116,1123,1130,1136,1141,1146,1151,1152,1156,1160,1167,1174,1181,1188,1193,1200],{"path":967,"title":968,"navTitle":968,"description":969,"icon":970,"group":971,"order":972},"\u002Fdocs","Introduction","Plexus runs Claude Code sessions in parallel, each in its own git worktree, in one native desktop app with diff review, a git client and hooks built in.","BookOpen","Overview",1,{"path":974,"title":975,"navTitle":976,"description":977,"icon":978,"group":971,"order":934},"\u002Fdocs\u002Finstall","Installation","Install","Download and install Plexus on macOS (Apple Silicon or Intel), Linux (.deb or AppImage) or Windows, check Claude Code and Git, and get automatic updates.","Download",{"path":980,"title":981,"navTitle":981,"description":982,"icon":983,"group":971,"order":945},"\u002Fdocs\u002Frequirements","Requirements","What Plexus needs on your machine: the Claude Code CLI and Git, plus optional GitHub or Bitbucket access, notify-send on Linux, and supported platforms.","Check",{"path":985,"title":986,"navTitle":986,"description":987,"icon":988,"group":971,"order":989},"\u002Fdocs\u002Fgetting-started","Getting started","Your first run of Plexus: add a git repository, create a session in its own worktree, start Claude Code and send your first prompt.","Rocket",4,{"path":991,"title":930,"navTitle":992,"description":993,"icon":994,"group":971,"order":995},"\u002Fdocs\u002Fconcepts","Concepts","Workspaces, projects and sessions in Plexus — each session usually its own git worktree running Claude Code — and the two status indicators on every row.","Boxes",5,{"path":997,"title":998,"navTitle":998,"description":999,"icon":1000,"group":971,"order":1001},"\u002Fdocs\u002Farchitecture","Architecture","How Plexus is built: a Tauri desktop app with a Vue UI and a Rust backend that wraps the Claude Code CLI, runs git natively and keeps your code local.","Package",6,{"path":1003,"title":1004,"navTitle":1004,"description":1005,"icon":1006,"group":1007,"order":1008},"\u002Fdocs\u002Fdashboard","Dashboard","One live table of every Claude Code session across your Plexus workspaces, with activity state, PR status, summary counts, filters and sorting.","LayoutGrid","Working with projects",10,{"path":1010,"title":1011,"navTitle":1012,"description":1013,"icon":1014,"group":1007,"order":1015},"\u002Fdocs\u002Fproject-git","Project Git client","Git GUI","A full git GUI for a project's main checkout: commit graph with branches, tags, stashes and worktrees, pull, push, line staging, compare, blame, history rewrites, undo and conflict resolution.","GitGraph",11,{"path":1017,"title":1018,"navTitle":1019,"description":1020,"icon":1021,"group":1007,"order":1022},"\u002Fdocs\u002Fproject-terminal","Project Terminal","Terminal","Open plain shell terminals in a project's root folder from the project view. They keep running in the background, so a dev server or file watcher stays up.","MonitorDot",12,{"path":1024,"title":1025,"navTitle":1026,"description":1027,"icon":1028,"group":1029,"order":1030},"\u002Fdocs\u002Fsessions","Sessions & worktrees","Sessions","Create a Plexus session — one Claude Code agent in its own git worktree, on a new or existing branch — and start, stop, resume, archive or remove it.","Bot","Working with sessions",20,{"path":1032,"title":1033,"navTitle":1034,"description":1035,"icon":1036,"group":1029,"order":1037},"\u002Fdocs\u002Fstatus","Status & notifications","Status","What Plexus's status dots and PR colors mean — working, waiting, idle, background work — and the alerts you get when a Claude Code session needs you.","Activity",21,{"path":1039,"title":1040,"navTitle":1041,"description":1042,"icon":1043,"group":1029,"order":1044},"\u002Fdocs\u002Fagent","The Agent tab","Agent","The Agent tab is the Claude Code terminal in every session: send prompts, paste images, compose multi-line input, rewind, and choose the permission mode.","Sparkles",22,{"path":1046,"title":1047,"navTitle":1048,"description":1049,"icon":1050,"group":1029,"order":1051},"\u002Fdocs\u002Fexplorer","Explorer & editor","Explorer","Browse a session's git worktree and edit files in the built-in Monaco editor, with tabs, change markers against the base branch and a Markdown preview.","FileText",23,{"path":1053,"title":1054,"navTitle":1055,"description":1056,"icon":1057,"group":1029,"order":1058},"\u002Fdocs\u002Freview","Review & diffs","Review","Review a Claude Code session's changes as a PR-style diff, leave inline comments the agent acts on, run an AI code review and answer PR threads.","GitPullRequestArrow",24,{"path":1060,"title":1061,"navTitle":1062,"description":1063,"icon":1064,"group":1029,"order":1065},"\u002Fdocs\u002Fgit","Git workflow","Session Git","The session Git tab lets you stage, commit, stash and push, and rebase, merge or squash a Claude Code session's branch, with AI-drafted commit messages.","GitMerge",25,{"path":1067,"title":1068,"navTitle":1068,"description":1069,"icon":1070,"group":1029,"order":1071},"\u002Fdocs\u002Fpull-requests","Pull requests","Open a GitHub or Bitbucket pull request from a session's branch, let AI draft the title and description, and track PR and CI status without leaving Plexus.","Github",26,{"path":1073,"title":1074,"navTitle":1075,"description":1076,"icon":1077,"group":1029,"order":1078},"\u002Fdocs\u002Fstacks","Stacks & ordered merging","Stacks & merging","Stack Claude Code sessions on each other's branches, keep every branch synced as the stack moves, see the whole stack as a map, and merge a stack — or a list of pull requests — in order, including through GitHub's and Bitbucket's merge queues.","Layers",27,{"path":1080,"title":1019,"navTitle":1019,"description":1081,"icon":1021,"group":1029,"order":1082},"\u002Fdocs\u002Fterminal","Open plain shell terminals in a session's git worktree with ⌘J: several tabs, copy and paste, drag-and-drop file paths, and your choice of shell.",28,{"path":1084,"title":1085,"navTitle":1085,"description":1086,"icon":1087,"group":1029,"order":1088},"\u002Fdocs\u002Fsplit-view","Split view","Put up to six sessions of one project side by side in a split view: each pane is a full session with its own tabs, and every agent keeps running whether its pane is on screen or not.","Grid2x2",29,{"path":1090,"title":1091,"navTitle":1091,"description":1092,"icon":1093,"group":1029,"order":1094},"\u002Fdocs\u002Fwindows","Multiple windows","Open a session, a project, a single terminal or the dashboard in a window of its own: put an agent on a second monitor and keep the main window for everything else.","AppWindow",30,{"path":1096,"title":1097,"navTitle":1098,"description":1099,"icon":1100,"group":1101,"order":1102},"\u002Fdocs\u002Fhooks","Lifecycle hooks","Hooks","Run your own shell scripts when a session's git worktree is created, when the agent starts, and at teardown — set globally, per project or in the repo.","RefreshCw","Automation",31,{"path":1104,"title":1105,"navTitle":1106,"description":1107,"icon":1108,"group":1101,"order":1109},"\u002Fdocs\u002Fworktrees","Worktrees & env files","Worktrees & env","Where Plexus puts each session's git worktree, how .env and other gitignored files are copied in, and the block of dev server ports every session gets.","FolderGit2",32,{"path":1111,"title":1112,"navTitle":1112,"description":1113,"icon":1114,"group":1101,"order":1115},"\u002Fdocs\u002Fsecrets","Secrets","Plexus keeps secrets in your OS keychain — macOS Keychain, Windows Credential Manager or Linux Secret Service — write-only, and out of every hook it runs.","KeyRound",33,{"path":1117,"title":1118,"navTitle":1119,"description":1120,"icon":1121,"group":1101,"order":1122},"\u002Fdocs\u002Fprompts","Prompt templates","Prompts","Save Claude Code prompts you keep rewriting as templates with fill-in fields — text, choices, files, branches — and run them in a new or a running session.","Copy",34,{"path":1124,"title":1125,"navTitle":1126,"description":1127,"icon":1128,"group":956,"order":1129},"\u002Fdocs\u002Fconnections","Connecting a git provider","Git providers","Connect GitHub or Bitbucket to Plexus with a one-click browser sign-in, no personal access token, to open pull requests, clone repos and push over https.","PlugZap",40,{"path":1131,"title":918,"navTitle":1132,"description":1133,"icon":1134,"group":956,"order":1135},"\u002Fdocs\u002Faccount","Plexus account","Create a free, optional Plexus account to set up organizations, manage signed-in devices and turn on cross-device sync. The app works the same without one.","UsersRound",41,{"path":24,"title":54,"navTitle":1137,"description":1138,"icon":1139,"group":956,"order":1140},"Billing","What a paid Plexus plan unlocks, individual and per-seat organization plans, buying through Moneybird, invitations, invoices and VAT, and cancelling.","CreditCard",42,{"path":415,"title":801,"navTitle":1142,"description":1143,"icon":1144,"group":956,"order":1145},"Sync","Sync your Plexus settings, workspaces and projects to every machine you sign in on, after a preview of exactly what would leave this one.","Cloud",43,{"path":911,"title":912,"navTitle":1147,"description":1148,"icon":1149,"group":956,"order":1150},"Roles","Control what each member of a Plexus organization may do: five built-in roles, custom roles you copy and edit, and how roles combine. Free, on the web.","ShieldCheck",44,{"path":961,"title":5,"navTitle":5,"description":954,"icon":957,"group":956,"order":960},{"path":897,"title":898,"navTitle":898,"description":1153,"icon":1154,"group":956,"order":1155},"Let a Plexus organization recommend, enforce or dry-run settings on members' machines: the three levels, locked rows, eligible settings and offline rules.","Lock",46,{"path":904,"title":905,"navTitle":1157,"description":1158,"icon":1121,"group":956,"order":1159},"Organization prompts","Publish Claude Code prompt templates to every member of a Plexus organization as numbered revisions: proposing, publishing, rolling back, limits and seats.",47,{"path":1161,"title":1162,"navTitle":1163,"description":1164,"icon":1165,"group":956,"order":1166},"\u002Fdocs\u002Fissues","Issues from your tracker","Issues","Read, edit and create a project's GitHub issues inside Plexus with your own GitHub account, and start a Claude Code session that stays linked to an issue. Plnnrly has a page of its own.","CircleDot",48,{"path":1168,"title":1169,"navTitle":1170,"description":1171,"icon":1172,"group":956,"order":1173},"\u002Fdocs\u002Ftoolchain","The Toolchain","Toolchain","Attach GitHub issues, GitHub Projects boards and Plnnrly projects to a workspace or project as tabs in Plexus, and choose whether a workspace shares each with its projects.","Wrench",49,{"path":1175,"title":1176,"navTitle":1177,"description":1178,"icon":1179,"group":956,"order":1180},"\u002Fdocs\u002Fboards","Boards from GitHub Projects","Boards","Work a GitHub Projects board inside Plexus: attach it to a workspace or project, switch views, drag cards, open the issue behind a card, start a session.","SquareKanban",50,{"path":1182,"title":1183,"navTitle":1184,"description":1185,"icon":1186,"group":956,"order":1187},"\u002Fdocs\u002Fplnnrly","Plnnrly work items, boards and sprints","Plnnrly","Connect a Plnnrly organization and work a Plnnrly project inside Plexus: its backlog, board and sprints, every work item editable, and a session started from any of them.","ClipboardList",51,{"path":85,"title":1189,"navTitle":1189,"description":1190,"icon":1189,"group":1191,"order":1192},"Settings","Every Plexus setting and its default, and how settings layer from global to workspace, project and session — including organization-enforced values.","Reference",52,{"path":1194,"title":1195,"navTitle":1196,"description":1197,"icon":1198,"group":1191,"order":1199},"\u002Fdocs\u002Fshortcuts","Keyboard shortcuts","Shortcuts","Every Plexus keyboard shortcut — session tabs, terminal and dashboard, ⌘K search, stack layers, the Claude Code prompt, rebase and squash, project Git undo — and how to rebind each.","Keyboard",53,{"path":1201,"title":1202,"navTitle":1203,"description":1204,"icon":1205,"group":1191,"order":1206},"\u002Fdocs\u002Ffeedback","Sending feedback","Feedback","Send a bug report or idea to the Plexus team from inside the app, with an optional screenshot and diagnostic logs you can preview before anything is sent.","SquarePen",54,{"\u002Fdocs\u002Faccount":1208,"\u002Fdocs\u002Fagent":1209,"\u002Fdocs\u002Farchitecture":1209,"\u002Fdocs\u002Fbilling":1208,"\u002Fdocs\u002Fboards":1209,"\u002Fdocs\u002Fconcepts":1210,"\u002Fdocs\u002Fconnections":1211,"\u002Fdocs\u002Fdashboard":1208,"\u002Fdocs\u002Fexplorer":1212,"\u002Fdocs\u002Ffeedback":1210,"\u002Fdocs\u002Fgetting-started":1213,"\u002Fdocs\u002Fgit":1208,"\u002Fdocs\u002Fhooks":1214,"\u002Fdocs":1209,"\u002Fdocs\u002Finstall":1209,"\u002Fdocs\u002Fissues":1210,"\u002Fdocs\u002Fmanaged-settings":1212,"\u002Fdocs\u002Forg-prompts":1212,"\u002Fdocs\u002Fplnnrly":1210,"\u002Fdocs\u002Fproject-git":1211,"\u002Fdocs\u002Fproject-terminal":1215,"\u002Fdocs\u002Fprompts":1214,"\u002Fdocs\u002Fpull-requests":1208,"\u002Fdocs\u002Frequirements":1213,"\u002Fdocs\u002Freview":1212,"\u002Fdocs\u002Froles":1209,"\u002Fdocs\u002Fsecrets":1214,"\u002Fdocs\u002Fsessions":1208,"\u002Fdocs\u002Fsettings":1208,"\u002Fdocs\u002Fshared-workspaces":1212,"\u002Fdocs\u002Fshortcuts":1216,"\u002Fdocs\u002Fsplit-view":1208,"\u002Fdocs\u002Fstacks":1208,"\u002Fdocs\u002Fstatus":1208,"\u002Fdocs\u002Fsync":1208,"\u002Fdocs\u002Fterminal":1215,"\u002Fdocs\u002Ftoolchain":1210,"\u002Fdocs\u002Fwindows":1214,"\u002Fdocs\u002Fworktrees":1214},"2026-10-16","2026-10-06","2026-10-15","2026-10-22","2026-10-09","2026-10-11","2026-10-14","2026-10-13","2026-10-19",{"features":1218,"compare":1236},[1219,1222,1224,1227,1230,1233],{"label":1220,"to":1221},"Sessions & status","\u002Ffeatures\u002Fsessions-and-status",{"label":1055,"to":1223},"\u002Ffeatures\u002Freview",{"label":1225,"to":1226},"Worktrees & hooks","\u002Ffeatures\u002Fworktrees-and-hooks",{"label":1228,"to":1229},"Git & issues","\u002Ffeatures\u002Fgit-and-issues",{"label":1231,"to":1232},"Stacks","\u002Ffeatures\u002Fstacks",{"label":1234,"to":1235},"Teams","\u002Ffeatures\u002Fteams",[1237,1240,1243,1246],{"label":1238,"to":1239},"vs Claude Code","\u002Fcompare\u002Fclaude-code",{"label":1241,"to":1242},"vs Claude Squad and Nimbalyst","\u002Fcompare\u002Fclaude-squad-and-nimbalyst",{"label":1244,"to":1245},"vs Conductor","\u002Fcompare\u002Fconductor",{"label":1247,"to":1248},"vs Cursor","\u002Fcompare\u002Fcursor",1792695510032]