zylon-ai/private-gpt · error · HTTPException
Skill with id {skill_id} is readonly and cannot be deleted
Error message
Skill with id {skill_id} is readonly and cannot be deleted What it means
Error "Skill with id {skill_id} is readonly and cannot be deleted" thrown in zylon-ai/private-gpt.
Source
Thrown at private_gpt/server/skills/skill_router.py:411
collection: str = Query(
...,
min_length=1,
max_length=255,
examples=["acme-prod"],
),
anthropic_beta: Annotated[list[str] | None, Header(alias="anthropic-beta")] = None,
) -> SkillDeletedResponse:
"""Delete a skill and return a deletion marker payload."""
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 be deleted",
)
await service.delete_skill(skill_id=skill_id, collection=collection)
return SkillDeletedResponse(id=skill_id)
@skill_router.post(
"/{skill_id}/versions",
response_model=SkillVersionResponse,
description="Create a new version for an existing skill using multipart uploads.",
responses={
200: {
"description": "Skill version created successfully.",
"content": {
"application/json": {
"examples": {
"created_version": {View on GitHub (pinned to 4a030776a3)
Solutions
- Do not attempt to delete readonly (built-in or managed) skills; remove only user-created skills.
- If deletion is required, remove the skill from its managed source (e.g. the bundle or configuration that defines it) instead of via the API.
- Check the skill's readonly flag before calling delete and skip readonly skills.
When it happens
Trigger: Raised when attempting to delete a skill marked as readonly.
Common situations: Trying to delete a bundled/system skill that is protected; readonly skills cannot be removed, only custom ones.
AI-assisted analysis of zylon-ai/private-gpt@4a030776a3 (2026-08-15).
Data as JSON: /api/errors/79571b3be94ee30f.
Report an issue: GitHub.