HKUDS/DeepTutor · error · HTTPException
Hub `{hub}` does not support browsing.
Error message
Hub `{hub}` does not support browsing. What it means
Error "Hub `{hub}` does not support browsing." thrown in HKUDS/DeepTutor.
Source
Thrown at deeptutor/api/routers/skills.py:161
@router.get("/hub/catalog")
async def hub_catalog(hub: str = "eduhub", q: str = "", limit: int = 50) -> dict[str, object]:
"""Proxy a skill hub's public catalog for the in-app browser.
The web "Import from EduHub" panel renders these rows in DeepTutor's own
UI — no embedded iframe, no login — so users can browse, search, and
one-click download skills. Returns ``web_url`` (the hub's site origin) so
the panel can offer a "view on EduHub" link out.
"""
import asyncio
from deeptutor.services.skill.hub import ClawHubProvider, HubError, get_hub_provider
try:
provider = get_hub_provider(hub)
except HubError as exc:
raise HTTPException(status_code=400, detail=str(exc))
if not isinstance(provider, ClawHubProvider):
raise HTTPException(status_code=400, detail=f"Hub `{hub}` does not support browsing.")
try:
skills = await asyncio.to_thread(provider.catalog, query=q, limit=limit)
except HubError as exc:
raise HTTPException(status_code=502, detail=str(exc))
return {"hub": provider.name, "web_url": provider.web_origin, "skills": skills}
@router.get("/hub/detail")
async def hub_detail(slug: str, hub: str = "eduhub") -> dict[str, object]:
"""Full metadata + SKILL.md body for one hub skill (browser detail view)."""
import asyncio
from deeptutor.services.skill.hub import ClawHubProvider, HubError, get_hub_provider
try:
provider = get_hub_provider(hub)
except HubError as exc:
raise HTTPException(status_code=400, detail=str(exc))View on GitHub (pinned to 3e82f13042)
When it happens
Trigger: Thrown at deeptutor/api/routers/skills.py:161 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/711066698db8152e.
Report an issue: GitHub.