zylon-ai/private-gpt · error · HTTPException
Skill with id {skill_id} is readonly and cannot create versi
Error message
Skill with id {skill_id} is readonly and cannot create versions What it means
Error "Skill with id {skill_id} is readonly and cannot create versions" thrown in zylon-ai/private-gpt.
Source
Thrown at private_gpt/server/skills/skill_router.py:484
request: Request,
skill_id: str,
collection: Annotated[
str,
Form(min_length=1, max_length=255, examples=["acme-prod"]),
],
anthropic_beta: Annotated[list[str] | None, Header(alias="anthropic-beta")] = None,
) -> SkillVersionResponse:
"""Create and return a new version for the requested skill."""
del anthropic_beta
service: SkillService = request.state.injector.get(SkillService)
skill = await service.get_skill(skill_id=skill_id, collection=collection)
if not skill:
raise HTTPException(
status_code=404,
detail=f"Skill with id {skill_id} not found in collection {collection}",
)
if skill.readonly:
raise HTTPException(
status_code=403,
detail=f"Skill with id {skill_id} is readonly and cannot create versions",
)
form = await request.form()
uploads = await uploads_from_request_form(list(form.multi_items()))
files = await stored_files_from_uploads(uploads)
version = await service.create_version(
skill_id=skill_id,
collection=collection,
files=files,
)
if not version:
raise HTTPException(
status_code=404,
detail=f"Skill with id {skill_id} not found in collection {collection}",
)View on GitHub (pinned to 4a030776a3)
Solutions
- Do not attempt to create versions of readonly skills; create versions only for user-created skills.
- Fork or duplicate the skill as a user-owned skill, then create versions on the copy.
- Check the skill's readonly flag before calling the create-version endpoint.
When it happens
Trigger: Raised when attempting to create a new version of a skill marked as readonly.
Common situations: Versioning a bundled/system skill; copy its content into a new custom skill and version that instead.
AI-assisted analysis of zylon-ai/private-gpt@4a030776a3 (2026-08-15).
Data as JSON: /api/errors/0d5634e9c6540315.
Report an issue: GitHub.