bytedance/deer-flow · error · HTTPException
Failed to get skill: {str(e)}
Error message
Failed to get skill: {str(e)} What it means
Error "Failed to get skill: {str(e)}" thrown in bytedance/deer-flow.
Source
Thrown at backend/app/gateway/routers/skills.py:429
response_model=SkillResponse,
summary="Get Skill Details",
description="Retrieve detailed information about a specific skill by its name.",
)
async def get_skill(skill_name: str, config: AppConfig = Depends(get_config)) -> SkillResponse:
try:
skill_name = skill_name.replace("\r\n", "").replace("\n", "")
skills = _get_user_skill_storage(config).load_skills(enabled_only=False)
skill = next((s for s in skills if s.name == skill_name), None)
if skill is None:
raise HTTPException(status_code=404, detail=f"Skill '{skill_name}' not found")
return _skill_to_response(skill)
except HTTPException:
raise
except Exception as e:
logger.error(f"Failed to get skill {skill_name}: {e}", exc_info=True)
raise HTTPException(status_code=500, detail=f"Failed to get skill: {str(e)}")
def _write_extensions_skill_state(
storage: SkillStorage,
skill_name: str,
enabled: bool,
*,
rebuild_public_projection: bool,
) -> None:
"""Read-modify-write a skill's enabled state in the shared extensions_config.json.
Blocking filesystem IO: always call this via ``asyncio.to_thread``. It takes
the public projection lock before ``extensions_config_write_lock``. The first
keeps the enabled-only view synchronized across workers; the second prevents
this router and the MCP router from interleaving writes to the shared file.
Both locks are held by the worker, so request cancellation cannot release
either lock while the write or projection rebuild is still running.
"""View on GitHub (pinned to 1dd6ba1acb)
Solutions
- Check the Gateway logs for the underlying read error.
- Verify the skill files on disk are readable and not corrupted.
When it happens
Trigger: Thrown at backend/app/gateway/routers/skills.py:429 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of bytedance/deer-flow@1dd6ba1acb (2026-08-14).
Data as JSON: /api/errors/3bc4afb6e1fb9e5a.
Report an issue: GitHub.