windmill-labs/windmill · warning
Could not auto-fill missing lockfile entries: ${e instanceof
Error message
Could not auto-fill missing lockfile entries: ${e instanceof Error ? e.message : e} What it means
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.
Source
Thrown at cli/src/commands/sync/sync.ts:4198
if (total > 0) {
log.info(
colors.gray(
`Auto-filled ${total} missing lockfile entr${total === 1 ? "y" : "ies"} ` +
`(${filled.scripts} script, ${filled.flows} flow, ${filled.apps} app) from disk.`,
),
);
}
} catch (e) {
// Re-throw fail-fast lockfile errors (unknown version, malformed yaml)
// so the user sees them; only swallow soft failures from the auto-fill
// walk itself.
if (
e instanceof UnknownLockVersionError ||
e instanceof MalformedLockfileError
) {
throw e;
}
log.warn(
colors.yellow(
`Could not auto-fill missing lockfile entries: ${e instanceof Error ? e.message : e}`,
),
);
}
}
// Skipped under --dry-run since pullSharedUi writes to the local ui/ folder.
// An empty changeset falls through the return above and reaches here.
if (!opts.dryRun) {
try {
await pullSharedUi(workspace.workspaceId, opts.keepDeleted);
} catch (e) {
log.warn(`Failed to pull shared UI folder: ${e}`);
}
}
// Datatable migrations are part of the workspace export now, so they flowView on GitHub (pinned to e474e8803c)
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.
Example fix
// before: unreachable registry in CI Could not auto-fill missing lockfile entries: request to https://pypi.org failed // after: set proxy for the run export HTTPS_PROXY=http://proxy.internal:3128 wmill sync push
Defensive patterns
Strategy: try-catch
Validate before calling
// check registry reachability and lockfile presence before syncing
const res = await fetch("https://pypi.org/simple/", { method: "HEAD" }).catch(() => null);
if (!res?.ok) throw new Error("PyPI unreachable; fix network/proxy before sync"); Try / catch
try {
await wmill.sync.push(...);
} catch (e) {
if (String(e).includes("Could not auto-fill missing lockfile entries")) {
console.error("Generate locks manually (wmill dep lock / re-save script) or fix registry access:", e);
} else throw e;
} Prevention
- 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.
When it happens
Trigger: 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.
Common situations: 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.
Related errors
- Dependency generation failed: ${queueResponse.status} ${queu
- Failed to poll dependencies job ${jobId}: ${e?.message ?? e}
- Failed to poll flow dependencies job ${jobId}: ${e?.message
- Unknown workspace dependencies file format: ${change.path}
- Failed to generate lockfile: ${message}
AI-assisted analysis of windmill-labs/windmill@e474e8803c (2026-09-03).
Data as JSON: /api/errors/e3610c1ecc393b2c.
Report an issue: GitHub.