Prerequisites
- Signed in to OpenHands Cloud with a GitLab account.
Adding GitLab Repository Access
Upon signing into OpenHands Cloud with a GitLab account, OpenHands will have access to your repositories.Working With GitLab Repos in Openhands Cloud
After signing in with a Gitlab account, use theOpen Repository
section to select the appropriate repository and
branch you’d like OpenHands to work on. Then click on Launch
to start the conversation!

Using Tokens with Reduced Scopes
OpenHands requests an API-scoped token during OAuth authentication. By default, this token is provided to the agent. To restrict the agent’s permissions, you can define a custom secretGITLAB_TOKEN
,
which will override the default token assigned to the agent. While the high-permission API token is still requested
and used for other components of the application (e.g. opening merge requests), the agent will not have access to it.
Working on GitLab Issues and Merge Requests Using Openhands
This feature works for personal projects and is available for group projects with a
Premium or Ultimate tier subscription.A webhook is automatically installed within a few minutes after the owner/maintainer of the project or group logs into
OpenHands Cloud. If you decide to delete the webhook, then re-installing will require the support of All Hands AI but
we are planning to improve this in a future release.
Working with Issues
On your repository, label an issue withopenhands
or add a message starting with @openhands
. OpenHands will:
- Comment on the issue to let you know it is working on it.
- You can click on the link to track the progress on OpenHands Cloud.
- Open a merge request if it determines that the issue has been successfully resolved.
- Comment on the issue with a summary of the performed tasks and a link to the PR.
Working with Merge Requests
To get OpenHands to work on merge requests, mention@openhands
in the comments to:
- Ask questions
- Request updates
- Get code explanations
Next Steps
- Learn about the Cloud UI.
- Use the Cloud API to programmatically interact with OpenHands.