Summary and recommendation
Atlassian Bitbucket user management can be run manually, but complexity usually increases with role models, licensing gates, and offboarding dependencies. This guide gives the exact mechanics and where automation has the biggest impact.
Atlassian Bitbucket Cloud uses a four-scope, role-based permission model spanning workspace, project, repository, and branch levels. Permissions inherit downward: a Workspace Admin automatically holds implicit admin rights on every app, project, and repository in that workspace. No custom roles exist - only the predefined levels (Admin, Create, Write, Read) are available at each scope.
User management splits across two consoles depending on workspace age. Newer workspaces linked to an Atlassian organization are managed at admin.atlassian.com; legacy workspaces use bitbucket.org/workspace/settings. All workspaces must be linked to an Atlassian organization by March 15, 2026, or workspace functionality will be impacted.
Quick facts
| Admin console path | Workspace avatar > Settings cog > Workspace settings > Access Management (for legacy workspaces at bitbucket.org); or Settings cog > User management (redirects to admin.atlassian.com for newer workspaces linked to an Atlassian organization) |
| Admin console URL | Official docs |
| SCIM available | Yes |
| SCIM tier required | Atlassian Guard subscription |
| SSO prerequisite | Yes |
User types and roles
| Role | Permissions | Cannot do | Plan required | Seat cost | Watch out for |
|---|---|---|---|---|---|
| Workspace Admin | Full administrative control of the workspace. Inherits project admin and repository admin permissions on all projects and repositories via permission inheritance. Can manage user groups, billing, workspace settings, and invite/remove members. Cannot be removed from repository permissions. | Cannot access Atlassian Administration org-level settings unless also granted Org Admin or User Access Admin role at the org level. | Any plan (Free, Standard, Premium) | Counts as a billable workspace member | Workspace admins inherit implicit admin on all projects and repositories; reducing the number of workspace admins is recommended after project permissions are enabled. |
| Project Admin | Full administrative control of a specific project and all repositories within it. Can delegate repository-level permissions. Can make any changes to project or repository settings and permissions. | Cannot administer workspace-level settings or other projects unless explicitly granted. | Any plan (Free, Standard, Premium) | Counts as a billable workspace member | For existing projects, current workspace admins automatically assume the project admin role; this can be delegated to non-workspace-admins. |
| Project Create (Repository Create) | Can create new repositories within the project. Becomes admin of repositories they create. Inherits Write access to all repositories in the project. | Cannot administer project settings or manage other users' permissions. | Any plan (Free, Standard, Premium) | Counts as a billable workspace member | |
| Project Write | Can push commits, create branches, and merge pull requests on any repository within the project (subject to branch restrictions). | Cannot create repositories, administer project settings, or manage permissions. | Any plan (Free, Standard, Premium) | Counts as a billable workspace member | |
| Project Read | Can clone, browse, and fork repositories within the project. Can create and contribute to pull requests. | Cannot push changes or administer any settings. | Any plan (Free, Standard, Premium) | Counts as a billable workspace member | |
| Repository Admin | Full control over a specific repository's settings and access management. Includes all Read and Write permissions. | Cannot administer project-level or workspace-level settings unless also granted those roles. | Any plan (Free, Standard, Premium) | Counts as a billable workspace member | |
| Repository Write | Can push to the repository and merge pull requests not subject to branch restrictions. Includes all Read permissions. | Cannot administer repository settings or manage permissions. | Any plan (Free, Standard, Premium) | Counts as a billable workspace member | |
| Repository Read | Can clone, browse, and fork the repository. Can create and contribute to pull requests targeting the repository. | Cannot push changes or administer any settings. | Any plan (Free, Standard, Premium) | Counts as a billable workspace member | |
| Workspace Member (no explicit repo/project permission) | Is a member of the workspace and belongs to at least one user group. Has no access to private repositories unless the group has been granted repository or project permissions. | Cannot access private content unless explicitly granted via group or direct permission. | Any plan (Free, Standard, Premium) | Counts as a billable workspace member even with no repository access | Any user who is a workspace member is billed regardless of whether they have access to any private content. Removing a user from a project or repository does not remove them from the workspace billing count. |
Permission model
- Model type: role-based
- Description: Bitbucket Cloud uses a hierarchical, role-based permission model with four scopes: workspace, project, repository, and branch. Permissions are inherited downward: workspace admin permissions propagate to all projects and repositories. Project permissions apply to all repositories within that project. Repository-level permissions can extend or restrict access beyond project-level grants. Permissions can be assigned to individual users or user groups. No custom roles exist; only the predefined levels (Admin, Create, Write, Read) are available at each scope.
- Custom roles: No
- Custom roles plan: Not documented
- Granularity: Four predefined levels per scope (workspace, project, repository, branch). Branch permissions provide an additional layer to restrict push/merge actions on specific branches.
How to add users
- Log in to bitbucket.org and navigate to the target workspace.
- Select the Settings cog (top navigation bar) > Workspace settings.
- Under Access Management, select User groups.
- Select the group to which you want to add the user, then select Add members.
- Enter the user's name or email address. If the user does not have a Bitbucket account, they will receive an email to create one.
- Select an access level (workspace permission) from the dropdown, then select Confirm.
- Optionally, grant the user or their group access to specific projects via Project settings > Project permissions > Add users or groups.
- Optionally, grant direct repository access via Repository settings > User and group access > Add members.
Required fields: User email address or Bitbucket username, Target user group (or direct repository/project assignment), Permission level (Read, Write, Create, or Admin)
Watch out for:
- In Bitbucket Cloud, admins cannot create a Bitbucket account on behalf of a user; the user must create their own account and accept the invitation.
- Newer workspaces linked to an Atlassian organization manage users via admin.atlassian.com, not bitbucket.org. The path differs depending on workspace age.
- All Bitbucket workspaces must be linked to an Atlassian organization by March 15, 2026, or workspace functionality will be impacted.
- Adding a user to any workspace group makes them a billable workspace member, even if the group has no repository or project permissions.
- On the Free plan, exceeding 5 workspace members causes all private repositories to become read-only for non-admins until the plan is upgraded or users are removed.
- Invited users who have not yet accepted their invitation still appear as pending and do not consume a seat until they accept.
| Bulk option | Availability | Notes |
|---|---|---|
| CSV import | No | Not documented |
| Domain whitelisting | No | Automatic domain-based user add |
| IdP provisioning | Yes | Atlassian Guard subscription (separate from Bitbucket plan; required on top of Standard or Premium). SSO must be configured before enabling SCIM. SCIM provisions users only - group sync is not available for Bitbucket. |
How to remove or deactivate users
- Can delete users: Yes
- Delete/deactivate behavior: Two distinct actions are available for org-managed accounts. Deactivation (via admin.atlassian.com by an Organization Admin): the user immediately loses access to Bitbucket and all Atlassian services; billing stops; personal data is retained and the account can be reactivated at any time. Deletion (via admin.atlassian.com by an Organization Admin): the user immediately loses access; billing stops; personal data is permanently deleted from all Atlassian account services and the account cannot be reactivated. An org admin can delete a previously deactivated account. For workspace removal without org-level account deletion, a workspace admin can remove the user from the workspace entirely via Workspace Settings > User Directory, which revokes all repository access and removes them from billing without deleting their Atlassian account.
- For org-managed accounts (deactivate without deleting): Go to admin.atlassian.com > Directory > Users > select the user > deactivate the account. The user loses access immediately and billing stops.
- For workspace removal only (legacy bitbucket.org-managed workspaces): Go to bitbucket.org > Workspace settings > User Directory > locate the user > select '...' in the Actions column > select Remove. This permanently removes the user from the workspace and revokes access to all repositories.
- For workspace removal only (Atlassian Admin-managed workspaces): Go to bitbucket.org > Settings cog > User management (redirects to admin.atlassian.com) > locate the user > remove their Bitbucket product access.
- Verify the user no longer appears under 'Users on Plan' in Workspace Settings > User Directory to confirm billing removal.
| Data impact | Behavior |
|---|---|
| Owned records | If the user is the last remaining admin of a workspace, that workspace (and all its repositories and snippets) is deleted when the account is deleted. Transfer workspace ownership before deletion to prevent data loss. |
| Shared content | Commits made in repositories the user does not own are retained; the email address is preserved in Git history (due to the nature of Git), but the link to the user profile is removed. Comments and issue comments in repositories the user does not own are retained but the username reference is changed to 'Former user'. |
| Integrations | SSH keys, app passwords, and personal access tokens associated with the account are removed upon account deletion. Any CI/CD pipelines or integrations using the deleted user's credentials will break. |
| License freed | Billing stops immediately upon deactivation or deletion of the account, or upon removal of the user from the workspace. Removing a user only from a project or repository (without removing from the workspace) does NOT free the license seat. |
Watch out for:
- Removing a user from a project or repository does not remove them from the workspace; they remain billable until fully removed from the workspace.
- A workspace admin cannot remove a user whose personal workspace is the workspace being managed (pre-February 2023 personal workspaces). The user must delete their own account or Atlassian support must be engaged.
- Once an Atlassian account is permanently deleted, it cannot be restored. There is a 14-day grace period during which the deletion can be cancelled.
- Inactive users who have direct repository access (not only group access) will still appear in the workspace even after being removed from all groups; their direct repository permissions must also be revoked.
- Deleting a user account that owns a personal workspace causes that workspace and all its repositories to be permanently deleted.
License and seat management
| Seat type | Includes | Cost |
|---|---|---|
| Free | Up to 5 workspace members. Unlimited public and private repositories. 50 build minutes/month (Pipelines). 1 GB Git LFS storage. | $0 |
| Standard | Unlimited workspace members. 2,500 build minutes/month (Pipelines). 5 GB Git LFS storage. Code Insights, Deployments. | $3.30/user/month (billed monthly); volume pricing applies for larger teams. Flat rate of $16.50/month for 1–5 users. |
| Premium | All Standard features plus enforced merge checks, deployment permissions, IP allowlisting, required reviewers, merge strategies, and enhanced security controls. 3,500 build minutes/month. 10 GB Git LFS storage. | ~$6.60/user/month (billed monthly); volume pricing applies for larger teams. |
- Where to check usage: Workspace settings > User Directory > filter by 'Users on Plan' dropdown to see all billable members. For org-linked workspaces, also check admin.atlassian.com > Billing.
- How to identify unused seats: Navigate to Workspace Settings > User Directory and review the list of workspace members. Filter by 'Users on Plan'. For inactive users, use the Bitbucket REST API endpoint GET /2.0/workspaces/{workspace}/members to retrieve member list and cross-reference with last activity. No native last-login filter exists in the Bitbucket Cloud UI; API or third-party scripts are required to identify inactive users.
- Billing notes: A billable user is any user who is a member of the workspace, regardless of whether they have access to any private repositories or projects. Removing a user from a project or repository but leaving them in a workspace group still counts them as billable. Additional Pipelines build minutes cost $10 per 1,000 minutes. Additional Git LFS storage costs $10 per 100 GB/month. All new Bitbucket Cloud purchases are billed on the new Atlassian billing platform as of September 10, 2025. Existing subscriptions are being migrated starting October 6, 2025. SCIM provisioning requires a separate Atlassian Guard subscription (not included in any Bitbucket plan tier).
The cost of manual management
Bitbucket's billing model has a sharp edge: any user added to a workspace group becomes a billable member, even if that group has no repository or project permissions assigned. Removing a user from a project or repository does not stop billing - a separate workspace-level removal is required.
On the Free plan, exceeding 5 workspace members causes all private repositories to become read-only for non-admins until the plan is upgraded or users are removed.
SCIM provisioning requires a separate Atlassian Guard subscription on top of any Bitbucket plan tier, and Guard is billed per managed user across the entire Atlassian organization - not per product.
Identifying inactive users requires either the Bitbucket REST API or third-party scripts; no native last-login filter exists in the UI. Admins should audit the User Directory regularly using the 'Users on Plan' filter to catch orphaned seats.
What IT admins are saying
The most consistent friction point reported by admins is the absence of group sync via SCIM: only user accounts can be provisioned automatically, so repository and project permissions must still be assigned manually after every new hire is onboarded.
This creates a persistent gap between identity provider state and actual Bitbucket access.
A second recurring issue is the billing trap around project and repository removal. Admins frequently discover that removing a user from a repo leaves them on the billing count, requiring a second action at the workspace level.
Additional pain points include: SCIM API keys expiring annually (enforced since January 2025) requiring mandatory rotation; Workspace Admins being unable to remove users whose personal workspace predates February 2023 without Atlassian support involvement; and Guard costs applying to all managed users org-wide even when only a subset use SCIM.
Common complaints:
- No native group sync for Bitbucket via SCIM - only user accounts can be provisioned; repository and project permissions must still be assigned manually after SCIM provisioning.
- Removing a user from a project or repository does not remove them from the workspace billing count; admins must perform a separate workspace-level removal to stop billing.
- Workspace admins cannot remove users whose personal workspace is the managed workspace (pre-February 2023 accounts), requiring workarounds or Atlassian support involvement.
- SCIM provisioning requires an additional Atlassian Guard subscription on top of the existing Bitbucket plan, adding significant per-user cost.
- Atlassian Guard is billed per managed user across the entire Atlassian organization, not per product, meaning teams pay Guard costs for all users even if only some use SCIM.
- SCIM API keys expire after one year (as of January 2025), requiring mandatory annual rotation.
- Older workspaces (pre-February 2023) have user management at bitbucket.org while newer workspaces use admin.atlassian.com, creating inconsistent admin experiences.
- All Bitbucket workspaces must be linked to an Atlassian organization by March 15, 2026, or risk losing workspace functionality including Forge app installation.
- No built-in UI filter for last login or inactivity date in Bitbucket Cloud; identifying unused seats requires REST API queries or third-party tooling.
- Workspace admins who are not Org Admins cannot access admin.atlassian.com for user management in org-linked workspaces without being granted the User Access Admin role separately.
The decision
Manual management is viable for small, stable teams on the Free or Standard plan where the 5-seat ceiling and infrequent user changes make automation overhead unjustifiable. The two-console split (bitbucket.org vs. admin.atlassian.com) adds friction but is navigable once the workspace-to-org link is established.
For teams with regular onboarding and offboarding, the absence of group sync is the critical constraint. SCIM provisions Atlassian accounts but does not assign Bitbucket repository permissions - meaning every provisioned user still requires a manual permission step inside Bitbucket.
Teams should weigh the Guard subscription cost against the ongoing manual effort before committing to SCIM.
Organizations already paying for Atlassian Guard for Jira or Confluence get Bitbucket SCIM user provisioning at no additional Guard cost, since Guard is billed per managed user across the org. That changes the calculus significantly for multi-product Atlassian shops.
Bottom line
Bitbucket Cloud's permission model is well-structured but operationally demanding at scale. The billing model punishes incomplete offboarding, the lack of SCIM group sync forces manual permission assignment after every provisioning event, and the dual-console experience adds cognitive load for admins managing mixed-vintage workspaces.
Teams that already pay for Atlassian Guard across other products get the most value from SCIM here; teams evaluating Guard solely for Bitbucket should carefully model the per-user org-wide cost against the time saved on user provisioning alone.
Automate Atlassian Bitbucket workflows without one-off scripts
Stitchflow builds and maintains end-to-end IT automation across your SaaS stack, including apps without APIs. Built for exactly how your company works, with human approvals where they matter.