Skip to main content
Connections are added inside an Access bundle. At claude.ai/admin-settings/claude-tag, open Access bundles in the left navigation, click into a bundle (or Create one), and go to its Credentials tab.
Connecting GitLab lets Claude clone repositories, read and search projects, comment on issues and merge requests, and check pipeline status, all through the GitLab REST API. The connection is a single access token added to a bundle. Pair this connection with the GitLab plugin from Anthropic’s plugin marketplace so Claude knows how to call the API; see Attach plugins.

Add the connection

1

Create the token in GitLab

A project access token or group access token, so activity is attributed to a bot identity rather than a person. Grant the api scope for read and write; read_api for read-only. The token starts with glpat-.
2

Add the credential to a bundle

On the bundle’s Credentials tab, click Connect next to GitLab and paste the token. For self-managed GitLab, switch to the form’s Advanced tab and add your instance’s hostname under Allowed websites.
You’ll see: GitLab listed in the bundle’s connections, and @Claude what can you access from this channel? returns it in a new thread under the bundle’s scope.
FieldValue
Claude’s personal access tokenThe token from GitLab, starting with glpat-. Project and group access tokens work here too; the label is the field name, not a token-type constraint.
Allowed websitesgitlab.com (preset). For self-managed GitLab, open the Advanced tab and add your instance’s hostname here.
GitLab’s own guide for creating tokens is at docs.gitlab.com.

How GitLab differs from GitHub

GitLabGitHub
AuthOne org-level access tokenThe Claude GitHub App, installed separately
Attaching a repo in a threadGive Claude the full repository URL; it clones itTyping owner/repo in the message auto-attaches it
Self-managedYour hostname under Advanced → Allowed websitesGitHub Enterprise setup
The token is auto-injected on every request to your GitLab host and used as the credential when cloning repositories into a session. The model and the sandbox are not given the key; see how Agent Proxy works.