Skip to main content
Capy has four org-level roles. Three of them - Admin, Project Admin, and Member - are chosen at invite time; Owner is implicit, the person who created the org.

Choosing a role at invite time

Capy prompts:
The list only offers roles you’re allowed to grant, so a Project Admin sees Member and Project Admin but never Admin. To skip the prompt, pass the role on the command line:

Changing roles after the fact

capy users opens an interactive members list - Capy’s TUI for inspecting and editing roles in the org. Press r on a row to change that user’s role, Enter to expand a member and see the projects they belong to.
When you press r, the role cell turns into an inline picker showing one role at a time. ↑↓ cycles through the roles you can assign - admin, project-admin, member - and Enter confirms.
Picking admin applies straight away. Picking project-admin or member is project-scoped, so Capy opens a project picker first - Space to select, Enter to confirm - and assigns the role on exactly the projects you check, dropping the ones you uncheck. You can’t change your own role, and nobody can change the Owner’s. A Project Admin can’t act on an Admin or the Owner either. Expanding a member with Enter lists the projects they belong to; owners and admins collapse to a single Access to all branches line instead. Press r on a project row to set their role on just that project (project-admin, member, or none to remove them), or Enter on it again to expand that project’s branches.

Protected branches narrow access further

Org-level role and protected-branch grants are two separate things, but grants only apply to Members. Owners and admins already reach every branch in the org, and a project admin reaches every branch in the projects they administer - in capy users all of them show as Access to all branches or access granted, with nothing to toggle. Grants matter for someone whose role on a project is member. They reach the unprotected branches in that project, and every protected branch has to be granted one at a time - with g on a branch row in capy users, or non-interactively:
Both take the member’s email, the project name, and the branch name.

What’s next

Inviting users

The redeem-code flow.

Protected branches

Per-branch access lists.
Last modified on August 11, 2026