Skip to content
Latchkey

GitHub Actions setup-python "Version not found / not available"

actions/setup-python first checks the runner tool cache, then the actions/python-versions manifest. A version present in neither (a typo, a pre-release, or a very new/old patch) fails resolution.

What this error means

A setup-python step fails listing the versions it could find, after requesting a version that is not published for the runner platform.

github-actions
Error: Version 3.13.0 with arch x64 not found
The list of all available versions can be found here: https://raw.githubusercontent.com/actions/python-versions/main/versions-manifest.json

Common causes

Version absent from the python-versions manifest

setup-python downloads CPython builds from actions/python-versions; a version with no manifest entry for the platform cannot be installed.

Pre-release requested without allow-prereleases

Alpha, beta, or release-candidate versions are skipped unless allow-prereleases is set.

How to fix it

Request a published version or enable pre-releases

  1. Use a minor-version spec (e.g. 3.12) so setup-python picks the newest published patch.
  2. For a pre-release, add allow-prereleases: true.
  3. Confirm the exact version appears in the python-versions manifest for your OS/arch.
.github/workflows/ci.yml
- uses: actions/setup-python@v5
  with:
    python-version: '3.12'
    allow-prereleases: true

How to prevent it

  • Pin to a minor version (3.12) rather than an exact patch in CI.
  • Use python-version-file with a .python-version file for a single source of truth.
  • Latchkey managed runners auto-retry the CPython download on transient registry failures and keep a warm tool cache, so a manifest fetch blip does not fail the job.

Related guides

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