doc/subscriptions/subscription-add-ons.md
{{< details >}}
{{< /details >}}
{{< history >}}
{{< /history >}}
GitLab Duo add-ons extend your Premium or Ultimate subscription with AI-native features. Use GitLab Duo to help accelerate development workflows, reduce repetitive coding tasks, and gain deeper insights across your projects.
Three add-ons are available: GitLab Duo Core, Pro, and Enterprise.
Each add-on provides access to a set of GitLab Duo features.
GitLab Duo Core is included automatically if you have:
If you are an existing customer from GitLab 17.11 or earlier, you must turn on features for GitLab Duo Core.
If you are a new customer in GitLab 18.0 or later, features for GitLab Duo Core are automatically turned on and no further action is needed.
To view which roles can access GitLab Duo Core, see GitLab Duo group permissions.
If you have an offline license, GitLab Duo Core is not available on GitLab Duo Self-Hosted because GitLab Duo Core requires connection to the GitLab AI Gateway.
If you have an online license, you can use GitLab Duo Core in combination with GitLab Duo Self-Hosted. To use GitLab Duo Core, you must select the GitLab-managed model for GitLab Duo Non-Agentic Chat and Code Suggestions for the instance.
Usage limits, along with the GitLab Terms of Service, apply to Premium and Ultimate customers' use of the included Code Suggestions and GitLab Duo Chat features.
GitLab will provide 30 days prior notice before enforcement of these limits take effect. At that time, organization administrators will have tools to monitor and manage consumption and will be able to purchase additional capacity.
Limits do not apply to GitLab Duo Pro or Enterprise.
GitLab Duo Pro and Enterprise require you to purchase seats and assign them to team members. The seat-based model gives you control over feature access and cost management based on your specific team needs.
{{< details >}}
{{< /details >}}
{{< history >}}
{{< /history >}}
Customers with an offline license must purchase the GitLab Duo Agent Platform Self-Hosted add-on to use self-hosted models in the Agent Platform.
Customers with this add-on are billed based on seats instead of usage.
Customers with an online license can use self-hosted models in the Agent Platform without an add-on, and are billed based on usage.
To purchase GitLab Duo Agent Platform Self-Hosted, contact the GitLab Sales team.
To purchase GitLab Duo Enterprise, contact the GitLab Sales team.
To purchase seats for GitLab Duo Pro, use the Customers Portal or contact the GitLab Sales team.
To use the portal:
You can purchase additional GitLab Duo Pro or GitLab Duo Enterprise seats for your group namespace or GitLab Self-Managed instance. After you complete the purchase, the seats are added to the total number of GitLab Duo seats in your subscription.
Prerequisites:
Prerequisites:
Prerequisites:
Prerequisites:
After you purchase GitLab Duo Pro or Enterprise, you can assign seats to users to grant access to the add-on.
Prerequisites:
To use GitLab Duo features in any project or group, you must assign the user to a seat in at least one top-level group.
The user is sent a confirmation email.
Prerequisites:
The user is sent a confirmation email.
sm_duo_seat_assignment_email feature flag to false.
This flag is enabled by default.After you assign seats, ensure GitLab Duo is set up for your GitLab Self-Managed instance.
You can assign or remove seats in bulk for multiple users.
GitLab.com groups can use SAML Group Sync to manage GitLab Duo seat assignments.
Prerequisites:
Administrators of GitLab Self-Managed instances can also use a Rake task to assign or remove seats in bulk.
You can automatically assign and remove GitLab Duo seats for LDAP-enabled users based on LDAP group membership.
To enable this functionality, you must configure the duo_add_on_groups property in your LDAP settings.
When duo_add_on_groups is configured, it becomes the single source of truth for GitLab Duo seat management among LDAP-enabled users.
For more information, see seat assignment workflow.
This automated process ensures that GitLab Duo seats are efficiently allocated based on your organization's LDAP group structure. For more information, see GitLab Duo add-on seat management with LDAP.
{{< history >}}
{{< /history >}}
Prerequisites:
After you purchase GitLab Duo Pro or Enterprise, you can assign seats to users to grant access to the add-on. Then you can view details of assigned GitLab Duo users.
The GitLab Duo seat utilization page shows the following information for each user:
These fields use data from the AddOnUser type in the GraphQL API.
Prerequisites:
Prerequisites:
GitLab Duo add-on seats are removed automatically to ensure only eligible users have access. This happens when there are:
If your subscription containing the GitLab Duo add-on expires, seat assignments are retained for 28 days. If the subscription is renewed, or a new subscription containing GitLab Duo is purchased during this 28-day window, users will be automatically re-assigned. Otherwise, seat assignments are removed and users must be reassigned.
If your quantity of purchased GitLab Duo add-on seats is reduced, seat assignments are automatically removed to match the seat quantity available in the subscription.
For example:
Seats are selected for removal based on the following criteria, in this order:
Once or twice each day, a CronJob reviews GitLab Duo seat assignments. If a user who is assigned a GitLab Duo seat becomes blocked, banned, or deactivated, their access to GitLab Duo features is automatically removed.
After the seat has been removed, it becomes available and can be re-assigned to a new user.
On the Usage quotas page, if you experience both of the following, you will be unable to use the UI to assign seats to your users:
The Seats tab does not load.
The following error message is displayed:
An error occurred while loading billable members list.
As a workaround, you can use the GraphQL queries in this snippet to assign seats to users.