{"record":{"id":"e3610c1ecc393b2c","repo":"windmill-labs/windmill","slug":"could-not-auto-fill-missing-lockfile-entries-e","errorCode":null,"errorMessage":"Could not auto-fill missing lockfile entries: ${e instanceof Error ? e.message : e}","messagePattern":"Could not auto-fill missing lockfile entries: (.+?)","errorType":"console","errorClass":null,"httpStatus":null,"severity":"warning","filePath":"cli/src/commands/sync/sync.ts","lineNumber":4198,"sourceCode":"      if (total > 0) {\n        log.info(\n          colors.gray(\n            `Auto-filled ${total} missing lockfile entr${total === 1 ? \"y\" : \"ies\"} ` +\n              `(${filled.scripts} script, ${filled.flows} flow, ${filled.apps} app) from disk.`,\n          ),\n        );\n      }\n    } catch (e) {\n      // Re-throw fail-fast lockfile errors (unknown version, malformed yaml)\n      // so the user sees them; only swallow soft failures from the auto-fill\n      // walk itself.\n      if (\n        e instanceof UnknownLockVersionError ||\n        e instanceof MalformedLockfileError\n      ) {\n        throw e;\n      }\n      log.warn(\n        colors.yellow(\n          `Could not auto-fill missing lockfile entries: ${e instanceof Error ? e.message : e}`,\n        ),\n      );\n    }\n  }\n\n  // Skipped under --dry-run since pullSharedUi writes to the local ui/ folder.\n  // An empty changeset falls through the return above and reaches here.\n  if (!opts.dryRun) {\n    try {\n      await pullSharedUi(workspace.workspaceId, opts.keepDeleted);\n    } catch (e) {\n      log.warn(`Failed to pull shared UI folder: ${e}`);\n    }\n  }\n\n  // Datatable migrations are part of the workspace export now, so they flow","sourceCodeStart":4180,"sourceCodeEnd":4216,"githubUrl":"https://github.com/windmill-labs/windmill/blob/e474e8803ce2ff5c2df09a58dab51d45f5c922ca/cli/src/commands/sync/sync.ts#L4180-L4216","documentation":"A warning from the lockfile auto-fill step of sync. When the CLI tries to auto-generate missing dependency lockfile entries (e.g. python/pip lock resolution), an unexpected error occurred; lockfiles already recognized as Unknown/Malformed are rethrown, but any other failure is downgraded to this warning and the sync continues without the auto-filled entries.","triggerScenarios":"During `wmill sync pull/push`, a script/flow has dependencies but its lockfile lacks entries; the auto-fill resolver throws something other than UnknownLockVersionError/MalformedLockfileError — e.g. network failure reaching PyPI, unresolvable dependency version, or an internal resolver crash.","commonSituations":"Offline or proxied CI environment blocking pypi.org; a dependency pin with no compatible resolution; corrupted requirements.txt that isn't classified as malformed; transient registry outage.","solutions":["Regenerate the lockfile explicitly for the affected script (e.g. `wmill dep lock` / re-save the script with dependencies so locks are computed).","Check network access to the package registry (PyPI) from the machine running the CLI; configure proxy settings if needed.","Fix the dependency spec in the script/flow (conflicting or nonexistent version pins).","Upgrade the CLI in case the resolver bug is fixed in a newer version; the warning message includes the underlying error text to guide diagnosis."],"exampleFix":"// before: unreachable registry in CI\nCould not auto-fill missing lockfile entries: request to https://pypi.org failed\n// after: set proxy for the run\nexport HTTPS_PROXY=http://proxy.internal:3128\nwmill sync push","handlingStrategy":"try-catch","validationCode":"// check registry reachability and lockfile presence before syncing\nconst res = await fetch(\"https://pypi.org/simple/\", { method: \"HEAD\" }).catch(() => null);\nif (!res?.ok) throw new Error(\"PyPI unreachable; fix network/proxy before sync\");","typeGuard":null,"tryCatchPattern":"try {\n  await wmill.sync.push(...);\n} catch (e) {\n  if (String(e).includes(\"Could not auto-fill missing lockfile entries\")) {\n    console.error(\"Generate locks manually (wmill dep lock / re-save script) or fix registry access:\", e);\n  } else throw e;\n}","preventionTips":["Ensure package registries (PyPI etc.) are reachable from CI; configure proxies.","Pre-generate lockfiles for scripts with dependencies instead of relying on auto-fill.","Keep dependency pins resolvable (no conflicting versions).","Match CLI version with server version to avoid resolver gaps."],"tags":["cli","lockfile","dependencies","network","sync"],"backgroundTag":"lockfile-autofill-failed","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"}