Code Suggestions on self-managed GitLab (PREMIUM SELF BETA)

Write code more efficiently by using generative AI to suggest code while you're developing.

GitLab Duo Code Suggestions are available on GitLab Enterprise Edition. Cloud licensing is required for Premium and Ultimate subscription tiers.

Code Suggestions are not available for GitLab Community Edition.

WARNING: In GitLab 16.3 and later, only Premium and Ultimate customers can participate in the free trial of Code Suggestions on self-managed GitLab.

Usage of Code Suggestions is governed by the GitLab Testing Agreement. Learn about data usage when using Code Suggestions.

Enable Code Suggestions on self-managed GitLab (FREE SELF)

Introduced in GitLab 16.1 as Beta.

When you enable Code Suggestions for your self-managed instance, you:

  • Agree to the GitLab testing agreement.
  • Acknowledge that GitLab sends data from the instance, including personal data, to GitLab.com infrastructure.

How you enable Code Suggestions differs depending on your version of GitLab.

GitLab 16.3 and later

Prerequisites:

  • You are a new Code Suggestions customer as of GitLab 16.3.
  • All of the users in your instance have the latest version of their IDE extension.
  • You are an administrator.

To enable Code Suggestions for your self-managed GitLab instance:

  1. On the left sidebar, select Search or go to.
  2. Select Admin Area.
  3. On the left sidebar, select Settings > General.
  4. Expand Code Suggestions and select Turn on Code Suggestions for this instance. In GitLab 16.3, you do not need to enter anything into the Personal access token field. In GitLab 16.4 and later, there is no Personal access token field.
  5. Select Save changes.

This setting is visible only in self-managed GitLab instances.

WARNING: In GitLab 16.2 and earlier, if you clear the Turn on Code Suggestions for this instance checkbox, the users in your instance can still use Code Suggestions for up to one hour, until the issued JSON web token (JWT) expires.

To make sure Code Suggestions works immediately, you must manually synchronize your subscription.

The users in your instance can now use Code Suggestions.

GitLab 16.2 and earlier

Prerequisites:

NOTE: If you do not have a customer success manager, you cannot participate in the free trial of Code Suggestions on self-managed GitLab. Upgrade to GitLab 16.3 to perform self-service onboarding.

Then, you will:

  1. Enable Code Suggestions for your SaaS account.
  2. Enable Code Suggestions for the instance.
  3. Request early access to the Code Suggestions Beta.

Enable Code Suggestions for your SaaS account

To enable Code Suggestions for your GitLab SaaS account:

  1. Create a personal access token with the api scope.
  2. On the left sidebar, select your avatar.
  3. Select Preferences.
  4. In the Code Suggestions section, select Enable Code Suggestions.
  5. Select Save changes.

Enable Code Suggestions for the instance

To enable Code Suggestions for your self-managed GitLab instance:

  1. On the left sidebar, select Search or go to.
  2. Select Admin Area.
  3. On the left sidebar, select Settings > General.
  4. Expand Code Suggestions and:
    • Select Turn on Code Suggestions for this instance.
    • In Personal access token, enter your GitLab SaaS personal access token.
  5. Select Save changes.

This setting is visible only in self-managed GitLab instances.

WARNING: If you clear the Turn on Code Suggestions for this instance checkbox, the users in your instance can still use Code Suggestions for up to one hour, until the issued JSON web token (JWT) expires.

Request access to Code Suggestions

GitLab provisions access on a customer-by-customer basis for Code Suggestions on self-managed instances. To request access, contact your customer success manager.

Your customer success manager then provisions access by commenting on issue 415393 (internal access only).

After GitLab has provisioned access to Code Suggestions for your instance, the users in your instance can now enable Code Suggestions.

Configure network and proxy settings

Configure any firewalls to allow outbound connections to https://codesuggestions.gitlab.com/.

If your GitLab instance uses an HTTP proxy server to access the internet, ensure the server is configured to allow outbound connections, including the gitlab_workhorse environment variable.

Update GitLab

In GitLab 16.3 and later, GitLab is enforcing the cloud licensing requirement for Code Suggestions:

  • The Premium and Ultimate subscription tiers support cloud Licensing.
  • GitLab Free does not have cloud licensing support.

If you have a GitLab Free subscription and update to GitLab 16.3 or later, to continue having early access to Code Suggestions, you must:

  1. Have a subscription that supports cloud licensing.
  2. Make sure you have the latest version of your IDE extension.
  3. Manually synchronize your subscription.

Manually synchronize your subscription

You must manually synchronize your subscription if either:

  • You have already updated to GitLab 16.3 and have just bought a Premium or Ultimate tier subscription.
  • You already have a Premium or Ultimate tier subscription and have just updated to GitLab 16.3.

Without the manual synchronization, it might take up to 24 hours to active Code Suggestions on your instance.

Use Code Suggestions

Prerequisites:

Use Code Suggestions.

Data privacy

A self-managed GitLab instance does not generate the code suggestion. After successful authentication to the self-managed instance, a token is generated.

The IDE/editor then uses this token to securely transmit data directly to GitLab.com's Code Suggestions service via the Cloud Connector gateway service for processing.

The Code Suggestions service then securely returns an AI-generated code suggestion.

Neither GitLab nor Google Vertex AI Codey APIs have any visibility into a self-managed customer's code other than what is sent to generate the code suggestion.