Adding a collaborator means giving another person permission to work on your code

To add a collaborator to a GitHub repository, go to your repository's Settings tab, select Collaborators from the left menu, and enter the person's GitHub username or email address. GitHub will send them an invitation, and once they accept, they can push code, create branches, and make changes to your repository. The whole process takes about two minutes.

You must be the repository owner or have admin access to add collaborators. If you're working on a repository owned by an organization, you may need different permissions depending on your organization's settings.

Key Takeaways

  • Only repository owners and people with admin access can add collaborators through the Settings tab.
  • GitHub sends an invitation email to the person you add, and they must accept before they can access the repository.
  • You can set different permission levels for each collaborator — pull (read-only), triage, write (push and pull), maintain, or admin.
  • Removing a collaborator is just as simple: go to Settings, find their name in the Collaborators list, and click the X button next to their name.

Step-by-step: Adding a collaborator to your repository

Start by opening your repository on GitHub. Click the Settings tab near the top right of the page, just after the Code and Pull Requests tabs.

In the left sidebar, click Collaborators. If you've never added a collaborator before, you'll see a green "Add people" button. Click it. If you already have collaborators, the button will say "Add people" and appear near the top of the list.

Type the person's GitHub username or the email address associated with their GitHub account into the search box. GitHub will show matching usernames as you type. Click the person's name when you see it. If you're inviting someone by email and they don't have a GitHub account yet, they can still receive the invitation — they'll be prompted to create an account when they accept.

A dropdown menu will appear asking you to select a role. The default is "Write", which lets them push code and create branches. You can also choose Pull (read-only access), Triage (can manage issues and pull requests but not push code), Maintain (can manage the repository but not delete it), or Admin (full control). For most team members, Write is the right choice. Click the role you want, then click "Add [username] to this repository".

GitHub sends an invitation email to the person. They'll see a notification on their GitHub dashboard and in their email inbox. They must click "Accept invitation" in the email or on GitHub to gain access. Until they accept, they won't be able to see or work on the repository.

Understanding permission levels for collaborators

GitHub offers five permission levels, and choosing the right one depends on what you want each person to do. Pull is read-only — the person can view your code and clone it locally, but cannot push changes or create branches. This is useful for people who need to review code or run it locally without being able to modify the repository.

Triage lets someone manage issues and pull requests — they can label issues, close them, and request changes on pull requests — but they cannot push code directly. This role is good for project managers or people who help organize work without writing code.

Write is the most common role for active team members. They can push code, create branches, merge pull requests they didn't create, and manage issues. This is what you want for developers actively working on the project.

Maintain gives someone almost all permissions except the ability to delete the repository or change its visibility (public or private). They can manage collaborators, change branch protection rules, and handle most repository settings. Use this for senior developers or team leads.

Admin is full control — the person can do everything, including deleting the repository. Only give this to people you completely trust, usually just yourself or a co-owner.

Changing or removing a collaborator's access

If you need to change someone's permission level, go back to Settings > Collaborators and find their name in the list. Click the dropdown next to their current role and select a new one. The change takes effect immediately.

To remove a collaborator entirely, click the X button on the right side of their name in the Collaborators list. They'll lose access to the repository right away, though they can still see it in their GitHub history if it was public. They won't receive a notification that you've removed them — they'll only notice when they try to access the repository and get a "not found" error.

Inviting collaborators to organization repositories

If the repository belongs to an organization rather than your personal account, the process is the same, but permissions work differently. Organization owners can add anyone, but regular members may not have permission to add collaborators — it depends on the organization's settings.

Some organizations use teams instead of individual collaborators. If your organization has teams set up, you might add people to a team rather than directly to a repository. Ask your organization owner or administrator which method your team uses.

What happens after someone accepts an invitation

Once a collaborator accepts your invitation, they can immediately clone the repository, create branches, and push code. They'll see the repository in their GitHub dashboard under "Your repositories" (if they have write access or higher) or under "Contributed to" (if they only have pull access).

They can now create branches, make commits, and open pull requests just like you can. If you've set up branch protection rules — for example, requiring pull request reviews before merging to the main branch — those rules apply to them too. This is a good way to make sure all code changes go through a review process, even from collaborators you trust.

Frequently Asked Questions

Can I add someone who doesn't have a GitHub account yet?

Yes. Type their email address into the collaborator search box, and GitHub will send them an invitation. They'll need to create a GitHub account to accept it, but they can do that from the invitation email. Once they sign up and accept, they'll have access to your repository.

What's the difference between adding a collaborator and forking?

Adding a collaborator gives them direct access to your repository — they can push code, create branches, and work alongside you. Forking creates a separate copy of the repository under their account. Forking is useful for open-source projects where you want people to contribute without direct access; collaborators are for team members working on the same codebase.

Can a collaborator delete my repository?

Only if you give them admin access. With write or maintain access, they cannot delete the repository. If you're worried about accidental deletion, keep admin access for yourself and trusted co-owners only.

How do I know if someone has accepted my invitation?

Go to Settings > Collaborators and look at the list. Once they accept, their name will appear with their permission level. If the invitation is still pending, you'll see a note saying "Invitation pending" next to their name.

Can I add the same person to multiple repositories at once?

No, you have to add them to each repository individually. However, if you're using GitHub organizations, you can add someone to a team, which automatically gives them access to all repositories the team is assigned to.