# GitHub Actions: error parsing called workflow ".github/workflows/ci.yml" -> "org/repo/.github/workflows/build.yml@main": workflow was not found

**Code:** `error parsing called workflow` · **Category:** CI/CD · **Seen on:** GitHub Actions

A job calls a reusable workflow (`uses: org/repo/.github/workflows/x.yml@ref`) that GitHub cannot find or is not allowed to use.

## Meaning

The path, repository, ref, visibility and access settings must all match. The called file must be under `.github/workflows/` and have `on: workflow_call`. Private repositories must allow access from other repositories (Settings → Actions → General → Access). Local calls use `./.github/workflows/x.yml` without `@ref`.

## Common causes

- Wrong path, repository or ref (branch/tag/SHA) in `uses:`
- Called workflow lacks `on: workflow_call`
- Private repository not shared with other repositories
- Local reusable workflow written with `@main`
- Called workflow file YAML invalid

## Quick fix

1. Open the exact path and ref in the browser to verify
2. Add `on: workflow_call:` (with inputs/secrets) to the called file
3. Enable access for repositories in the called repo's Actions settings

## Detailed fix by platform

### GitHub Actions

1. Same repo: `uses: ./.github/workflows/build.yml`
2. Other repo: `uses: org/shared/.github/workflows/build.yml@v1` with `secrets: inherit`

## Code examples

### Caller and callee

```yaml
# called workflow: .github/workflows/build.yml
on:
  workflow_call:
    inputs: { node: { type: string, default: '20' } }

# caller
jobs:
  build:
    uses: ./.github/workflows/build.yml
    with: { node: '22' }
```

## How to diagnose

1. **Reference** — Path, repo and ref correct?
2. **Trigger** — workflow_call present?
3. **Access** — Repo allows external callers?

---
Source: [WhatIsMyError](https://whatismyerror.com/errors/cicd/gha-reusable-workflow-not-found)
