Reference

Capability matrix

Which operations each forge supports.

The table lists every capability for every provider. The GitHub column assumes app auth with an installation. With a token, installations is ❌. The Tangled column assumes that notificationsUrl is set.

See Capabilities for the meaning of each value. The provider pages have one table per forge.

CapabilityGitHubGitLabBitbucketForgejoGiteaGiteeAzure DevOpsCursor Originpushin.euTangled
experimental❌❌❌❌❌✅✅✅✅❌
sources.poll✅✅❌✅✅✅❌❌❌❌
sources.webhook✅✅✅✅✅✅✅✅❌✅
sources.subscribe❌❌❌❌❌❌❌❌❌✅
repos.get✅✅✅✅✅✅✅✅✅✅
users.get✅✅❌✅✅experimental❌❌❌❌
repos.list✅✅experimental✅✅experimentalexperimentalexperimentalexperimentalexperimental
repos.labels✅✅❌✅✅experimental❌❌✅❌
repos.createLabelexperimentalexperimental❌experimentalexperimentalexperimental❌❌❌❌
repos.milestones✅✅❌✅✅❌❌❌❌❌
repos.collaborators✅✅❌✅✅experimental❌❌experimental❌
repos.permissionFor✅✅❌experimentalexperimental❌❌❌❌❌
repos.addCollaboratorexperimentalexperimental❌experimentalexperimental❌❌❌❌❌
repos.assignableUsers✅✅❌✅✅❌❌❌❌❌
repos.reviewerCandidatesemulatedemulated❌experimentalexperimental❌❌❌❌❌
threads.getissue, PR, discussion, commit (experimental)issue, PR, commit (experimental)issue (experimental), PR, commit (experimental)issue, PR, commit (experimental)issue, PR, commit (experimental)issue (experimental), PRissue (experimental), PRPRissue, PR (experimental)issue, PR
threads.listissue, PR, discussionissue, PRissue (experimental), PRissue, PRissue, PRissue (experimental), PRissue, PRPRissue, PR (experimental)issue (experimental), PR
threads.getMany✅✅✅✅✅✅✅✅✅✅
comments.listissue, PR, discussion, commit (experimental)issue, PR, commit (experimental)issue (experimental), PR, commit (experimental)issue, PRissue, PRissue (experimental), PRissue (experimental), PRPRissue, PR (experimental)issue, PR
comments.editissue (experimental), PR, discussion (experimental), commit (experimental)issue (experimental), PR (experimental)issue (experimental), PR (experimental), commit (experimental)issue (experimental), PR (experimental)issue (experimental), PR (experimental)issue (experimental), PR (experimental)issue (experimental), PR (experimental)PR (experimental)❌issue (experimental), PR (experimental)
comments.deleteissue (experimental), PR, discussion (experimental), commit (experimental)issue (experimental), PR (experimental)issue (experimental), PR (experimental), commit (experimental)issue (experimental), PR (experimental)issue (experimental), PR (experimental)issue (experimental), PR (experimental)issue (experimental), PR (experimental)PR (experimental)❌issue (experimental), PR (experimental)
reactions.listissue, PR, discussionissue, PR❌issue, PRissue, PR❌❌❌❌❌
notifications.list✅✅❌✅✅✅❌❌experimentalexperimental
notifications.markRead✅❌❌✅✅✅❌❌❌experimental
notifications.markDone✅✅❌emulatedemulated❌❌❌❌❌
notifications.unsubscribe✅✅❌✅✅❌❌❌❌❌
notifications.markAllRead✅❌❌✅✅experimental❌❌❌experimental
notifications.markAllDone❌experimental❌❌❌❌❌❌❌❌
notifications.unreadCount❌✅❌✅✅experimental❌❌❌experimental
writes.commentissue (experimental), PR, discussion, commit (experimental)issue (experimental), PR, commit (experimental)issue (experimental), PR, commit (experimental)issue (experimental), PRissue (experimental), PRissue (experimental), PRissue (experimental), PRPR❌issue (experimental), PR
writes.upsertCommentissue (emulated), PR (emulated), discussion (emulated), commit (emulated)issue (emulated), PR (emulated)issue (emulated), PR (emulated), commit (emulated)issue (emulated), PR (emulated)issue (emulated), PR (emulated)issue (emulated), PR (emulated)issue (emulated), PR (emulated)PR (emulated)❌issue (emulated), PR (emulated)
writes.closeissue, PR, discussionissue (experimental), PRissue (experimental), PRissue (experimental), PRissue (experimental), PRissue, PRissue, PRPR❌issue (experimental), PR
writes.reopenissue (experimental), PR, discussionissue (experimental), PRissue (experimental)issue (experimental), PRissue (experimental), PRissue (experimental), PRissue (experimental), PRPR❌issue (experimental), PR
writes.createissue, PR (experimental)issue (experimental), PR (experimental)issue (experimental), PR (experimental)issue (experimental), PR (experimental)issue (experimental), PR (experimental)issue (experimental), PR (experimental)issue (experimental), PR (experimental)PR (experimental)❌issue (experimental)
writes.updateissue (experimental), PR, discussion (experimental)issue (experimental), PR (experimental)issue (experimental), PR (experimental)issue (experimental), PR (experimental)issue (experimental), PR (experimental)issue (experimental), PR (experimental)issue (experimental), PR (experimental)PR (experimental)❌issue (experimental), PR (experimental)
writes.setLabelsissue (experimental), PRissue (experimental), PR (experimental)❌issue (experimental), PR (experimental)issue (experimental), PR (experimental)issue (experimental), PR (experimental)issue (experimental), PR (experimental)PR (experimental)❌❌
writes.addLabelsissue (experimental), PRissue (experimental), PR (experimental)❌issue (experimental), PR (experimental)issue (experimental), PR (experimental)issue (experimental), PR (experimental)❌❌❌❌
writes.removeLabelsissue (experimental), PRissue (experimental), PR (experimental)❌issue (experimental), PR (experimental)issue (experimental), PR (experimental)issue (experimental), PR (experimental)❌❌❌❌
writes.setMilestoneissue (experimental), PR (experimental)issue (experimental), PR (experimental)❌issue (experimental), PR (experimental)issue (experimental), PR (experimental)❌❌❌❌❌
writes.reactissue (experimental), PR, discussion (experimental)issue (experimental), PR (experimental)❌issue (experimental), PR (experimental)issue (experimental), PR (experimental)❌❌❌❌❌
writes.setAssigneesissue (experimental), PRissue (experimental), PR (experimental)issue (experimental)issue (experimental), PR (experimental)issue (experimental), PR (experimental)issue (experimental)issue (experimental)❌❌❌
writes.requestReviewPRPR (experimental)PR (experimental)PR (experimental)PR (experimental)PR (experimental)PR (experimental)PR (experimental)❌❌
writes.merge✅✅✅✅✅✅✅✅❌❌
writes.approveAndMerge✅✅✅✅✅✅✅✅❌❌
writes.transferexperimentalexperimental❌❌❌❌❌❌❌❌
writes.markDuplicateexperimentalemulated❌❌❌❌❌❌❌❌
subscriptions.getissue, PR, discussionissue, PRissue (experimental)issue, PRissue, PR❌❌❌❌issue (experimental), PR (experimental)
subscriptions.setissue, PR, discussionissue, PRissue (experimental)issue, PRissue, PR❌❌❌❌issue (experimental), PR (experimental)
installations✅❌❌❌❌❌❌❌❌❌
checks.threadPRPRPRPRPRPRPRPR❌❌
checks.list✅✅✅✅✅experimentalexperimentalexperimental❌❌
checks.report✅experimentalexperimentalexperimentalexperimental❌experimental❌❌❌
checks.rerun✅experimental❌❌❌❌❌❌❌❌
ci.runs✅✅❌❌❌❌❌❌❌❌
ci.run✅✅❌❌❌❌❌❌❌❌
ci.jobs✅✅❌❌❌❌❌❌❌❌
ci.log✅experimental❌❌❌❌❌❌❌❌
contents.file✅✅✅✅✅experimentalexperimentalexperimental❌❌
contents.tree✅✅✅✅✅experimentalexperimentalexperimental❌❌
contents.branches✅✅✅✅✅experimentalexperimentalexperimental❌❌
contents.tags✅✅✅✅✅experimentalexperimentalexperimental❌❌
contents.resolveRef✅✅✅✅✅experimentalexperimentalexperimental❌❌
contents.commits✅✅✅✅✅experimentalexperimentalexperimental❌❌
contents.commit✅✅✅✅✅experimentalexperimentalexperimental❌❌
contents.compare✅✅✅✅✅experimentalexperimentalexperimental❌❌
contents.threadFiles✅✅✅✅✅experimental❌experimental❌❌
contents.threadCommits✅✅✅✅✅experimentalexperimentalexperimental❌❌
reviews.list✅emulatedemulated✅✅❌emulated✅❌❌
reviews.create✅emulatedemulatedexperimentalexperimentalemulatedemulatedexperimental❌❌
reviews.submit✅❌❌experimentalexperimental❌❌❌❌❌
reviews.approve✅✅emulatedexperimentalexperimentalemulatedemulatedexperimental❌❌
reviews.resolveThread✅experimental❌❌❌❌experimentalexperimental❌❌
releases.list✅✅❌✅✅✅❌❌❌❌
releases.get✅✅❌✅✅✅❌❌❌❌
releases.latest✅✅❌✅✅✅❌❌❌❌
releases.getByTag✅✅❌✅✅experimental❌❌❌❌
releases.downloadAsset✅❌❌experimentalexperimental❌❌❌❌❌
webhooks.list✅experimentalexperimentalexperimentalexperimentalexperimental❌❌❌❌
webhooks.create✅experimentalexperimentalexperimentalexperimentalexperimental❌❌❌❌
webhooks.update✅experimentalexperimentalexperimentalexperimentalexperimental❌❌❌❌
webhooks.delete✅experimentalexperimentalexperimentalexperimentalexperimental❌❌❌❌
webhooks.rotateSecretexperimentalexperimentalexperimentalexperimentalexperimentalexperimental❌❌❌❌
webhooks.deliveries✅❌❌❌❌❌❌❌❌❌
webhooks.redeliver✅❌❌❌❌❌❌❌❌❌
search.threads✅✅experimental✅✅experimentalexperimental❌❌❌
search.repos✅✅experimental✅✅experimental❌❌❌❌
search.commits✅experimental❌❌❌❌❌❌❌❌
securityAlertsdependency (experimental), code scanning (experimental), secret (experimental)dependency (experimental), code scanning (experimental), secret (experimental)❌❌❌❌❌❌❌❌
eventKindsnativeheuristicnativenativenativenativenativenativenativenative
authtoken, app, anonymoustoken, anonymoustoken, basic, anonymoustoken, anonymoustoken, anonymoustoken, anonymoustoken, basic, anonymoustoken, apptoken, anonymousanonymous, app_password, oauth
limitsbody 65536, comment 65536, label 50body 1048576, comment 1000000, label 255unknownunknownunknownunknownunknownunknownunknownunknown
Copyright © 2026