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

  1. Do not attempt to delete readonly (built-in or managed) skills; remove only user-created skills.
  2. 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.
  3. 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.