Skip to content

Commit cdb9b04

Browse files
Correct collaborator permission levels for personal-account repositories
## Why Three statements in this article do not match the behaviour of the REST API. I verified each against the live API (`X-GitHub-Api-Version: 2026-03-10`). `PUT /repos/{owner}/{repo}/collaborators/{username}` on a **private repository owned by a personal account**: | requested | HTTP | recorded permission | |---|---|---| | `pull` | 201 | `read` | | `triage` | 422 | Validation Failed | | `push` | 201 | `write` | | `maintain` | 422 | Validation Failed | | `admin` | 201 | `admin` | Control run, same script and token, against a **private repository owned by an organization** — all five values accepted and recorded as requested. So personal-account repositories do support read, write and admin for collaborators. Only `triage` and `maintain` are organization-only, and the API rejects those explicitly with a `422` rather than silently substituting another level. Enforcement was confirmed independently: a collaborator granted `pull` on a private personal-account repository has `git push` rejected by the server and cannot access repository settings, while a collaborator granted `admin` can. ## Scope of this change - Verified on GitHub.com only (`fpt` / `ghec`). This article is also versioned for `ghes`, which I could not test. Happy to wrap the change in `{% ifversion fpt or ghec %}` if a maintainer confirms GHES behaves differently. - I deliberately did **not** touch the "Owner access" table. If admin can be granted to a collaborator, some entries there may also need revisiting, but I have not tested which, so I left it alone rather than guess. Refs #45537
1 parent b2bcc82 commit cdb9b04

1 file changed

Lines changed: 3 additions & 3 deletions

File tree

‎content/repositories/managing-your-repositorys-settings-and-features/repository-access-and-collaboration/permission-levels-for-a-personal-account-repository.md‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
---
22
title: Permission levels for a personal account repository
3-
intro: 'A repository owned by a personal account has two permission levels: the repository owner and collaborators.'
3+
intro: 'A repository owned by a personal account has a single owner, and collaborators can be granted read, write, or admin access.'
44
redirect_from:
55
- /articles/permission-levels-for-a-user-account-repository
66
- /github/setting-up-and-managing-your-github-user-account/permission-levels-for-a-user-account-repository
@@ -69,10 +69,10 @@ Repositories owned by personal accounts have a single owner who has full control
6969

7070
{% endif %}
7171

72-
Collaborators on a personal repository can pull (read) the contents of the repository and push (write) changes to the repository.
72+
Collaborators on a personal repository can be granted one of three access levels: read, write, or admin. The triage and maintain roles are only available on repositories owned by an organization.
7373

7474
> [!NOTE]
75-
> In a private repository, repository owners can only grant write access to collaborators. Collaborators can't have read-only access to repositories owned by a personal account.
75+
> The triage and maintain roles are not available for repositories owned by a personal account. If you need those roles, or team-based access management, consider transferring the repository to an organization.
7676
7777
Collaborators can also perform the following actions.
7878

0 commit comments

Comments
 (0)