[{"data":1,"prerenderedAt":997},["ShallowReactive",2],{"docs-\u002Fdocs\u002Froles":3,"docs-nav":715,"docs-updated":955,"site-nav-marketing":965},{"id":4,"title":5,"body":6,"description":704,"extension":705,"group":706,"icon":707,"meta":708,"navTitle":76,"navigation":709,"order":710,"path":711,"seo":712,"stem":713,"__hash__":714},"docs\u002Fdocs\u002Froles.md","Roles and permissions",{"type":7,"value":8,"toc":690},"minimark",[9,24,62,67,86,94,100,104,126,133,147,280,289,293,358,375,378,408,412,418,436,441,451,455,470,477,480,484,487,501,512,524,528,543,560,575,579,586,596,600,603,629,635,642,646,656,659],[10,11,12,13,18,19,23],"p",{},"Roles decide what each person in an ",[14,15,17],"a",{"href":16},"\u002Fdocs\u002Faccount#organizations","organization"," is allowed to do: an organization hands somebody a ",[20,21,22],"strong",{},"role"," instead of a list of permissions, and every organization starts with five of them.",[10,25,26,27,31,32,35,36,40,41,45,46,40,49,53,54,40,57,61],{},"Roles cost nothing. They are not part of a ",[14,28,30],{"href":29},"\u002Fdocs\u002Fbilling","plan",", no permission is sold behind one, and an organization with no plan at all composes roles exactly as one paying for fifty seats does. What a plan decides is whether the ",[20,33,34],{},"feature"," a permission governs exists for you at all — the five under ",[37,38,39],"em",{},"Workspaces and projects"," govern ",[14,42,44],{"href":43},"\u002Fdocs\u002Fshared-workspaces","shared workspaces",", the three under ",[37,47,48],{},"Shared settings",[14,50,52],{"href":51},"\u002Fdocs\u002Fmanaged-settings","managed settings"," and the five under ",[37,55,56],{},"Prompt library",[14,58,60],{"href":59},"\u002Fdocs\u002Forg-prompts","the prompts an organization publishes",", all three of which need a seat — but the permission itself is yours to grant, keep and take back for free, and it is waiting the day the plan arrives.",[63,64,66],"h2",{"id":65},"where-roles-live","Where roles live",[10,68,69,70,73,74,77,78,81,82,85],{},"Roles are managed ",[20,71,72],{},"on the web",", in your account panel: open the organization, then ",[20,75,76],{},"Roles",". You get there from ",[20,79,80],{},"Settings → My account → Manage on the web"," in the app, or from the ",[20,83,84],{},"Sign in"," link in this site's header.",[10,87,88,89,93],{},"There is no role editor in Plexus itself, and that is deliberate rather than pending. The app shows you who is in an organization and hands the rest off to the browser, the same way it hands off ",[14,90,92],{"href":91},"\u002Fdocs\u002Fbilling#in-the-app-and-in-the-browser","buying a plan and reading invoices",".",[10,95,96,97,99],{},"The ",[20,98,76],{}," page appears only for people who may use it — an organization's owner and its admins, by default. For everybody else the item is simply not in the sub-navigation, rather than being a page that refuses when clicked.",[63,101,103],{"id":102},"what-a-role-is","What a role is",[10,105,106,107,110,111,114,115,118,119,118,122,125],{},"A role is a name with a set of ",[20,108,109],{},"permissions"," ticked behind it. A permission names one ",[20,112,113],{},"act"," — ",[37,116,117],{},"Manage members",", ",[37,120,121],{},"Publish prompts",[37,123,124],{},"Edit shared settings"," — and never a job title. Nobody is granted a permission directly: you compose permissions into roles, and hand out roles.",[10,127,128,129,132],{},"The catalogue is fixed at ",[20,130,131],{},"37 acts",", grouped on the editing screen by what they are about: Organization, Workspaces and projects, Shared settings, Prompt library, Knowledge and wiki, Code-style rules, Contribution, Sessions, Organization hooks, Inference, and Presence.",[10,134,135,136,114,139,142,143,146],{},"Several of those groups name features Plexus has not shipped yet. Their checkboxes are ",[20,137,138],{},"greyed out and labelled",[37,140,141],{},"\"Publish proposals — planned, Wave 6\""," — and cannot be ticked. ",[20,144,145],{},"Nineteen are enforced today",", across four groups:",[148,149,150,157,199,232],"ul",{},[151,152,153,156],"li",{},[20,154,155],{},"Organization"," — changing the organization's details, deleting it, managing members, managing roles, assigning seats, and managing billing.",[151,158,159,114,161,118,164,118,167,118,170,173,174,177,178,181,182,173,185,188,189,118,192,173,195,198],{},[20,160,39],{},[37,162,163],{},"Create workspaces",[37,165,166],{},"Attach projects",[37,168,169],{},"Edit workspaces",[37,171,172],{},"Delete workspaces"," and ",[37,175,176],{},"Manage membership",". These five decide who may set up the ",[14,179,180],{"href":43},"workspaces an organization shares",": create one, attach repositories to it, change its name or who may join, withdraw it, and answer the people asking to get in. ",[20,183,184],{},"Owner",[20,186,187],{},"Admin"," hold all five; ",[20,190,191],{},"Maintainer",[20,193,194],{},"Member",[20,196,197],{},"Restricted"," hold none, so a curator role that should also run workspaces is a copy with those five ticked.",[151,200,201,114,203,118,206,173,209,212,213,216,217,173,219,221,222,118,224,173,226,228,229,231],{},[20,202,48],{},[37,204,205],{},"View settings",[37,207,208],{},"Edit settings",[37,210,211],{},"Enforce settings",". These three decide who may see and set the ",[14,214,215],{"href":51},"settings an organization manages"," on its members' machines: read the list and the dry-run counts, publish a recommendation or a dry run and withdraw one, and lock a value on every member's machine. ",[20,218,184],{},[20,220,187],{}," hold all three; ",[20,223,191],{},[20,225,194],{},[20,227,197],{}," hold ",[37,230,205],{}," only, so every member can read what their organization manages. Enforcing is deliberately a separate act from publishing: an organization can let a wide circle propose values and a narrow one impose them, by ticking the two boxes on different roles.",[151,233,234,114,236,118,239,118,242,118,244,173,247,250,251,254,255,173,257,188,259,261,262,264,265,173,267,228,269,173,271,273,274,276,277,279],{},[20,235,56],{},[37,237,238],{},"Use prompts",[37,240,241],{},"Propose prompts",[37,243,121],{},[37,245,246],{},"Manage revisions",[37,248,249],{},"Delete prompts",". These five decide who may receive and shape the ",[14,252,253],{"href":59},"prompts an organization publishes",": be handed the library at all, write a new revision, put a revision on every member's machine, roll one back or drop a draft, and retire a template. ",[20,256,184],{},[20,258,187],{},[20,260,191],{}," holds all but ",[37,263,249],{},"; ",[20,266,194],{},[20,268,197],{},[37,270,238],{},[37,272,241],{},". A role that denies ",[37,275,238],{}," receives nothing from the library, and a member whose role lacks ",[37,278,121],{}," is refused by the organization's own service, not merely by a hidden button.",[281,282,283],"callout",{},[10,284,285,288],{},[20,286,287],{},"The unbuilt ones are shown rather than hidden, on purpose."," A role you design carefully this month should still say something about a feature that arrives in four months' time — otherwise your role list grows a new checkbox every release, and \"nobody ever ticked this\" becomes impossible to tell apart from \"we decided against it\".",[63,290,292],{"id":291},"the-five-you-start-with","The five you start with",[294,295,296,309],"table",{},[297,298,299],"thead",{},[300,301,302,306],"tr",{},[303,304,305],"th",{},"Role",[303,307,308],{},"What it is for",[310,311,312,322,331,340,349],"tbody",{},[300,313,314,319],{},[315,316,317],"td",{},[20,318,184],{},[315,320,321],{},"Everything, including billing and deleting the organization.",[300,323,324,328],{},[315,325,326],{},[20,327,187],{},[315,329,330],{},"Everything except billing and deleting the organization.",[300,332,333,337],{},[315,334,335],{},[20,336,191],{},[315,338,339],{},"Curates what the organization publishes — prompts, knowledge and code-style rules — without being handed the organization itself.",[300,341,342,346],{},[315,343,344],{},[20,345,194],{},[315,347,348],{},"Uses what the organization shares, and proposes changes to it.",[300,350,351,355],{},[315,352,353],{},[20,354,197],{},[315,356,357],{},"For contractors and anyone whose sessions must not feed the knowledge base.",[10,359,360,363,364,367,368,371,372],{},[20,361,362],{},"The five are read-only."," Nobody edits them — not you, and not us on your behalf. Pressing ",[20,365,366],{},"Edit"," on one opens it anyway, so you can read exactly what Maintainer grants; it is ",[20,369,370],{},"Save"," that refuses, with ",[37,373,374],{},"\"That role ships with Plexus, so it cannot be edited. Make a copy of it and change the copy.\"",[10,376,377],{},"That is a redirection rather than a wall, and the reason for it is that these five names have to mean the same thing everywhere. Support can answer \"does Maintainer publish prompts\" without first opening your organization's editor, and a role edited in place would silently rewrite what everybody already holding it is allowed to do — the one change a permission model must never make quietly. Copying costs one click and gives you a role you own outright.",[281,379,381],{"tone":380},"warn",[10,382,383,386,387,118,390,118,393,118,396,399,400,403,404,407],{},[20,384,385],{},"What an admin may do changed in version 1.0.0."," An admin can no longer ",[20,388,389],{},"buy a plan",[20,391,392],{},"change how many seats the organization pays for",[20,394,395],{},"open the billing portal",[20,397,398],{},"read the organization's invoices",", or ",[20,401,402],{},"delete the organization",". The plan and the organization itself are the owner's. Everything else an admin did, an admin still does — including inviting and removing people, and giving and taking back the seats the plan already pays for. If you want your admins to keep billing, ",[20,405,406],{},"copy Admin, tick Manage billing on the copy, and give people that instead",": it is one screen, and it needs no new version of Plexus.",[63,409,411],{"id":410},"making-your-own","Making your own",[10,413,414,415,417],{},"Two buttons on the ",[20,416,76],{}," page:",[148,419,420,430],{},[151,421,422,425,426,429],{},[20,423,424],{},"Copy"," takes any role — one of the five, or one of yours — asks for a name, and hands back a role holding the same permissions that is yours to edit. This is the answer to every sentence that starts \"Admin, but…\". The copy starts with ",[20,427,428],{},"no description",", deliberately: the original's sentence stops being true the moment the copy differs from it.",[151,431,432,435],{},[20,433,434],{},"New role"," starts from a name, a one-line description, and an empty matrix.",[10,437,438,440],{},[20,439,366],{}," opens the same form on a role you own: rename it, reword the description, tick and untick. The ticks are laid out by group, so \"what may these people do with the prompt library\" is one block rather than a hunt down a list of 37.",[10,442,443,446,447,450],{},[20,444,445],{},"Delete"," is refused while anybody still holds the role, and the refusal counts them for you — ",[37,448,449],{},"\"That role is still held by 3 members. Give them another role first, then delete it.\""," Deleting anyway would strip every holder of whatever it granted, with nothing to put it back.",[63,452,454],{"id":453},"giving-somebody-a-role","Giving somebody a role",[10,456,457,458,461,462,465,466,469],{},"On the organization's ",[20,459,460],{},"Members"," page, ",[20,463,464],{},"Change roles"," on somebody's row opens a ",[20,467,468],{},"checklist, not a dropdown",": a membership holds as many roles as you tick.",[10,471,472,473,476],{},"It must hold ",[20,474,475],{},"at least one",". Untick everything and the save is refused — somebody holding no role at all can do nothing in the organization while still appearing in its member list and possibly holding a paid seat, which is never what anybody meant.",[10,478,479],{},"Plexus asks the account service what you are allowed to do on every request and keeps no cached answer, so a role change takes effect the moment it is saved. In the app it shows up the next time that page loads, which includes coming back to the Plexus window.",[63,481,483],{"id":482},"holding-more-than-one-role-and-why-a-denial-wins","Holding more than one role, and why a denial wins",[10,485,486],{},"Roles add up. Hold three of them and you are allowed anything any one of them allows; there is no ordering, no precedence between roles, and no \"highest role wins\".",[10,488,489,490,492,493,496,497,500],{},"There is exactly one exception, and it is the whole reason ",[20,491,197],{}," works: a role can also ",[20,494,495],{},"deny"," a permission, and ",[20,498,499],{},"a denial beats every allow",", unconditionally, however many other roles grant it.",[10,502,503,504,507,508,511],{},"Restricted is the one shipped role built on a denial. It grants what Member grants ",[20,505,506],{},"minus"," contributing, and then denies contributing outright — both halves deliberately. The ordinary way somebody picks up the rest of a member's access is by also holding Member, so a contractor who is Restricted ",[37,509,510],{},"and"," Member would get contributing back from Member if Restricted merely stayed quiet. Taking something away reliably is that role's entire purpose, and \"reliably\" is the word an omission cannot deliver.",[281,513,514],{},[10,515,516,519,520,523],{},[20,517,518],{},"A denial cannot be added or removed in the editor, and one you copied is kept intact."," A checkbox has two states and a permission has three — absent, allowed, denied — so the ticks are the ",[37,521,522],{},"allowed"," set, and a permission the role denies is shown unticked, greyed out and described as taken away. Copy Restricted and the denial comes with the copy; saving that copy later never quietly drops it. Authoring a denial of your own needs a control this screen does not have yet, and until it does, this one will not destroy what it cannot express.",[63,525,527],{"id":526},"what-the-app-shows-and-what-the-panel-shows","What the app shows, and what the panel shows",[10,529,530,531,118,533,535,536,538,539,542],{},"The app's people list gives one word per person — ",[20,532,184],{},[20,534,187],{}," or ",[20,537,194],{}," — and that word is a ",[20,540,541],{},"summary of the whole set",", not one of the roles in it:",[148,544,545,550,555],{},[151,546,547,549],{},[20,548,184],{}," if their roles between them grant everything.",[151,551,552,554],{},[20,553,187],{}," if their roles include managing members.",[151,556,557,559],{},[20,558,194],{}," otherwise.",[10,561,562,563,565,566,568,569,571,572,574],{},"So somebody holding ",[20,564,191],{}," reads as ",[37,567,194],{}," in the app, because a maintainer does not manage people; somebody holding Maintainer and a copy of Admin reads as ",[37,570,187],{},". The account panel's ",[20,573,460],{}," page shows the actual set of roles, which is the answer to reach for when the badge surprises somebody.",[63,576,578],{"id":577},"the-last-owner","The last owner",[10,580,581,582,585],{},"An organization cannot be left without an owner. Taking the Owner role off the only person holding it is refused — ",[37,583,584],{},"\"An organization needs an owner. Make somebody else an owner first.\""," — and so is removing that person from the organization, and so is deleting your Plexus account while you still own one.",[10,587,588,589,592,593,595],{},"Owner is also the one role an ",[20,590,591],{},"invitation"," cannot name. Handing an organization over has to be a deliberate act by an owner against somebody who is already a member, which is what ",[20,594,464],{}," is for; an invitation, by contrast, is redeemed by whoever holds a mailbox.",[63,597,599],{"id":598},"inviting-people-into-a-role","Inviting people into a role",[10,601,602],{},"An invitation carries the role the person joins with.",[148,604,605,615],{},[151,606,607,610,611,614],{},[20,608,609],{},"In the account panel",", the list offers ",[20,612,613],{},"every role the organization has except Owner"," — the other four, plus anything you wrote, named as you named it. That is the point of writing roles at all.",[151,616,617,118,620,623,624,535,626,628],{},[20,618,619],{},"In the app",[20,621,622],{},"Invite someone"," offers ",[20,625,194],{},[20,627,187],{},". To invite somebody straight into Maintainer, Restricted or a role of your own, send that invitation from the panel.",[10,630,631,632,634],{},"If the role an invitation named is deleted before the invitation is accepted, the person joins as a ",[20,633,194],{}," rather than the invitation failing on them — an unanswered invitation is not a reason to lock somebody out of joining.",[10,636,637,641],{},[14,638,640],{"href":639},"\u002Fdocs\u002Fbilling#inviting-people","Plans, seats and billing"," covers the rest of what an invitation does, including how long it is good for and why a seat is a separate step afterwards.",[63,643,645],{"id":644},"if-you-are-refused","If you are refused",[10,647,648,649,651,652,655],{},"A refusal names the ",[20,650,113],{},", not the role — ",[37,653,654],{},"\"You do not have permission to manage this organization's billing.\""," — because the role you hold is not the useful half of the answer. The person who can fix it is your organization's owner, and what they need to hear is which permission you were missing.",[10,657,658],{},"None of this touches your own machine. Sessions, worktrees, the agent terminal, review, the explorer, the git client, hooks, pull requests and the dashboard have nothing to do with roles: they are yours, they run locally, and no role in any organization has ever switched one of them off.",[10,660,661,662,666,667,669,670,173,673,676,677,680,681,173,685,689],{},"Next: ",[14,663,665],{"href":664},"\u002Fdocs\u002Faccount","Your Plexus account"," for organizations, devices and what leaves your device, ",[14,668,640],{"href":29}," for seats and invitations, ",[14,671,672],{"href":43},"Shared workspaces",[14,674,675],{"href":51},"Managed settings"," for what the workspace and settings permissions actually govern, ",[14,678,679],{"href":59},"Prompts your organization publishes"," for what the five prompt permissions govern, or ",[14,682,684],{"href":683},"\u002Fdocs\u002Fsync","Cross-device sync",[14,686,688],{"href":687},"\u002Fdocs\u002Fprompts","Prompt templates"," for what a plan unlocks.",{"title":691,"searchDepth":692,"depth":692,"links":693},"",2,[694,695,696,697,698,699,700,701,702,703],{"id":65,"depth":692,"text":66},{"id":102,"depth":692,"text":103},{"id":291,"depth":692,"text":292},{"id":410,"depth":692,"text":411},{"id":453,"depth":692,"text":454},{"id":482,"depth":692,"text":483},{"id":526,"depth":692,"text":527},{"id":577,"depth":692,"text":578},{"id":598,"depth":692,"text":599},{"id":644,"depth":692,"text":645},"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.","md","Integrations","ShieldCheck",{},true,44,"\u002Fdocs\u002Froles",{"title":5,"description":704},"docs\u002Froles","41-IM6_s1wYeUHdC9iKgKM95V4TIS1EcL-NpA9C2-sk",[716,723,729,735,741,748,754,761,768,775,783,790,797,804,811,818,824,831,835,841,847,855,862,868,872,879,884,889,894,895,899,903,907,914,921,928,935,941,948],{"path":717,"title":718,"navTitle":718,"description":719,"icon":720,"group":721,"order":722},"\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":724,"title":725,"navTitle":726,"description":727,"icon":728,"group":721,"order":692},"\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":730,"title":731,"navTitle":731,"description":732,"icon":733,"group":721,"order":734},"\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",3,{"path":736,"title":737,"navTitle":737,"description":738,"icon":739,"group":721,"order":740},"\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":742,"title":743,"navTitle":744,"description":745,"icon":746,"group":721,"order":747},"\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":749,"title":750,"navTitle":750,"description":751,"icon":752,"group":721,"order":753},"\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":755,"title":756,"navTitle":756,"description":757,"icon":758,"group":759,"order":760},"\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":762,"title":763,"navTitle":764,"description":765,"icon":766,"group":759,"order":767},"\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":769,"title":770,"navTitle":771,"description":772,"icon":773,"group":759,"order":774},"\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":776,"title":777,"navTitle":778,"description":779,"icon":780,"group":781,"order":782},"\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":784,"title":785,"navTitle":786,"description":787,"icon":788,"group":781,"order":789},"\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":791,"title":792,"navTitle":793,"description":794,"icon":795,"group":781,"order":796},"\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":798,"title":799,"navTitle":800,"description":801,"icon":802,"group":781,"order":803},"\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":805,"title":806,"navTitle":807,"description":808,"icon":809,"group":781,"order":810},"\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":812,"title":813,"navTitle":814,"description":815,"icon":816,"group":781,"order":817},"\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":819,"title":820,"navTitle":820,"description":821,"icon":822,"group":781,"order":823},"\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":825,"title":826,"navTitle":827,"description":828,"icon":829,"group":781,"order":830},"\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":832,"title":771,"navTitle":771,"description":833,"icon":773,"group":781,"order":834},"\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":836,"title":837,"navTitle":837,"description":838,"icon":839,"group":781,"order":840},"\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":842,"title":843,"navTitle":843,"description":844,"icon":845,"group":781,"order":846},"\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":848,"title":849,"navTitle":850,"description":851,"icon":852,"group":853,"order":854},"\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":856,"title":857,"navTitle":858,"description":859,"icon":860,"group":853,"order":861},"\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":863,"title":864,"navTitle":864,"description":865,"icon":866,"group":853,"order":867},"\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":687,"title":688,"navTitle":869,"description":870,"icon":424,"group":853,"order":871},"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.",34,{"path":873,"title":874,"navTitle":875,"description":876,"icon":877,"group":706,"order":878},"\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":664,"title":665,"navTitle":880,"description":881,"icon":882,"group":706,"order":883},"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":29,"title":640,"navTitle":885,"description":886,"icon":887,"group":706,"order":888},"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":683,"title":684,"navTitle":890,"description":891,"icon":892,"group":706,"order":893},"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":711,"title":5,"navTitle":76,"description":704,"icon":707,"group":706,"order":710},{"path":43,"title":672,"navTitle":672,"description":896,"icon":897,"group":706,"order":898},"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":51,"title":675,"navTitle":675,"description":900,"icon":901,"group":706,"order":902},"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":59,"title":679,"navTitle":904,"description":905,"icon":424,"group":706,"order":906},"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":908,"title":909,"navTitle":910,"description":911,"icon":912,"group":706,"order":913},"\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":915,"title":916,"navTitle":917,"description":918,"icon":919,"group":706,"order":920},"\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":922,"title":923,"navTitle":924,"description":925,"icon":926,"group":706,"order":927},"\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":929,"title":930,"navTitle":931,"description":932,"icon":933,"group":706,"order":934},"\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":936,"title":937,"navTitle":937,"description":938,"icon":937,"group":939,"order":940},"\u002Fdocs\u002Fsettings","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":942,"title":943,"navTitle":944,"description":945,"icon":946,"group":939,"order":947},"\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":949,"title":950,"navTitle":951,"description":952,"icon":953,"group":939,"order":954},"\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":956,"\u002Fdocs\u002Fagent":957,"\u002Fdocs\u002Farchitecture":957,"\u002Fdocs\u002Fbilling":956,"\u002Fdocs\u002Fboards":957,"\u002Fdocs\u002Fconcepts":958,"\u002Fdocs\u002Fconnections":959,"\u002Fdocs\u002Fdashboard":956,"\u002Fdocs\u002Fexplorer":960,"\u002Fdocs\u002Ffeedback":958,"\u002Fdocs\u002Fgetting-started":961,"\u002Fdocs\u002Fgit":956,"\u002Fdocs\u002Fhooks":962,"\u002Fdocs":957,"\u002Fdocs\u002Finstall":957,"\u002Fdocs\u002Fissues":958,"\u002Fdocs\u002Fmanaged-settings":960,"\u002Fdocs\u002Forg-prompts":960,"\u002Fdocs\u002Fplnnrly":958,"\u002Fdocs\u002Fproject-git":959,"\u002Fdocs\u002Fproject-terminal":963,"\u002Fdocs\u002Fprompts":962,"\u002Fdocs\u002Fpull-requests":956,"\u002Fdocs\u002Frequirements":961,"\u002Fdocs\u002Freview":960,"\u002Fdocs\u002Froles":957,"\u002Fdocs\u002Fsecrets":962,"\u002Fdocs\u002Fsessions":956,"\u002Fdocs\u002Fsettings":956,"\u002Fdocs\u002Fshared-workspaces":960,"\u002Fdocs\u002Fshortcuts":964,"\u002Fdocs\u002Fsplit-view":956,"\u002Fdocs\u002Fstacks":956,"\u002Fdocs\u002Fstatus":956,"\u002Fdocs\u002Fsync":956,"\u002Fdocs\u002Fterminal":963,"\u002Fdocs\u002Ftoolchain":958,"\u002Fdocs\u002Fwindows":962,"\u002Fdocs\u002Fworktrees":962},"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":966,"compare":984},[967,970,972,975,978,981],{"label":968,"to":969},"Sessions & status","\u002Ffeatures\u002Fsessions-and-status",{"label":807,"to":971},"\u002Ffeatures\u002Freview",{"label":973,"to":974},"Worktrees & hooks","\u002Ffeatures\u002Fworktrees-and-hooks",{"label":976,"to":977},"Git & issues","\u002Ffeatures\u002Fgit-and-issues",{"label":979,"to":980},"Stacks","\u002Ffeatures\u002Fstacks",{"label":982,"to":983},"Teams","\u002Ffeatures\u002Fteams",[985,988,991,994],{"label":986,"to":987},"vs Claude Code","\u002Fcompare\u002Fclaude-code",{"label":989,"to":990},"vs Claude Squad and Nimbalyst","\u002Fcompare\u002Fclaude-squad-and-nimbalyst",{"label":992,"to":993},"vs Conductor","\u002Fcompare\u002Fconductor",{"label":995,"to":996},"vs Cursor","\u002Fcompare\u002Fcursor",1792695510001]