Skip to content
Latchkey

GitHub Actions reusable workflow from another repo not accessible in CI

Calling a reusable workflow in another repository only works if that repo is public, or is private/internal in the same organization with an Actions access policy that permits the caller. Otherwise GitHub reports the workflow as not found.

What this error means

A cross-repo uses: fails with "was not found" or an access error, even though the path and ref are correct and the file exists in the source repo.

GitHub Actions
error parsing called workflow
"octo-org/private-shared/.github/workflows/deploy.yml@v1":
workflow was not found. It may be inaccessible: the source repository is private
and does not allow access from this repository.

Common causes

A private source repo without an access policy

A private or internal repo blocks reuse from other repos unless its Actions settings explicitly allow access from the calling repositories.

A call across organizations

Reusable workflows in a private repo can only be shared within the same organization; a cross-org private call is not accessible.

How to fix it

Allow access from the source repo settings

  1. In the source repo, open Settings > Actions > General.
  2. Under "Access", allow access from repositories in the organization (or the specific caller).
  3. Re-run the caller so it can resolve the reusable workflow.
Repository settings
# Source repo: Settings > Actions > General > Access
# Choose "Accessible from repositories in the 'octo-org' organization"

Make the shared repo public or same-org internal

Public reusable workflows are callable from anywhere; internal repos are callable across the organization. Choose based on how widely it must be shared.

.github/workflows/ci.yml
jobs:
  deploy:
    uses: octo-org/shared/.github/workflows/deploy.yml@v1

How to prevent it

  • Set the Actions access policy when sharing a private reusable workflow.
  • Keep shared workflows in a repo reachable by all callers (public or internal).
  • Pin cross-repo calls to a tag or SHA the callers are allowed to use.

Related guides

Tired of flaky CI? Latchkey auto-heals failed jobs and retries them for you. Start free →