jdx/mise · error

No matching SwiftPM artifact bundle found for

Error message

No matching SwiftPM artifact bundle found for {}

What it means

The SwiftPM backend tried to install a release version via a prebuilt SwiftPM artifact bundle, but no bundle asset matching the platform/triple was found in the release assets, and artifact bundles were required (spm.artifactbundle_only or equivalent settings), so mise cannot proceed and bails instead of falling back to a source build.

Solutions

  1. Check the release's assets on the GitHub repo for a bundle matching your platform triple
  2. Remove spm.artifactbundle_only = true from settings so mise can build from source
  3. Pin an older/newer version whose release includes an artifact bundle for your platform
  4. Request or contribute an artifact bundle for your platform upstream

Example fix

// mise config
// before
[settings.spm]
artifactbundle_only = true
// after
[settings.spm]
# allow source builds when no bundle exists
artifactbundle_only = false
Defensive patterns

Strategy: fallback

Validate before calling

// before pinning, check release assets for your platform
gh release view <tag> -R <owner>/<repo> --json assets -q '.assets[].name' | grep artifactbundle

Prevention

When it happens

Trigger: install_version_ calls try_install_artifactbundle which returns Ok(false) (no matching bundle variant) while artifactbundle_required is true — i.e. the tool config mandates artifact bundles and the GitHub release has no .artifactbundle.zip asset for the current OS/arch.

Common situations: Installing a SwiftPM tool on an unusual platform (e.g. linux-aarch64) where the project only publishes macOS bundles; a release that ships no artifact bundle at all while settings.toml sets spm.artifactbundle_only = true.

Understand the failure class

Background: 'Could not be found', 'does not exist', 'not found in database': the resource-not-found family when an ID, slug, key, or URI lookup comes back empty — this error's family across 20 libraries.

Related errors


AI-assisted analysis of jdx/mise@533346cc37 (2026-09-17). Data as JSON: /api/errors/4b69839985808dde. Report an issue: GitHub.

Appendix: source

Thrown at src/backend/spm.rs:280

            artifactbundle_mode,
            Settings::get().spm.artifactbundle_only,
            &tv.version,
        )? {
            let artifactbundle_required = opts.requires_artifactbundle(artifactbundle_mode);
            match self
                .try_install_artifactbundle(
                    ctx,
                    &mut tv,
                    &provider,
                    &repo,
                    revision.as_str(),
                    &opts,
                )
                .await
            {
                Ok(true) => return Ok(tv),
                Ok(false) if artifactbundle_required => {
                    bail!(
                        "No matching SwiftPM artifact bundle found for {}",
                        repo.shorthand
                    );
                }
                Ok(false) if Settings::get().spm.artifactbundle_only => {
                    bail!(
                        "No matching SwiftPM artifact bundle found for {}, but spm.artifactbundle_only is set",
                        repo.shorthand
                    );
                }
                Ok(false) => {}
                Err(err) if artifactbundle_required => return Err(err),
                Err(err) if Settings::get().spm.artifactbundle_only => return Err(err),
                Err(err) => {
                    debug!(
                        "SwiftPM artifact bundle install failed, falling back to source build: {err:?}"
                    );
                }

View on GitHub (pinned to 533346cc37)