Loading image...Kiro

Product

  • About Kiro
  • IDE
  • CLI
  • Web
  • Mobile
  • Pricing
  • Downloads

For

  • Enterprise
  • Startups
  • Students

Community

  • Overview
  • Ambassadors
  • Discord
  • Events
  • Powers
  • Shop
  • Showcase

Resources

  • Docs
  • Blog
  • Changelog
  • FAQs
  • Report a bug
  • Suggest an idea
  • Billing support

Social

Site TermsLicenseResponsible AI PolicyLegalPrivacy PolicyCookie Preferences
Loading image...Kiro
  • CLI
  • IDE
  • Web
  • Mobile
  • Enterprise
  • Pricing
  • Docs
SIGN INDOWNLOADS
Loading image...Kiro
IDECLIWeb
  1. Docs
  2. Web
  3. Gitlab

GitLab


Kiro Web integrates with GitLab so you can add a GitLab project to a session, have the agent make changes, and open a merge request on your behalf. This page covers how to connect, what the agent can access, and how to scope its permissions.

Connect GitLab

Kiro Web connects to GitLab using a personal access token (PAT):

  1. In GitLab, select your avatar and choose Preferences, then go to Access > Personal access tokens and select Generate token
  2. Choose a token format and create the token:
    • Fine-grained token (recommended): grant the permissions listed in Permissions
    • Legacy token: select the api scope for full access, or see Permissions to scope the token down
  3. In Kiro, go to Settings and select the Agent tab
  4. Under GitLab, click Connect GitLab
  5. Paste your personal access token and select the GitLab instance (gitlab.com is populated by default)
Info

If you use a self-managed GitLab instance, update the Instance URL to point to your instance when configuring your personal access token. Self-managed instances must be reachable over the internet for Kiro Web to connect.

Once connected, your GitLab projects are available to select when you create a session or add a repository mid-session.

How the agent works with GitLab

Clones projects
The agent clones your authorized GitLab projects into its isolated sandbox environment, where it reads the code and makes changes.

Creates branches and commits
For each task, the agent creates a feature branch, makes commits with clear messages, and pushes to your project. The agent acts on your behalf and includes both you and itself as co-authors in every commit.

Opens merge requests
After completing work, the agent opens a merge request with a description of the changes, the implementation approach, and any trade-offs considered.

What you can ask the agent to do

  • Work on code — clone a project, make changes, push a branch, and open a merge request for your changes.
  • Inspect merge requests — list open or merged merge requests, show the details and diffs for a merge request, find the branch a merge request is on, and read its discussions and notes.
  • Review issues — list open issues, show the details of an issue, and read the comments on an issue.

Mixing GitLab and GitHub in one session

You can add both GitLab and GitHub repositories to the same session. The agent works across all selected repositories at once—reading code, making changes, and opening a merge request on GitLab and a pull request on GitHub as appropriate for each provider. This lets the agent coordinate changes that span projects hosted on different providers.

Permissions

The agent's access to GitLab is scoped by what you grant your personal access token. GitLab offers two token types.

Fine-grained tokens (recommended)

Fine-grained tokens use granular permissions instead of scopes, limiting the token to specific resources and repositories. When you create a fine-grained token, GitLab displays permissions in two sections. Under Group and project access, you select which groups or projects the token can reach and what it can do. Under User, you grant account-level permissions.

Grant the following:

SectionRequired permissions
Group and projectCode (Download, Push) · Merge Request (Read, Create) · Work Item (Read)
UserProject (Read) · User (Read)

When creating the token, set the group and project access to include the repositories you want Kiro to work with.

Info

Project (Read) must be granted under the User section. Granting it only under Group and project does not allow Kiro to list your projects.

Work Item (Read) covers reading issues and merge request comments.

Project list vs. repository access

The project picker lists all projects you are a member of, but the agent can only clone and push to repositories within the token's group and project access. A project can appear in the picker yet fail to clone if it is outside the token's selection. If that happens, edit the token's group and project access in GitLab to include the project.

Legacy tokens (scopes)

  • api — full access. Supports all of Kiro's GitLab capabilities.
  • read_api — read-only access. The agent can inspect projects, merge requests, and issues, but cannot push branches or open merge requests.
  • write_repository — code access without issues. The agent can push branches and open merge requests, but cannot access issues.

Other notes on access

  • The agent can only access projects that your GitLab user has access to.
  • You can revoke access at any time by deleting the personal access token in GitLab, or by disconnecting GitLab from the Agent tab in Settings.

Token expiration

GitLab personal access tokens can have an expiration date. When your token expires, Kiro Web loses access to your GitLab projects. You'll see a connection error when trying to use GitLab in a session.

To restore access, generate a new token in GitLab with the same permissions and update it in Settings > Agent.

Network access

Publicly hosted instances
If your GitLab instance is reachable over the public internet and uses IP allowlisting or firewall rules, you must allow inbound traffic from the following Kiro Web source IP addresses.

US East (N. Virginia) (us-east-1):

34.228.181.128 44.219.176.187 54.226.244.221

Privately hosted instances
Kiro Web does not yet support GitLab instances that are only accessible from within an AWS VPC.

Page updated: July 16, 2026
GitHub
Data protection