Teams
CodePeel supports shared GitHub App installations so multiple developers can collaborate on the same repositories. When a team upgrades to a paid plan, all members are covered under a single subscription — the team owner pays for all seats.
How It Works
A GitHub App installation is shared across all members. The installation owner manages the team and invites members by GitHub username or email. Once added, members see the same repositories on their dashboards and receive reviews on the PRs they author.
All reviews by installation members draw from the team's shared quota (determined by the team's subscription plan). Members do not need individual paid plans.
Roles
CodePeel defines two roles within a shared installation.
Owner
- The user who installed the CodePeel GitHub App on a GitHub organization or personal account, or a GitHub organization admin/billing manager who linked their CodePeel account to the installation
- Exactly one owner per installation
- Manages the team subscription (upgrade, cancel, add/remove members, transfer ownership)
- Invites and removes members by GitHub username or email
- Serves as the billing fallback: when an external contributor without a CodePeel account opens a PR, the review is charged to the team's shared quota
- Can transfer ownership to another active member at any time
Member
- Any CodePeel user added to an installation by the owner (via invite)
- Receives reviews on their own PRs, covered by the team's shared quota
- Does not need an individual paid plan while part of the team
- Can leave the installation at any time (removes shared repos from dashboard, preserves review history)
Team Plans
Teams can upgrade to a Team Pro or Team Max subscription from the Team page in the dashboard. This is a single subscription that covers all members of the installation.
| Team Free | Team Pro | Team Max | |
|---|---|---|---|
| Price | $0 | $9.99/seat/month (billed annually at $8.33/seat/month) | $24.99/seat/month (billed annually at $20.83/seat/month) |
| Reviews per month | 30 per member | 500 per seat | Unlimited |
| Billing | Each member uses their own plan quota | One invoice — owner pays for all seats | One invoice — owner pays for all seats |
| Auto-fix PRs | No | Yes | Yes |
| Auto-test generation | No | Yes | Yes |
| Custom regex rules | No | Yes | Yes |
| Premium AI models | No | No | Yes |
A "seat" is any developer who is a member of the installation (owner + all members). The subscription price is calculated as price × seat count.
Solo Installations
If a team has only the owner (1 seat) and is on the Free tier, the Team page shows a "Team plan required" lock state. A Team Pro or Team Max subscription is required to use shared installations.
Seat Capacity
The dashboard shows capacity warnings when the team approaches or exceeds its seat limit:
- Over capacity (red): More members than seats — click Upgrade Seats to add more
- At limit (yellow): Seats fully used — click Add Seats to expand
How Team Billing Works
When a team has an active Team Pro or Team Max subscription:
- All PRs authored by installation members draw from the team's shared quota (Team Pro: 500 × seat count, Team Max: unlimited)
- Members do not need individual paid plans
- The owner receives a single invoice for all seats
- If an external contributor without a CodePeel account opens a PR, it also draws from the team quota
When the Team Is on Free Tier
If no team subscription is active, each member is billed individually from their own personal plan quota (same as before):
| Scenario | Who is Charged |
|---|---|
| Team member with a Pro plan opens a PR | Member's personal Pro quota |
| Team member on Free plan opens a PR | Member's personal Free quota (30/month) |
| External contributor (no CodePeel account) | Installation owner's personal quota |
Upgrading a Team
- Owner goes to Team in the dashboard sidebar
- Clicks Upgrade to Team Pro or Team Max
- Selects monthly or yearly billing
- Completes payment on Polar checkout
- All members are immediately covered — their individual plans are not affected
Joining a Team
Members are added to a team by the owner via invite. The owner enters a GitHub username or signup email, and the invited user is added immediately (they must have a CodePeel account).
What happens when you accept an invite
When a member accepts a team invite:
- They are added to the installation
- Their personal plan subscription is automatically canceled — they no longer need an individual plan
- Their reviews now draw from the team's shared quota
- Their dashboard updates to show the team's repositories
Joining via GitHub (new installations only)
When a member connects to a GitHub account where CodePeel is being installed for the first time, GitHub redirects them back to CodePeel and they are added automatically. Limitation: GitHub only redirects on new installations. For existing teams, the owner must invite members directly.
Transferring Ownership
The current owner can transfer ownership to any active member at any time:
- Go to Team in the dashboard sidebar
- Click Transfer Ownership
- Select the new owner from the list of active members
- Confirm the transfer
After transfer, the previous owner becomes a regular member and the new owner assumes billing responsibility.
Installation Owner Setup
One person must first install the CodePeel GitHub App:
- Sign in at codepeel.com/app
- Go to Repositories → Connect
- Authorize CodePeel on GitHub
- Select the organization/account and repositories
- Click Install
After installation, repositories appear on the owner's dashboard within seconds.
Troubleshooting
Connected but not added as member
GitHub only redirects to CodePeel for new installations. If the app is already installed (common for existing teams), GitHub shows its config page instead. Fix: use Join a team button or have the owner add you.
Connected but no repositories visible
You likely selected a different GitHub account than where CodePeel is installed. Have the owner add you, or reconnect with the correct account.
Reviews not showing on my dashboard
Reviews appear on the dashboard of the GitHub account that authored the PR — not the CodePeel account you're signed into. Ensure you're logged into GitHub with the same account shown in your Team panel.
Owner changed GitHub username
No effect. CodePeel matches authors by a stable identifier, so username changes don't disrupt billing.
Multiple GitHub accounts
Each GitHub account/organization needs its own CodePeel installation. You can be owner or member of multiple installations simultaneously — all appear on your dashboard.
Member left but past reviews still visible
Expected. Leaving only removes future repo visibility. All review history remains in their account permanently.
FAQ
Do members need a paid plan? No. If the team has a Team Pro or Team Max subscription, all members are covered. If the team is on Free tier, each member uses their own personal plan quota.
Can one person be in multiple installations? Yes. Reviews across all installations draw from a single shared quota (team quota if covered, otherwise personal quota).
What if a member exhausts their quota? If the team has a Team Pro subscription, all members share the team quota (500 × seat count). Team Max offers unlimited reviews. If the team is on Free tier, a member's PRs are not reviewed until their personal quota resets or they upgrade their individual plan.
Can the owner see members' review content? No. Reviews are stored privately per user. Team panel shows only aggregate usage statistics.
Why did my review go to the owner instead of me? You created the PR while logged into a different GitHub account than your CodePeel identity. Always open PRs from the GitHub account shown in your Team panel.
Is there a member limit? No enforced limit. Any CodePeel user with access to the GitHub organization can join.
What happens when a new member joins an active Team Pro or Team Max subscription? The seat count increases by 1. The next billing cycle will charge for the additional seat at the per-seat rate.
Related Documentation
- Getting Started — Install CodePeel and run your first review
- Billing — Plans, pricing, quota mechanics
- Configuration — Repository-level
.codepeel.ymlsettings - FAQ — General troubleshooting