langgenius/dify · error · Error

Failed to download skill file: ${response.status}

Error message

Failed to download skill file: ${response.status}

What it means

Error "Failed to download skill file: ${response.status}" thrown in langgenius/dify.

Source

Thrown at web/features/agent-v2/agent-detail/configure/components/orchestrate/skills/use-skill-detail.ts:35

const skillFileContentQueryKey = (url?: string) => ['agent-v2', 'skill-file-content', url] as const

const resolveSkillFileContentUrl = (url: string) => {
  const consoleApiUrl = new URL(API_PREFIX, globalThis.location.origin)
  const consoleApiBaseUrl = consoleApiUrl.href.endsWith('/')
    ? consoleApiUrl
    : new URL(`${consoleApiUrl.href}/`)

  return new URL(url, consoleApiBaseUrl).toString()
}

const fetchSkillFileContent = async (url: string) => {
  const response = await globalThis.fetch(resolveSkillFileContentUrl(url), {
    credentials: 'include',
    headers: {
      [CSRF_HEADER_NAME]: Cookies.get(CSRF_COOKIE_NAME()) || '',
    },
  })
  if (!response.ok) throw new Error(`Failed to download skill file: ${response.status}`)

  return response.blob()
}

const getSkillFileContentQueryOptions = (url: string) =>
  queryOptions({
    queryKey: skillFileContentQueryKey(url),
    queryFn: () => fetchSkillFileContent(url),
    staleTime: Infinity,
  })

const isSkillFolder = (file: AgentConfigSkillFileResponse) => file.type === 'directory'

const toSkillFileNode = (item: AgentConfigSkillFileResponse): AgentFileNode => {
  const fileName = item.name || item.path.split('/').pop() || item.path

  return {
    id: item.path,

View on GitHub (pinned to ef8544b173)

When it happens

Trigger: Thrown at web/features/agent-v2/agent-detail/configure/components/orchestrate/skills/use-skill-detail.ts:35 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of langgenius/dify@ef8544b173 (2026-08-12). Data as JSON: /api/errors/92d0c8d9fe890a12. Report an issue: GitHub.