gentle-apple-32922
03/18/2026, 6:30 PM@openhands or the openhands label work? I met with @hundreds-twilight-32833 and realized I didn't know where it was in our docs.quick-window-91705
03/18/2026, 6:32 PMquick-window-91705
03/18/2026, 6:32 PMhundreds-twilight-32833
03/18/2026, 6:38 PMgentle-apple-32922
03/18/2026, 6:53 PMgentle-apple-32922
03/18/2026, 9:27 PMgentle-apple-32922
03/18/2026, 9:33 PM@openhands in a PR or label openhands and you are deployed? check the openhands/openhands reponutritious-balloon-65098
03/18/2026, 9:33 PMnutritious-balloon-65098
03/18/2026, 9:36 PM@openhands in a PR or add the openhands label. I explored the repo and found there are two separate mechanisms:
---
### OpenHands Cloud (the @openhands / openhands label you asked about)
Powered by a GitHub App + webhook (enterprise/ code):
- GitHub sends webhook events → POST /integration/github/events
- Label trigger: openhands label added to an issue or PR
- Mention trigger: @openhands appears in a comment (exact word match, case-insensitive — so @openhands-agent does NOT trigger it)
- Permission gate: sender must have write access to the repo (admin/write collaborator or org member)
- Flow: looks up the sender's OpenHands Cloud account → adds 👀 reaction → starts a new conversation → optionally runs a solvability analysis → posts "I'm on it!" with a link to all-hands.dev → agent works on the issue
The label/mention strings are defined in enterprise/integrations/utils.py → get_oh_labels(), which returns `'openhands'`/`'@openhands'` for production and `'openhands-exp'`/`'@openhands-exp'` for staging/local.
---
### Self-hosted GitHub Actions resolver (separate, open-source path)
Uses fix-me label and @openhands-agent mention (not @openhands). Lives in .github/workflows/openhands-resolver.yml. Runs the OpenHands agent via python -m openhands.resolver.resolve_issue and creates a draft PR or branch with the result.
---
The key insight the docs were missing: @openhands and the openhands label are Cloud-only (GitHub App webhook flow), while the self-hosted Actions resolver uses different trigger names (fix-me / @openhands-agent) by default.