[{"data":1,"prerenderedAt":1134},["ShallowReactive",2],{"docs-\u002Fdocs\u002Fmanaged-settings":3,"docs-nav":849,"docs-updated":1092,"site-nav-marketing":1102},{"id":4,"title":5,"body":6,"description":838,"extension":839,"group":840,"icon":841,"meta":842,"navTitle":5,"navigation":843,"order":844,"path":845,"seo":846,"stem":847,"__hash__":848},"docs\u002Fdocs\u002Fmanaged-settings.md","Managed settings",{"type":7,"value":8,"toc":819},"minimark",[9,19,37,61,66,81,92,110,114,117,183,200,205,219,232,236,239,276,290,293,308,315,319,327,334,359,373,377,424,436,439,444,460,504,508,545,549,573,588,592,597,604,619,627,630,634,637,659,666,669,673,679,682,714,747,750,754,771,774,778],[10,11,12,13,18],"p",{},"Managed settings let an ",[14,15,17],"a",{"href":16},"\u002Fdocs\u002Faccount#organizations","organization"," set a value once so that every member holding a seat receives it on every machine they sign in on — recommended and theirs to change, enforced and locked, or merely measured to see what enforcing it would do.",[10,20,21,22,26,27,31,32,36],{},"It is the fourth thing a ",[14,23,25],{"href":24},"\u002Fdocs\u002Fbilling","plan"," unlocks, and the second one that reaches across a team rather than across your own machines. Like ",[14,28,30],{"href":29},"\u002Fdocs\u002Fshared-workspaces","shared workspaces"," it needs a ",[33,34,35],"strong",{},"seat",", and like them it is something somebody else can put on your machine — which is why this page spends most of its words on what that does and does not let them do.",[38,39,41],"callout",{"tone":40},"warn",[10,42,43,46,47,51,52,55,56,60],{},[33,44,45],{},"A seat, not just membership."," Being in an organization is not enough. Its plan has to include managed settings ",[48,49,50],"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 values. A seat is somebody else's to give, so the app says ",[48,53,54],{},"\"This comes with a seat on an organization. Ask whoever administers yours.\""," rather than offering you a checkout page. See ",[14,57,59],{"href":58},"\u002Fdocs\u002Fbilling#seats","Plans, seats and billing",".",[62,63,65],"h2",{"id":64},"what-one-is-once-it-reaches-you","What one is, once it reaches you",[10,67,68,69,72,73,76,77,80],{},"A managed setting is an ordinary row on an ordinary settings page. It is not a separate list you have to consult: ",[33,70,71],{},"Let the agent work without asking permission"," looks the same on ",[33,74,75],{},"Settings → Agent"," whether you set it or your organization did. What differs is the side panel's ",[33,78,79],{},"Where this comes from",", naming where the value came from, and — for an enforced one — a lock on the row.",[10,82,83,84,87,88,91],{},"The organization owns exactly one thing about it: the ",[33,85,86],{},"value",", at the level it chose. Everything else stays yours. Your own value is kept underneath an enforced one and comes back the day the organization stops managing the row; a recommended value is written once and never rewritten over a change you made; and nothing about ",[48,89,90],{},"your"," settings — what you set, where you set it — is ever sent back to the organization.",[10,93,94,95,98,99,101,102,105,106,109],{},"The whole surface lives in ",[33,96,97],{},"Settings → Organizations",", in the ",[33,100,5],{}," row. The page shows one organization at a time — pick it from the organization picker at the top — and the row's side panel is about that one: what it manages on this machine, when the list was last checked, ",[33,103,104],{},"Refresh",", and ",[33,107,108],{},"Manage"," for the administrator half.",[62,111,113],{"id":112},"the-three-levels","The three levels",[10,115,116],{},"Every managed setting is published at one of three levels, and the level is shown beside it in the list.",[118,119,120,136],"table",{},[121,122,123],"thead",{},[124,125,126,130,133],"tr",{},[127,128,129],"th",{},"Level",[127,131,132],{},"What it does on a member's device",[127,134,135],{},"What the member can do",[137,138,139,153,166],"tbody",{},[124,140,141,147,150],{},[142,143,144],"td",{},[33,145,146],{},"Recommended",[142,148,149],{},"Set once on each member's device as their global value.",[142,151,152],{},"Change it afterwards. A recommendation is never written over a value the member has since changed.",[124,154,155,160,163],{},[142,156,157],{},[33,158,159],{},"Enforced",[142,161,162],{},"Applies on every device, above every layer — session, project, workspace and global alike. The row is read-only.",[142,164,165],{},"Nothing, until the organization stops enforcing it. Their own value is kept and returns when it does.",[124,167,168,173,180],{},[142,169,170],{},[33,171,172],{},"Evaluate",[142,174,175,176,179],{},"Changes nothing on any device. Each device reports one yes or no — ",[48,177,178],{},"would this change here?"," — and the administrator sees counts.",[142,181,182],{},"Everything they could before. Nothing is applied.",[10,184,185,186,189,190,189,193,196,197,60],{},"The app states the same three in one line each, above every table that uses the words: ",[48,187,188],{},"Set once on each member's device; they can change it afterwards."," — ",[48,191,192],{},"Applies on every device and members can't change it.",[48,194,195],{},"Changes nothing; shows how many devices would change."," On the web the third is called ",[33,198,199],{},"Dry run",[10,201,202,204],{},[33,203,146],{}," is the level that respects a change you made. The organization's value lands in your global layer once, exactly as if you had set it there, and from then on it behaves as your global value: your workspace and project overrides win over it as usual. If the organization later changes its recommendation, the new value arrives only if you never touched the first; and if it withdraws the recommendation, the value is removed only if it is still the one the organization planted. A value you changed is yours, and stays.",[10,206,207,209,210,214,215,218],{},[33,208,159],{}," is the level that wins. It sits above all four of the ",[14,211,213],{"href":212},"\u002Fdocs\u002Fsettings#layered-settings","layers",", so a project override cannot get out from under it, and it applies everywhere the setting is read — not only on the settings page, but wherever the app consults that value: a lifecycle hook, a session start, a review. Your own value is not deleted; it is ",[33,216,217],{},"shadowed",", and the row's hover shows both.",[10,220,221,223,224,227,228,60],{},[33,222,172],{}," is the level for finding out before deciding. Nothing changes anywhere; what the organization gets is a count of how many devices ",[48,225,226],{},"would"," change, and it never gets names — see ",[14,229,231],{"href":230},"#the-dry-run-and-what-it-sends","The dry run",[62,233,235],{"id":234},"what-you-see-on-a-managed-row","What you see on a managed row",[10,237,238],{},"A row your organization manages looks like any other row in the list, with one difference for an enforced one:",[240,241,242,269],"ul",{},[243,244,245,246,249,250,253,254,256,257,260,261,264,265,268],"li",{},"An ",[33,247,248],{},"enforced"," row shows a ",[33,251,252],{},"lock"," in place of its arrow. Select it and the side panel's ",[33,255,79],{}," says ",[48,258,259],{},"Set by Acme. Ask an admin to change it."," Every control in the side panel is read-only, on every settings page — global, workspace, project and session — and there is no ",[33,262,263],{},"Reset to default"," or ",[33,266,267],{},"Use workspace value",", because there is nothing there you could change.",[243,270,271,272,275],{},"A ",[33,273,274],{},"recommended"," row is editable exactly as before. While its global value is still the one the organization planted, its side panel says so; the note goes away the moment you change it, because from then on the value is yours.",[10,277,278,279,282,283,286,287],{},"The side panel tells you both halves. On an enforced row: ",[48,280,281],{},"\"Acme sets this to Sonnet. Your own value, Opus (set at Project), returns if Acme stops managing it.\""," — or ",[48,284,285],{},"\"You have no value of your own.\""," if you never set one. On a recommended row: ",[48,288,289],{},"\"Acme recommended Sonnet. It was set once on this device, and you can change it.\"",[10,291,292],{},"The lock is a statement, not merely a disabled control: a write to an enforced setting is refused by the app whatever screen it comes from, so the lock is the app telling you what it would do rather than the only thing stopping you.",[38,294,295],{},[10,296,297,300,301,303,304,60],{},[33,298,299],{},"On a workspace or project page, every other row still overrides as usual."," Each setting overrides on its own, so the rows around an enforced one stay editable; only the enforced row stays locked. An enforced value is not one of the layers, so there is nothing to override and no ",[33,302,267],{}," to press — see ",[14,305,307],{"href":306},"\u002Fdocs\u002Fsettings#overriding-at-a-workspace-or-project","Overriding at a workspace or project",[10,309,310,311,314],{},"A managed row updates ",[33,312,313],{},"live",". An administrator enforcing a setting locks the row on your open settings page without a restart, and withdrawing one unlocks it the same way — with your own value back in place.",[62,316,318],{"id":317},"which-settings-can-be-managed","Which settings can be managed",[10,320,321,322,326],{},"Exactly the settings that can follow you between your own machines: the ones ",[14,323,325],{"href":324},"\u002Fdocs\u002Fsync#what-travels","cross-device sync"," carries. Anything that describes a preference about how Plexus behaves qualifies — the agent's model and effort, whether sessions start automatically, the review prompts, the lifecycle-hook settings, the copied files, the keybindings.",[10,328,329,330,333],{},"What an organization can ",[33,331,332],{},"never"," manage:",[240,335,336,347,353],{},[243,337,338,341,342,346],{},[33,339,340],{},"The fifteen settings that describe the machine"," — the shell, the path to the Claude program, the port range, the diagnostics settings, the warm-session cap, the hook timeout, Gravatar avatars, the merged-PR cleanup, the pre-reshape fetch and the two sync switches. They are listed with the reason for each in ",[14,343,345],{"href":344},"\u002Fdocs\u002Fsync#what-stays-on-this-machine","What stays on this machine",", and the same reason applies here: a path or a port range pinned organization-wide means nothing on the next laptop. This also means an organization can never pin how often your machine checks in with it.",[243,348,349,352],{},[33,350,351],{},"Anything in your keychain."," No credential, no token, no sign-in.",[243,354,355,358],{},[33,356,357],{},"Everything on the Appearance page",", and your custom notification sound — those were never layered settings to begin with.",[10,360,361,362,364,365,368,369,372],{},"If an organization publishes a setting this version of Plexus does not have — a newer version added it, or the value is not one this version accepts — the row is listed under ",[33,363,5],{}," with ",[48,366,367],{},"\"This version of Plexus doesn't know this setting.\""," and ",[33,370,371],{},"nothing is applied",". It starts applying the day you update to a version that knows it, without anybody having to publish it again.",[62,374,376],{"id":375},"setting-them-up","Setting them up",[10,378,379,380,383,384,388,389,392,393,368,396,399,400,368,403,406,407,392,410,368,413,416,417,419,420,60],{},"Everything below needs a role that grants it. Three permissions sit under ",[33,381,382],{},"Shared settings"," in the ",[14,385,387],{"href":386},"\u002Fdocs\u002Froles","role editor",": ",[48,390,391],{},"View settings",", ",[48,394,395],{},"Edit settings",[48,397,398],{},"Enforce settings",". ",[33,401,402],{},"Owner",[33,404,405],{},"Admin"," hold all three by default; ",[33,408,409],{},"Maintainer",[33,411,412],{},"Member",[33,414,415],{},"Restricted"," hold ",[48,418,391],{}," only, so every member can read what their organization manages and see the dry-run counts, and a role that should also publish is a ",[14,421,423],{"href":422},"\u002Fdocs\u002Froles#making-your-own","copy with the other two ticked",[10,425,426,429,430,432,433,435],{},[33,427,428],{},"Enforcing is a separate act from publishing, on purpose."," ",[48,431,395],{}," lets somebody publish a recommendation, change a value, run a dry run and withdraw a setting; ",[48,434,398],{}," is what locks a row on other people's machines. An organization that wants a wide circle proposing values and a narrow one imposing them ticks the two boxes on different roles.",[10,437,438],{},"There are two places to do it, and they are the same list.",[440,441,443],"h3",{"id":442},"in-the-app","In the app",[10,445,446,447,449,450,452,453,455,456,459],{},"Pick the organization on ",[33,448,97],{}," and open its ",[33,451,5],{}," row and press ",[33,454,108],{},". A control you may not use is ",[33,457,458],{},"absent rather than disabled",", so the buttons you see are the ones you can press.",[240,461,462,480,486,495],{},[243,463,464,467,468,264,470,472,473,476,477],{},[33,465,466],{},"Manage a setting"," opens a dialog: pick a setting from the list of ones that can be managed and are not yet published, grouped as they are on the settings pages; give it a value with the same control the setting has on its own page; choose ",[33,469,146],{},[33,471,172],{},"; press ",[33,474,475],{},"Publish",". The dialog says the rest: ",[48,478,479],{},"every member's device receives this on its next check; enforcing is a separate switch on the policy once it is published.",[243,481,482,483,485],{},"Each published row shows the setting, its level, who last changed it, and the value — as an editable control while the row may be re-valued, so changing a recommendation is one edit in place. A ",[33,484,129],{}," picker swaps a row between Recommended and Evaluate.",[243,487,488,491,492,494],{},[33,489,490],{},"Enforce"," is a switch on the row, shown only to somebody holding ",[48,493,398],{},". On, the row locks on every member's machine; off, it unlocks everywhere and the setting stays published as a recommendation. An enforced row shows its value as text rather than a control: change the value by stopping enforcement first, or edit it on the web.",[243,496,497,500,501],{},[33,498,499],{},"Withdraw"," takes the setting out of the organization's list entirely. The dialog says exactly what that does: ",[48,502,503],{},"Acme stops managing this setting on every member's device. A locked row unlocks and the member's own value returns; a recommended value they never changed is removed. Nothing a member set themselves is touched.",[440,505,507],{"id":506},"on-the-web","On the web",[10,509,510,511,513,514,368,517,399,520,392,523,392,526,392,528,368,531,533,534,536,537,540,541,544],{},"The same list is a tab in your account panel: open the organization, then ",[33,512,382],{},", between ",[33,515,516],{},"Workspaces",[33,518,519],{},"Billing",[33,521,522],{},"Publish a setting",[33,524,525],{},"Change value",[33,527,490],{},[33,529,530],{},"Stop enforcing",[33,532,499],{}," do exactly what their app counterparts do, and the table carries a ",[33,535,199],{}," column with the same counts. You get there from ",[33,538,539],{},"Settings → My account → Manage on the web"," in the app, or from the ",[33,542,543],{},"Sign in"," link in this site's header.",[440,546,548],{"id":547},"reaching-the-members","Reaching the members",[10,550,551,552,555,556,559,560,562,563,565,566,569,570,60],{},"A published setting reaches a member's machine on that machine's next check — the same check that fetches the organization's ",[14,553,30],{"href":554},"\u002Fdocs\u002Fshared-workspaces#staying-up-to-date",": when Plexus starts, when you switch back to its window, a couple of seconds after you change something, and on the schedule set by ",[33,557,558],{},"Check for changes every (minutes)"," on the Sync page. ",[33,561,104],{}," under ",[33,564,5],{}," asks immediately, and the list carries its own clock per organization — ",[48,567,568],{},"Checked 4 minutes ago",", or ",[48,571,572],{},"Not checked yet",[10,574,575,576,579,580,583,584,587],{},"That check does ",[33,577,578],{},"not"," require ",[33,581,582],{},"Sync this machine"," to be on. A managed setting is a value arriving from your organization, not anything of yours leaving, so it needs only that you are signed in, hold a seat, and the organization's plan includes it. An enforced setting reaches ",[33,585,586],{},"every"," member with a seat, including one whose role holds no permission at all — a rule that could be dodged by holding the wrong role would not be a rule.",[62,589,591],{"id":590},"the-dry-run-and-what-it-sends","The dry run, and what it sends",[10,593,594,596],{},[33,595,172],{}," exists so an organization can find out what enforcing a value would do before it does it, without turning anybody's machine into the experiment.",[10,598,599,600,603],{},"While a setting is under evaluation, each member's device works out one thing — ",[33,601,602],{},"whether its own value for that setting differs from the one proposed"," — and reports the answer as a yes or a no, with the same check that fetched the list. That is the whole of what leaves: not the member's value, not their overrides, not which layer they set it at, and nothing about any other setting.",[10,605,606,607,610,611,614,615,618],{},"The administrator sees the answers as counts, never as people: ",[48,608,609],{},"\"Would change on 3 of 12 devices.\""," Below five devices the split is withheld — ",[48,612,613],{},"\"Fewer than 5 devices reporting.\""," — and it is withheld on ",[33,616,617],{},"both"," sides, because printing a total beside one hidden number discloses the other by subtraction. A single device reporting alone is the one case that prints exactly, since there is nothing to hide it among.",[38,620,621],{},[10,622,623,626],{},[33,624,625],{},"A yes or no lives only as long as the evaluation does."," It is kept for the setting while that setting is at the Evaluate level and deleted the moment the setting is published as a recommendation, enforced or withdrawn. It is attached to the device that sent it and to that person's membership, so it also goes when that device is signed out or that person leaves the organization. There is no history of it, and nothing it could be assembled into.",[10,628,629],{},"Move the setting to Recommended or Enforced and the counts disappear with the evaluation; the value then goes out at the new level like any other.",[62,631,633],{"id":632},"offline-lapses-and-leaving","Offline, lapses and leaving",[10,635,636],{},"The values your organization manages are held on your machine, and the app reads them from there — never from a live connection. So the rule for every kind of trouble is the same one.",[38,638,639],{},[10,640,641,644,645,647,648,650,651,654,655,658],{},[33,642,643],{},"An enforced setting keeps its last known value."," Offline, on a machine that cannot reach us, on a plan that has lapsed, or after your seat was taken back: nothing unlocks and nothing vanishes. The row stays locked at the value it last received, and that organization's ",[33,646,5],{}," row on ",[33,649,97],{}," says plainly that the list may be stale — ",[48,652,653],{},"\"We haven't been able to check your plan\"",", with ",[33,656,657],{},"Check again"," beside it — while listing, below a separator, what this machine still holds and why. A lock that opened whenever the network dropped would be a lock anybody could pick by unplugging a cable.",[10,660,661,662,665],{},"Managed settings are dropped from a machine in exactly one case: ",[33,663,664],{},"the organization confirms you are no longer in it"," — you left, or you were removed. On the next successful check the organization's values go, your own settings come back untouched, and no other organization's values are affected. A seat taken back is not that case: you are still a member, so what the organization enforces stays enforced until it withdraws it or you leave.",[10,667,668],{},"Withdrawing one is never blocked. An administrator can withdraw a setting and stop enforcing one on a plan that has lapsed, with too few seats, or with the organization's plan no longer covering managed settings at all, and the app shows those two controls under the stale panel for exactly that reason — see below.",[62,670,672],{"id":671},"what-needs-a-seat-and-what-never-stops","What needs a seat, and what never stops",[10,674,675,678],{},[33,676,677],{},"A seat is what buys the receiving."," Being handed a recommendation, being locked to an enforced value, reporting for a dry run, and every part of publishing need the organization's plan to cover managed settings and you to hold one of its seats.",[10,680,681],{},"Three things carry on regardless, and each is deliberate:",[240,683,684,694,708],{},[243,685,686,689,690,693],{},[33,687,688],{},"What is already enforced."," A value your machine already holds keeps applying — see the callout above. What a lapse costs is ",[48,691,692],{},"updates",", not the rule that was already in force.",[243,695,696,699,700,703,704,707],{},[33,697,698],{},"Taking something back."," An administrator can still ",[33,701,702],{},"withdraw"," a setting and ",[33,705,706],{},"stop enforcing"," one after a plan lapses, with a seat shortfall, and on a plan that no longer includes the feature. Otherwise a lapsed organization could not unlock a row it had locked on a departed colleague's machine, which is exactly backwards.",[243,709,710,713],{},[33,711,712],{},"Your own values."," A shadowed value is still yours; nothing about a lapse, a seat or a withdrawal deletes it.",[10,715,716,717,720,721,724,725,727,728,730,731,733,734,368,736,738,739,742,743,746],{},"If more seats are handed out than the plan pays for, the admin panel shows a warning naming both numbers and ",[33,718,719],{},"publishing and enforcing pause until it is fixed"," — the same rule as for ",[14,722,30],{"href":723},"\u002Fdocs\u002Fshared-workspaces#if-more-seats-are-handed-out-than-the-plan-pays-for",". In the app ",[33,726,466],{}," and the on-side of ",[33,729,490],{}," are absent while it lasts; on the web ",[33,732,522],{}," is disabled. ",[33,735,499],{},[33,737,530],{}," stay. Press ",[33,740,741],{},"Manage seats"," on the banner — it opens the organization's ",[33,744,745],{},"Plan, seats and people"," row on the same page — or add seats, and it clears itself.",[10,748,749],{},"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.",[62,751,753],{"id":752},"what-sync-does-and-does-not-carry","What sync does and does not carry",[10,755,756,760,761,763,764,766,767,770],{},[14,757,759],{"href":758},"\u002Fdocs\u002Fsync","Cross-device sync"," carries ",[48,762,90],{}," settings between ",[48,765,90],{}," machines. An organization's managed values are ",[33,768,769],{},"not part of it",": each of your machines receives them from the organization directly, on the check described above, and turning sync off does not stop them arriving. An enforced value never enters your settings at all — it sits above them — and a recommended one is planted on each machine by the organization rather than carried from one of your machines to the next.",[10,772,773],{},"Two organizations enforcing the same setting is rare and is settled deterministically: on a workspace one of them shares, that organization's value wins; elsewhere Plexus picks one and the row's side panel names it.",[62,775,777],{"id":776},"related","Related",[240,779,780,786,796,802,807,812],{},[243,781,782,785],{},[14,783,784],{"href":212},"Settings"," — the four layers, and where an enforced value sits above them.",[243,787,788,368,791,795],{},[14,789,790],{"href":29},"Shared workspaces",[14,792,794],{"href":793},"\u002Fdocs\u002Forg-prompts","Prompts your organization publishes"," — the other two things an organization hands its members, on the same page in the app.",[243,797,798,801],{},[14,799,800],{"href":386},"Roles and permissions"," — the three settings permissions and who holds them.",[243,803,804,806],{},[14,805,59],{"href":58}," — what a seat is, and how one is given.",[243,808,809,811],{},[14,810,759],{"href":344}," — the fifteen settings that stay on the machine, which are also the ones nobody can manage.",[243,813,814,818],{},[14,815,817],{"href":816},"\u002Flegal\u002Fprivacy","Privacy Policy"," — the field-by-field account of what a dry run sends and what we record.",{"title":820,"searchDepth":821,"depth":821,"links":822},"",2,[823,824,825,826,827,833,834,835,836,837],{"id":64,"depth":821,"text":65},{"id":112,"depth":821,"text":113},{"id":234,"depth":821,"text":235},{"id":317,"depth":821,"text":318},{"id":375,"depth":821,"text":376,"children":828},[829,831,832],{"id":442,"depth":830,"text":443},3,{"id":506,"depth":830,"text":507},{"id":547,"depth":830,"text":548},{"id":590,"depth":821,"text":591},{"id":632,"depth":821,"text":633},{"id":671,"depth":821,"text":672},{"id":752,"depth":821,"text":753},{"id":776,"depth":821,"text":777},"Let a Plexus organization recommend, enforce or dry-run settings on members' machines: the three levels, locked rows, eligible settings and offline rules.","md","Integrations","Lock",{},true,46,"\u002Fdocs\u002Fmanaged-settings",{"title":5,"description":838},"docs\u002Fmanaged-settings","xSJ06R91mg8V4OjZUedBsBpK4recX9s_Qqnu0cCjoc8",[850,857,863,868,874,881,887,894,901,908,916,923,930,937,944,951,957,964,968,974,980,988,995,1001,1008,1015,1022,1026,1031,1036,1040,1041,1045,1052,1059,1066,1073,1078,1085],{"path":851,"title":852,"navTitle":852,"description":853,"icon":854,"group":855,"order":856},"\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":858,"title":859,"navTitle":860,"description":861,"icon":862,"group":855,"order":821},"\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":864,"title":865,"navTitle":865,"description":866,"icon":867,"group":855,"order":830},"\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":869,"title":870,"navTitle":870,"description":871,"icon":872,"group":855,"order":873},"\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":875,"title":876,"navTitle":877,"description":878,"icon":879,"group":855,"order":880},"\u002Fdocs\u002Fconcepts","Core concepts","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":882,"title":883,"navTitle":883,"description":884,"icon":885,"group":855,"order":886},"\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":888,"title":889,"navTitle":889,"description":890,"icon":891,"group":892,"order":893},"\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":895,"title":896,"navTitle":897,"description":898,"icon":899,"group":892,"order":900},"\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":902,"title":903,"navTitle":904,"description":905,"icon":906,"group":892,"order":907},"\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":909,"title":910,"navTitle":911,"description":912,"icon":913,"group":914,"order":915},"\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":917,"title":918,"navTitle":919,"description":920,"icon":921,"group":914,"order":922},"\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":924,"title":925,"navTitle":926,"description":927,"icon":928,"group":914,"order":929},"\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":931,"title":932,"navTitle":933,"description":934,"icon":935,"group":914,"order":936},"\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":938,"title":939,"navTitle":940,"description":941,"icon":942,"group":914,"order":943},"\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":945,"title":946,"navTitle":947,"description":948,"icon":949,"group":914,"order":950},"\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":952,"title":953,"navTitle":953,"description":954,"icon":955,"group":914,"order":956},"\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":958,"title":959,"navTitle":960,"description":961,"icon":962,"group":914,"order":963},"\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":965,"title":904,"navTitle":904,"description":966,"icon":906,"group":914,"order":967},"\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":969,"title":970,"navTitle":970,"description":971,"icon":972,"group":914,"order":973},"\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":975,"title":976,"navTitle":976,"description":977,"icon":978,"group":914,"order":979},"\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":981,"title":982,"navTitle":983,"description":984,"icon":985,"group":986,"order":987},"\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":989,"title":990,"navTitle":991,"description":992,"icon":993,"group":986,"order":994},"\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":996,"title":997,"navTitle":997,"description":998,"icon":999,"group":986,"order":1000},"\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":1002,"title":1003,"navTitle":1004,"description":1005,"icon":1006,"group":986,"order":1007},"\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":1009,"title":1010,"navTitle":1011,"description":1012,"icon":1013,"group":840,"order":1014},"\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":1016,"title":1017,"navTitle":1018,"description":1019,"icon":1020,"group":840,"order":1021},"\u002Fdocs\u002Faccount","Your Plexus account","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":59,"navTitle":519,"description":1023,"icon":1024,"group":840,"order":1025},"What a paid Plexus plan unlocks, individual and per-seat organization plans, buying through Moneybird, invitations, invoices and VAT, and cancelling.","CreditCard",42,{"path":758,"title":759,"navTitle":1027,"description":1028,"icon":1029,"group":840,"order":1030},"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":386,"title":800,"navTitle":1032,"description":1033,"icon":1034,"group":840,"order":1035},"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":29,"title":790,"navTitle":790,"description":1037,"icon":1038,"group":840,"order":1039},"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.","Building2",45,{"path":845,"title":5,"navTitle":5,"description":838,"icon":841,"group":840,"order":844},{"path":793,"title":794,"navTitle":1042,"description":1043,"icon":1006,"group":840,"order":1044},"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":1046,"title":1047,"navTitle":1048,"description":1049,"icon":1050,"group":840,"order":1051},"\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":1053,"title":1054,"navTitle":1055,"description":1056,"icon":1057,"group":840,"order":1058},"\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":1060,"title":1061,"navTitle":1062,"description":1063,"icon":1064,"group":840,"order":1065},"\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":1067,"title":1068,"navTitle":1069,"description":1070,"icon":1071,"group":840,"order":1072},"\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":1074,"title":784,"navTitle":784,"description":1075,"icon":784,"group":1076,"order":1077},"\u002Fdocs\u002Fsettings","Every Plexus setting and its default, and how settings layer from global to workspace, project and session — including organization-enforced values.","Reference",52,{"path":1079,"title":1080,"navTitle":1081,"description":1082,"icon":1083,"group":1076,"order":1084},"\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":1086,"title":1087,"navTitle":1088,"description":1089,"icon":1090,"group":1076,"order":1091},"\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":1093,"\u002Fdocs\u002Fagent":1094,"\u002Fdocs\u002Farchitecture":1094,"\u002Fdocs\u002Fbilling":1093,"\u002Fdocs\u002Fboards":1094,"\u002Fdocs\u002Fconcepts":1095,"\u002Fdocs\u002Fconnections":1096,"\u002Fdocs\u002Fdashboard":1093,"\u002Fdocs\u002Fexplorer":1097,"\u002Fdocs\u002Ffeedback":1095,"\u002Fdocs\u002Fgetting-started":1098,"\u002Fdocs\u002Fgit":1093,"\u002Fdocs\u002Fhooks":1099,"\u002Fdocs":1094,"\u002Fdocs\u002Finstall":1094,"\u002Fdocs\u002Fissues":1095,"\u002Fdocs\u002Fmanaged-settings":1097,"\u002Fdocs\u002Forg-prompts":1097,"\u002Fdocs\u002Fplnnrly":1095,"\u002Fdocs\u002Fproject-git":1096,"\u002Fdocs\u002Fproject-terminal":1100,"\u002Fdocs\u002Fprompts":1099,"\u002Fdocs\u002Fpull-requests":1093,"\u002Fdocs\u002Frequirements":1098,"\u002Fdocs\u002Freview":1097,"\u002Fdocs\u002Froles":1094,"\u002Fdocs\u002Fsecrets":1099,"\u002Fdocs\u002Fsessions":1093,"\u002Fdocs\u002Fsettings":1093,"\u002Fdocs\u002Fshared-workspaces":1097,"\u002Fdocs\u002Fshortcuts":1101,"\u002Fdocs\u002Fsplit-view":1093,"\u002Fdocs\u002Fstacks":1093,"\u002Fdocs\u002Fstatus":1093,"\u002Fdocs\u002Fsync":1093,"\u002Fdocs\u002Fterminal":1100,"\u002Fdocs\u002Ftoolchain":1095,"\u002Fdocs\u002Fwindows":1099,"\u002Fdocs\u002Fworktrees":1099},"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":1103,"compare":1121},[1104,1107,1109,1112,1115,1118],{"label":1105,"to":1106},"Sessions & status","\u002Ffeatures\u002Fsessions-and-status",{"label":940,"to":1108},"\u002Ffeatures\u002Freview",{"label":1110,"to":1111},"Worktrees & hooks","\u002Ffeatures\u002Fworktrees-and-hooks",{"label":1113,"to":1114},"Git & issues","\u002Ffeatures\u002Fgit-and-issues",{"label":1116,"to":1117},"Stacks","\u002Ffeatures\u002Fstacks",{"label":1119,"to":1120},"Teams","\u002Ffeatures\u002Fteams",[1122,1125,1128,1131],{"label":1123,"to":1124},"vs Claude Code","\u002Fcompare\u002Fclaude-code",{"label":1126,"to":1127},"vs Claude Squad and Nimbalyst","\u002Fcompare\u002Fclaude-squad-and-nimbalyst",{"label":1129,"to":1130},"vs Conductor","\u002Fcompare\u002Fconductor",{"label":1132,"to":1133},"vs Cursor","\u002Fcompare\u002Fcursor",1792695510063]