HKUDS/DeepTutor · error · HTTPException
Tag already exists: {exc}
Error message
Tag already exists: {exc} What it means
Error "Tag already exists: {exc}" thrown in HKUDS/DeepTutor.
Source
Thrown at deeptutor/api/routers/skills.py:89
rename_to: str = Field(..., min_length=1, max_length=32)
# ── tag routes (declared before `/{name}` so they are not shadowed) ──
@router.get("/tags/list")
async def list_tags() -> dict[str, list[str]]:
service = get_skill_service()
return {"tags": service.list_tags()}
@router.post("/tags/create")
async def create_tag(payload: CreateTagRequest) -> dict[str, str]:
service = get_skill_service()
try:
tag = service.create_tag(payload.name)
except TagExistsError as exc:
raise HTTPException(status_code=409, detail=f"Tag already exists: {exc}")
except InvalidTagError as exc:
raise HTTPException(status_code=400, detail=str(exc))
return {"name": tag}
@router.put("/tags/{tag}")
async def rename_tag(tag: str, payload: RenameTagRequest) -> dict[str, str]:
service = get_skill_service()
try:
new_tag = service.rename_tag(tag, payload.rename_to)
except TagNotFoundError:
raise HTTPException(status_code=404, detail=f"Tag not found: {tag}")
except TagExistsError as exc:
raise HTTPException(status_code=409, detail=f"Tag already exists: {exc}")
except InvalidTagError as exc:
raise HTTPException(status_code=400, detail=str(exc))
return {"name": new_tag}
View on GitHub (pinned to 3e82f13042)
When it happens
Trigger: Thrown at deeptutor/api/routers/skills.py:89 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of HKUDS/DeepTutor@3e82f13042 (2026-08-27).
Data as JSON: /api/errors/904c1f4c13cab5ce.
Report an issue: GitHub.