windmill-labs/windmill · info
Skipping latest-version check: ${e instanceof Error ? e.mess
Error message
Skipping latest-version check: ${e instanceof Error ? e.message : String(e)} What it means
During `wmill help` handling, main.ts calls checkVersionSafe, which fetches the latest wmill version from npmjs to warn about outdated CLIs. If that network check throws, the CLI logs this warning (including the underlying error message) and continues to show help. No functionality is lost beyond the outdated-version hint.
Source
Thrown at cli/src/main.ts:178
"Specify headers to use for all requests. e.g: \"HEADERS='h1: v1, h2: v2'\""
)
.version(VERSION)
.versionOption(false)
// Override the default help option action so that a failure to contact
// the npm registry (e.g. offline / firewalled environment) does not
// prevent help from being displayed. Cliffy's default action awaits
// `checkVersion` before `showHelp`, which aborts the whole command if
// the fetch to registry.npmjs.org fails.
.helpOption("-h, --help", "Show this help.", {
action: async function () {
const self = this as any;
const long = self
.getRawArgs()
.includes(`--${self.getHelpOption()?.name}`);
try {
await checkVersionSafe(self);
} catch (e) {
log.warn(
`Skipping latest-version check: ${
e instanceof Error ? e.message : String(e)
}`
);
}
self.showHelp({ long });
self.exit();
},
})
.command("init", init)
.command("refresh", refresh)
.command("app", app)
.command("flow", flow)
.command("script", script)
.command("workspace", workspace)
.command("resource", resource)
.command("resource-type", resourceType)
.command("user", user)View on GitHub (pinned to e474e8803c)
Solutions
- Ensure network egress to registry.npmjs.org from the machine running wmill.
- Configure HTTPS_PROXY/HTTP_PROXY so the CLI can reach npmjs through the corporate proxy.
- Disable or bypass the version check if your environment intentionally has no internet (e.g. WINDMILL_NO_VERSION_CHECK / equivalent env flag if supported).
- Ignore the warning — help still displays and the CLI is fully usable.
Example fix
// before (no egress in CI) wmill --help // Skipping latest-version check: Unable to connect // after: route through the corporate proxy export HTTPS_PROXY=http://proxy.corp.internal:3128 wmill --help
Defensive patterns
Strategy: fallback
Validate before calling
// probe npm reachability before commands whose logs must stay clean
try {
await fetch("https://registry.npmjs.org/wmill/latest", { signal: AbortSignal.timeout(3000) });
} catch {
console.log("npmjs unreachable; version check will be skipped");
} Try / catch
try {
await $`wmill --help`;
} catch (e) {
// help still prints after the warning; only surface real usage errors
if (!String(e).includes("latest-version")) throw e;
} Prevention
- Configure HTTPS_PROXY in restricted environments
- Accept the warning in air-gapped setups — help output is unaffected
- Use the CLI's no-version-check option in offline CI to silence it
- Monitor registry.npmjs.org reachability if the notice matters to you
When it happens
Trigger: Running `wmill --help` (or any help invocation) while checkVersionSafe throws — no network access, npmjs unreachable, DNS failure, proxy blocking registry.npmjs.org, or TLS issues.
Common situations: Air-gapped or firewalled corporate environments; CI runners without egress to npmjs; broken corporate TLS-intercepting proxies; DNS misconfiguration.
Related errors
- Cannot fetch latest CLI version on npmjs to check if up-to-d
- Dependency generation failed: ${queueResponse.status} ${queu
- Failed to poll dependencies job ${jobId}: ${e?.message ?? e}
- No response body for SSE stream
- Failed to poll flow dependencies job ${jobId}: ${e?.message
AI-assisted analysis of windmill-labs/windmill@e474e8803c (2026-09-03).
Data as JSON: /api/errors/d67d2bd37bbcdfa4.
Report an issue: GitHub.