Lesstep
GitHub Actions · action.yml · Checked November 3, 2026

GitHub Actions: "Unrecognized named-value" in action.yml ("Failed to load")

The file in the message is the action's own metadata, not your workflow. The runner parses every ${{ }} it finds in action.yml, and each key there may use only a few contexts. One expression in the wrong place, often in a description, and the action cannot be loaded at all.

What it looks like

Download action repository 'octo-org/example-action@v1' (SHA:…)
octo-org/example-action/v1/action.yml (Line: 77, Col: 18): Unrecognized named-value: 'github'. Located at position 1 within expression: github.workspace
Failed to load octo-org/example-action/v1/action.yml

1. An expression in a description

In the runner's schema for action files (action_yaml.json), name, description and the description of each input and output are plain strings with no contexts. The runner still parses ${{ }} in them, so any context there fails: github, runner, job, steps, inputs, secrets, vars. It is usually a usage example or a note about the default.

If you maintain the action, name the value without the braces (github.workspace, $GITHUB_WORKSPACE, "the job's status") or move the example to the README. If you only use it, pin the version before the change or the fixed one. A moving tag such as v1 recovers when the maintainer moves it.

2. vars or secrets inside a composite action

The contexts reference says: "The secrets context is not available for composite actions due to security reasons." vars is in none of the context lists in action_yaml.json either. ${{ vars.GHA_RUNNER }} in a shared action stopped its callers in "Set up job" (worker-actions #278), and ${{ vars.AGENT_DEBUG == 'true' }} kept a local action from loading (agentic-deployment-template #44). Take them as inputs, and let the workflow pass them:

# action.yml
inputs:
  debug:
    description: Print the full output
    default: "false"
  token:
    description: Token for the deploy API
    required: true
runs:
  using: composite
  steps:
    - run: ./deploy.sh
      shell: bash
      env:
        DEBUG: ${{ inputs.debug }}
        TOKEN: ${{ inputs.token }}

# the workflow
- uses: octo-org/example-action@v1
  with:
    debug: ${{ vars.AGENT_DEBUG }}
    token: ${{ secrets.DEPLOY_TOKEN }}

3. What each key can read

From action_yaml.json:

Catching it before a release

Telling it apart

See failed jobs from IntelliJ IDEA

Pipeline Inbox for GitHub Actions Workflows, a plugin by Lesstep for JetBrains IDEs 2024.1 or later, lists the runs of all your repositories in an IDE tool window, with their jobs and steps, and your current branch's runs are in the status bar. Reading is free; re-running failed jobs, cancelling, running workflows and reviewing deployments are Pro (US$1.50 a month, with a 30-day trial).

GitHub and GitHub Actions are trademarks of GitHub, Inc.; IntelliJ IDEA is a trademark of JetBrains s.r.o. This page is not affiliated with, sponsored or endorsed by GitHub, Inc. or JetBrains.

More: "Invalid workflow file" · "Unable to resolve action" · The "Unexpected input(s)" warning · GitHub Actions plugins for IntelliJ IDEA compared · 日本語