Loading image...Kiro

Product

  • About Kiro
  • IDE
  • CLI
  • Web
  • Mobile
  • Crew
  • 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
  • Web
  • Enterprise
  • Pricing
  • Docs
SIGN INDOWNLOADS
Loading image...Kiro

Get Started

InstallationAuthenticationYour first project

Models

OverviewAvailable modelsReasoning effort

Features

How Kiro works
Specs
Steering
Hooks
MCP
Permissions
Custom agents
Agent Skills
Powers
Cloud sessionsCompactionKiroignoreCheckpoints and rewind
Built-in tools
Configuration scopes

IDE 1.x

What's new in 1.0
Setup & First Run
Editor
Chat
Experimental
Troubleshooting0.x reference

CLI

What's new in 3.0
Setup & First Run
Terminal UI
Chat
Voice modeHeadless modeACPAuto complete
Experimental
2.x reference

Crew

Quick startInstallationRunning 24/7
Chat
Agent Capabilities
Features
Interfaces
Apps
System & storageConfigurationSecurityTroubleshooting

Web

Setup & First RunIdentity Center
Connect your repositories
GitHub
GitLab
Working with the agent
Autonomous modeAutomationsMemoryConfiguration Sync
Sandbox

Mobile - Preview

Overview

Commands and Reference

CLI commandsSlash commandsBuilt-in toolsExit codesSettings

Billing

OverviewManaging your subscriptionUpgrading your planDowngrading your planCancelling your planPurchasing add-on creditsManaging your paymentsManaging usage notificationsManaging your taxesContacting billing supportDeleting your accountRelated questions

Enterprise

ConceptsOnboarding quickstart
Connecting your identity provider
Deployment optionsSubscribe your teamManage subscriptions
Governance
Monitor and track
SettingsManaged updatesBillingIAMSupported regions

Privacy and Security

OverviewData protectionCode referencesCompliance validationInfrastructure securityIAM permissionsFirewalls, proxies, and data perimetersVPC endpoints (AWS PrivateLink)

Guides

Overview
Language support
Learn by playing

Migration

Migrating from Q DeveloperMigrating from VSCodeUpgrading from Q CLI
  1. Docs
  2. Web
  3. Connect your repositories
  4. GitLab
View as Markdown

GitLab

View as Markdown

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: August 4, 2026
GitHub
Working with the agent