> ## Documentation Index
> Fetch the complete documentation index at: https://bloodhound.specterops.io/llms.txt
> Use this file to discover all available pages before exploring further.

# GH_CanUseRunner

> Repository or branch can dispatch workflows to this self-hosted runner execution surface

<img noZoom src="https://mintcdn.com/specterops/tTIczgde9H07oLXf/assets/enterprise-AND-community-edition-pill-tag.svg?fit=max&auto=format&n=tTIczgde9H07oLXf&q=85&s=ad49a576589f4d2a8081df77d07fdf56" alt="Applies to BloodHound Enterprise and CE" width="482" height="45" data-path="assets/enterprise-AND-community-edition-pill-tag.svg" />

## Edge Schema

* Traversable: ✅

| Start                                                              | Kind             | End                                                                        |
| ------------------------------------------------------------------ | ---------------- | -------------------------------------------------------------------------- |
| [GH\_Repository](/opengraph/extensions/github/nodes/gh_repository) | GH\_CanUseRunner | [GH\_OrgRunnerGroup](/opengraph/extensions/github/nodes/gh_orgrunnergroup) |
| [GH\_Branch](/opengraph/extensions/github/nodes/gh_branch)         | GH\_CanUseRunner | [GH\_OrgRunnerGroup](/opengraph/extensions/github/nodes/gh_orgrunnergroup) |
| [GH\_Repository](/opengraph/extensions/github/nodes/gh_repository) | GH\_CanUseRunner | [GH\_RepoRunner](/opengraph/extensions/github/nodes/gh_reporunner)         |

```mermaid theme={null}
flowchart LR
    GH_Branch["GH_Branch"]
    GH_OrgRunnerGroup["GH_OrgRunnerGroup"]
    GH_RepoRunner["GH_RepoRunner"]
    GH_Repository["GH_Repository"]
    GH_Branch -- GH_CanUseRunner --> GH_OrgRunnerGroup
    GH_Repository -- GH_CanUseRunner --> GH_OrgRunnerGroup
    GH_Repository -- GH_CanUseRunner --> GH_RepoRunner
```

## General Information

For runner-group-backed access, the traversable GH\_CanUseRunner edge is a computed edge representing that a repository or branch can dispatch workflows to a self-hosted runner execution surface under the modeled runner-group controls.

The collector derives this edge from [GH\_IsEligibleFor](/opengraph/extensions/github/edges/gh_iseligiblefor) rather than directly from repository visibility. It emits GH\_CanUseRunner only when the repository is within the runner group's repository-access scope, GitHub Actions is enabled for the repository, and `restricted_to_workflows=false` on the organization-facing runner group. Inherited enterprise-backed access also requires `restricted_to_workflows=false` on the source [GH\_EnterpriseRunnerGroup](/opengraph/extensions/github/nodes/gh_enterpriserunnergroup). Every collected branch in a repository that satisfies those conditions receives the same edge so branch write paths can reach the execution surface.

Organization and inherited enterprise-backed access terminate at the organization-facing [GH\_OrgRunnerGroup](/opengraph/extensions/github/nodes/gh_orgrunnergroup), then continue through [GH\_HasRunner](/opengraph/extensions/github/edges/gh_hasrunner) for native organization runners or through [GH\_InheritedFrom](/opengraph/extensions/github/edges/gh_inheritedfrom) and [GH\_HasRunner](/opengraph/extensions/github/edges/gh_hasrunner) for inherited enterprise runners. Repository-scoped runners currently receive GH\_CanUseRunner directly from their containing repository and are not part of this runner-group traversability change.

## Edge Schema

| Source                                                             | Destination                                                                | Traversable |
| ------------------------------------------------------------------ | -------------------------------------------------------------------------- | ----------- |
| [GH\_Branch](/opengraph/extensions/github/nodes/gh_branch)         | [GH\_OrgRunnerGroup](/opengraph/extensions/github/nodes/gh_orgrunnergroup) | `true`      |
| [GH\_Repository](/opengraph/extensions/github/nodes/gh_repository) | [GH\_OrgRunnerGroup](/opengraph/extensions/github/nodes/gh_orgrunnergroup) | `true`      |
| [GH\_Repository](/opengraph/extensions/github/nodes/gh_repository) | [GH\_RepoRunner](/opengraph/extensions/github/nodes/gh_reporunner)         | `false`     |

## Diagram

```mermaid theme={null}
graph LR
    n0["GH_Branch"]
    n1["GH_OrgRunnerGroup"]
    n2["GH_Repository"]
    n3["GH_RepoRunner"]
    n0 -->|GH_CanUseRunner| n1
    n2 -->|GH_CanUseRunner| n1
    n2 -.->|GH_CanUseRunner| n3
```
