unslothai/unsloth · error · RuntimeError
pinned release {pin_release_tag} but installer produced {new
Error message
pinned release {pin_release_tag} but installer produced {new_tag} What it means
Narrower sibling of the repo-preservation check: it fires only when no backend_request was supplied (a plain update, not a switch), a release tag was pinned, the installer did record a tag, and the repo is unchanged — but the installed tag differs from the pin. I.e. the install succeeded yet landed on the wrong release of the right repository.
Source
Thrown at studio/backend/utils/llama_cpp_update.py:678
try:
latest_published_release(repo, force_refresh = True)
except Exception as exc: # pragma: no cover - network defensive
logger.debug("llama update: post-install freshness refresh failed", error = str(exc))
new_marker = read_install_marker(_find_binary())
new_tag = (new_marker or {}).get("release_tag") or (new_marker or {}).get("tag")
new_backend = marker_backend(new_marker)
new_backend_request = marker_backend_request(new_marker)
new_repo = (new_marker or {}).get("published_repo")
if pin_release_tag and backend_request is not None:
if new_repo != repo or new_tag != pin_release_tag:
raise RuntimeError(
"backend switch must preserve "
f"{repo}@{pin_release_tag}, but installer produced "
f"{new_repo or 'an unknown repository'}@{new_tag or 'an unknown release'}"
)
elif pin_release_tag and new_tag and new_repo == repo and new_tag != pin_release_tag:
raise RuntimeError(f"pinned release {pin_release_tag} but installer produced {new_tag}")
if backend_request is not None:
if new_backend is None:
raise RuntimeError(
f"requested {backend_request} but the installed backend is unknown"
)
if new_backend_request != backend_request:
raise RuntimeError(
f"requested {backend_request} but the installer recorded "
f"{new_backend_request or 'an unknown selection'}"
)
if backend_request != "auto" and new_backend != backend_request:
raise RuntimeError(
f"requested {backend_request} but the installer produced "
f"{new_backend or 'an unknown backend'}"
)
logger.info("llama update: success", to_tag = new_tag, backend = new_backend)View on GitHub (pinned to 203007d190)
Solutions
- Confirm the pinned tag publishes an artifact for your OS/arch and re-run
- If you intended to track latest, drop the pin_release_tag argument
- Re-pin to the tag actually installed if that release is acceptable
- Clear the managed install and re-run with the pin so no stale marker confuses the check
Example fix
# before run_update(pin_release_tag='b1234') # RuntimeError: pinned release b1234 but installer produced b4900 # after run_update(pin_release_tag='b4900') # or omit the pin to track latest
Defensive patterns
Strategy: validation
Validate before calling
from utils.llama_cpp_update import latest_published_release
def tag_exists(repo: str, tag: str) -> bool:
try:
return tag == getattr(latest_published_release(repo, force_refresh=True), 'tag', None)
except Exception:
return False # do not block on network; rely on the post-check Try / catch
try:
run_update(pin_release_tag=tag)
except RuntimeError as exc:
if 'pinned release' in str(exc):
run_update(pin_release_tag=parse_installed_tag(exc)) # accept reality or re-pin
else:
raise Prevention
- Prefer tracking latest (omit the pin) unless reproducibility demands a tag
- Verify the tag has artifacts for your platform before pinning
When it happens
Trigger: run_update(pin_release_tag='b1234') without backend_request, where read_install_marker returns the same published_repo but a different tag — e.g. the pinned tag had no artifact for the platform and the installer fell back to the closest release, or the pin was overridden by a 'latest' policy.
Common situations: Platform-specific asset missing for the pinned release (macOS arm64 vs x86 asset naming); user pinned an old tag while auto-update logic prefers latest; concurrent runs where one pinned and the other updated freely.
Related errors
- backend switch must preserve {repo}@{pin_release_tag}, but i
- requested {backend_request} but the installed backend is unk
- requested {backend_request} but the installer recorded {new_
- requested {backend_request} but the installer produced {new_
- deadline reached before {method} {_redact_url(url)}
AI-assisted analysis of unslothai/unsloth@203007d190 (2026-08-15).
Data as JSON: /api/errors/7f73ffc45d61b509.
Report an issue: GitHub.