{"record":{"id":"7678763222b79baf","repo":"windmill-labs/windmill","slug":"skipping-unrecognized-workspace-dependencies-file","errorCode":null,"errorMessage":"Skipping unrecognized workspace dependencies file: ${k}","messagePattern":"Skipping unrecognized workspace dependencies file: (.+?)","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"cli/src/commands/sync/sync.ts","lineNumber":2784,"sourceCode":"        throw error;\n      }\n    }\n  }\n\n  const codebaseChanges: Record<string, string> = {};\n\n  for (let [k, v] of Object.entries(m1)) {\n    const isScriptMetadata =\n      k.endsWith(\".script.yaml\") || k.endsWith(\".script.json\");\n    const skipMetadata = skips.skipScriptsMetadata && isScriptMetadata;\n\n    if (m2[k] === undefined) {\n      if (skipMetadata) {\n        continue;\n      }\n      if (k.startsWith(\"dependencies/\")) {\n        if (!workspaceDependenciesPathToLanguageAndFilename(k)) {\n          log.warn(`Skipping unrecognized workspace dependencies file: ${k}`);\n          continue;\n        }\n        log.info(`Adding workspace dependencies file: ${k}`);\n      }\n      changes.push({ name: \"added\", path: k, content: v });\n    } else {\n      if (m2[k] == v) {\n        continue;\n      } else if (k.endsWith(\".json\") && !isWorkspaceDependencies(k)) {\n        let parsedV, parsedM2;\n        try {\n          parsedV = JSON.parse(v);\n        } catch (error) {\n          log.error(\n            `Failed to parse new JSON content for comparison at path: ${k}`,\n          );\n          throw error;\n        }","sourceCodeStart":2766,"sourceCodeEnd":2802,"githubUrl":"https://github.com/windmill-labs/windmill/blob/e474e8803ce2ff5c2df09a58dab51d45f5c922ca/cli/src/commands/sync/sync.ts#L2766-L2802","documentation":"A warning emitted while comparing remote dependency files during sync diff. A remote path under `dependencies/` exists that the CLI cannot map to a known dependency file type/language via workspaceDependenciesPathToLanguageAndFilename, so it is skipped instead of being added as a change.","triggerScenarios":"The remote workspace contains a file under `dependencies/` whose filename/layout doesn't match any supported dependency lockfile format (e.g. a manually placed file, or a lockfile format from a newer/older Windmill version).","commonSituations":"Someone uploaded a custom file into the dependencies folder via the UI; a Windmill version mismatch where the server produces a dependency file the CLI version doesn't recognize; typo'd path placed under dependencies/.","solutions":["Upgrade the CLI (`npm i -g windmill-cli` / latest version) so it recognizes the dependency file format produced by your server version.","Move the unrecognized file out of the `dependencies/` folder if it isn't a real dependency lockfile.","Verify the path with `wmill ws file list` or the UI to confirm what the file is; delete it if stale.","If it's a legitimate supported lockfile, check its filename matches the expected convention (language + requirements/lock filename)."],"exampleFix":"// before: stray file remote dependencies/notes.txt -> skipped warning\n// after: delete it or move it out of dependencies/ via UI, or upgrade CLI to match server version","handlingStrategy":"validation","validationCode":"const KNOWN = /^(dependencies\\/)(python|nodejs|go|deno|bash|ruby|php|nu)\\//; // match supported layout\nif (k.startsWith(\"dependencies/\") && !workspaceDependenciesPathToLanguageAndFilename(k)) {\n  console.warn(`Cleaning or upgrading for: ${k}`);\n}","typeGuard":"function isRecognizedDepsPath(p: string): boolean {\n  return workspaceDependenciesPathToLanguageAndFilename(p) !== undefined;\n}","tryCatchPattern":"try {\n  await wmill.sync.pull(...);\n} catch (e) {\n  console.warn(\"Some dependency files were skipped; upgrade the CLI or move stray files out of dependencies/\", e);\n}","preventionTips":["Keep CLI and server versions in lockstep (or within supported range).","Don't hand-place files under dependencies/ via the UI.","Document the expected dependencies/ layout for the team.","Upgrade the CLI when the server adds a new dependency-file format."],"tags":["cli","dependencies","python","sync"],"backgroundTag":"unrecognized-dependencies-file","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"}