{"record":{"id":"9e31abe4067b1dc7","repo":"windmill-labs/windmill","slug":"unknown-workspace-dependencies-file-format-chan","errorCode":null,"errorMessage":"Unknown workspace dependencies file format: ${change.path}","messagePattern":"Unknown workspace dependencies file format: (.+?)","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"error","filePath":"cli/src/commands/sync/sync.ts","lineNumber":6463,"sourceCode":"                  await wmill.deleteGroup({\n                    workspace: workspaceId,\n                    name: removeSuffix(\n                      removePathPrefix(change.path, \"groups\"),\n                      \".group.json\",\n                    ),\n                  });\n                  break;\n                case \"workspace_dependencies\":\n                  const relativePath = removePathPrefix(\n                    change.path,\n                    \"dependencies\",\n                  );\n\n                  const res = workspaceDependenciesPathToLanguageAndFilename(\n                    change.path,\n                  );\n                  if (!res) {\n                    throw new Error(\n                      `Unknown workspace dependencies file format: ${change.path}`,\n                    );\n                  }\n                  const { name, language } = res;\n\n                  await wmill.deleteWorkspaceDependencies({\n                    workspace: workspaceId,\n                    language,\n                    name,\n                  });\n\n                  break;\n                default:\n                  break;\n              }\n              if (stateTarget) {\n                try {\n                  await rm(stateTarget);","sourceCodeStart":6445,"sourceCodeEnd":6481,"githubUrl":"https://github.com/windmill-labs/windmill/blob/e474e8803ce2ff5c2df09a58dab51d45f5c922ca/cli/src/commands/sync/sync.ts#L6445-L6481","documentation":"`wmill sync delete` handles workspace dependency files (e.g. Python requirements or other dependency manifests) by parsing the filename with `workspaceDependenciesPathToLanguageAndFilename` to learn the dependency name and language for the delete API. When the filename doesn't correspond to any known format, this error is thrown. It prevents issuing a malformed dependency-delete call.","triggerScenarios":"`wmill sync delete` processes a file under the workspace dependencies directory whose name does not match the expected `{language}_{name}....` patterns (e.g. an unknown extension, extra segments, or a file placed there by hand).","commonSituations":"Manually dropping notes/backup files (deps.txt, requirements.txt.bak) into the dependencies sync folder; a windmill version change that altered the expected filename layout; renamed files losing the language prefix.","solutions":["Rename the file to the expected dependency filename format for its language (matching what `wmill sync pull` produced)","Remove non-dependency files from the dependencies folder","Re-run `wmill sync pull` to see the canonical filenames your CLI version expects","Check CLI/workspace version compatibility if the format recently changed"],"exampleFix":"// before\nworkspace_dependencies/requirements.txt.bak\n// after: rename to canonical form or delete the stray file\nrm workspace_dependencies/requirements.txt.bak","handlingStrategy":"validation","validationCode":"const DEP_RE = /^(python|bash|nodejs|deno|go|php|nu|ruby|csharp|r)_/i; // prefix check\nexport function looksLikeDepFile(p: string): boolean {\n  const base = p.split(\"/\").pop() ?? \"\";\n  return DEP_RE.test(base) && /\\.(txt|json|yaml)$/.test(base);\n}","typeGuard":null,"tryCatchPattern":"try {\n  await wmill.sync.delete(opts);\n} catch (e) {\n  if (String(e.message).startsWith(\"Unknown workspace dependencies file format\")) {\n    console.warn(\"skipping non-dependency file\");\n  }\n}","preventionTips":["Keep only files produced by sync pull in the dependencies folder","Add .gitignore rules for editor backup files (*~, *.bak)","Re-pull to learn canonical filenames after CLI upgrades"],"tags":["cli","sync","dependencies","path-format"],"backgroundTag":"unknown-dependency-file-format","analyzedSha":"e474e8803ce2ff5c2df09a58dab51d45f5c922ca","analyzedAt":"2026-09-03T12:38:19.024Z","contentChangedAt":"2026-09-03T12:38:19.024Z","schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}