unslothai/unsloth · error · RuntimeError
requested {backend_request} but the installer recorded {new_
Error message
requested {backend_request} but the installer recorded {new_backend_request or 'an unknown selection'} What it means
Verifies the installer honored the exact backend selection string: marker_backend_request(new_marker) must equal the backend_request argument. It distinguishes the requested selection (what the user chose, recorded by the installer) from the resolved backend (what actually got installed), catching installer bugs or argument plumbing mistakes where the recorded selection differs from the request.
Source
Thrown at studio/backend/utils/llama_cpp_update.py:686
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)
reload_hint = " Reload your model to use it." if model_was_active else ""
return {
"to_tag": new_tag,
"backend": new_backend,
"reload_required": model_was_active,
"message": (
f"llama.cpp is now running on {new_backend or backend_request}.{reload_hint}"
if backend_request is not NoneView on GitHub (pinned to 203007d190)
Solutions
- Retry the update ensuring nothing else is updating the runtime concurrently (close other Studio tabs/jobs)
- Update Studio so the requester and installer share the same backend vocabulary
- Inspect the marker JSON next to the binary to see what selection was recorded and reconcile it with your request
- Reinstall without a backend_request (auto) to get back to a consistent state, then re-request
Example fix
# before run_update(backend_request='cuda') # RuntimeError: requested cuda but the installer recorded auto # after: eliminate the concurrent/racy invocation, then run_update(backend_request='cuda') # marker records cuda, check passes
Defensive patterns
Strategy: try-catch
Validate before calling
from utils.llama_cpp_update import read_install_marker, _find_binary, marker_backend_request
def recorded_matches(request: str) -> bool:
return marker_backend_request(read_install_marker(_find_binary())) == request Try / catch
try:
run_update(backend_request=sel)
except RuntimeError as exc:
if 'installer recorded' in str(exc):
serialize_updates_with_lock()
run_update(backend_request=sel) Prevention
- Serialize update requests behind a lock or queue
- Keep frontend/backend backend-vocabulary in sync ('cuda'|'vulkan'|'metal'|'auto')
When it happens
Trigger: run_update(backend_request='cuda') where the marker's recorded backend_request is 'auto' or 'vulkan' — an installer that ignored the flag, a request value not in the installer's accepted vocabulary, or a marker from an install started with different arguments.
Common situations: Frontend/backend argument mismatch after a UI change (button sends 'metal' but installer records 'auto'); testing with hand-crafted markers; concurrent update requests racing on one runtime.
Related errors
- backend switch must preserve {repo}@{pin_release_tag}, but i
- pinned release {pin_release_tag} but installer produced {new
- requested {backend_request} but the installed backend is unk
- requested {backend_request} but the installer produced {new_
- STT model '{model}' is not a curated llama.cpp dictation mod
AI-assisted analysis of unslothai/unsloth@203007d190 (2026-08-15).
Data as JSON: /api/errors/e7b67716e6ce384e.
Report an issue: GitHub.