{"record":{"id":"c2d250da5a470661","repo":"refinedev/refine","slug":"timed-out-while-checking-for-updates","errorCode":null,"errorMessage":"Timed out while checking for updates.","messagePattern":"Timed out while checking for updates\\.","errorType":"exception","errorClass":"Error","httpStatus":null,"severity":"warning","filePath":"packages/cli/src/commands/check-updates/utils.ts","lineNumber":17,"sourceCode":"import type { NpmOutdatedResponse } from \"@definitions/package\";\nimport { pmCommands } from \"@utils/package\";\nimport execa from \"execa\";\n\n/**\n * @returns `npm outdated` command response\n */\nexport const getOutdatedPackageList = async () => {\n  const pm = \"npm\";\n\n  const { stdout, timedOut } = await execa(pm, pmCommands[pm].outdatedJson, {\n    reject: false,\n    timeout: 25 * 1000,\n  });\n\n  if (timedOut) {\n    throw new Error(\"Timed out while checking for updates.\");\n  }\n\n  if (!stdout) return null;\n\n  return JSON.parse(stdout) as NpmOutdatedResponse | null;\n};\n","sourceCodeStart":1,"sourceCodeEnd":24,"githubUrl":"https://github.com/refinedev/refine/blob/779d52a20e29b0307ac0df04d135beba434370dc/packages/cli/src/commands/check-updates/utils.ts#L1-L24","documentation":"refine CLI's update checker runs the package manager's 'outdated --json' command with a 25 second timeout; if the registry lookup doesn't finish in time it aborts and reports this error instead of stale results.","triggerScenarios":"Slow network, offline/proxied environment, or an unresponsive npm/yarn/pnpm registry causing `npm outdated --json` to exceed 25s while running `refine check-updates` (or a command that triggers the update check).","commonSituations":"Corporate proxies, CI runners with restricted egress, registry mirrors being slow, or VPN conditions; large monorepos where outdated takes long.","solutions":["Retry when the network/proxy is responsive","Configure the correct registry/proxy for your package manager (npm config set registry / HTTPS_PROXY)","If it blocks work, skip or disable the update check and run `npm outdated` manually"],"exampleFix":"// before (slow registry)\nnpm config set registry https://registry.example.internal\nrefine check-updates\n// after\nnpm config set registry https://registry.npmjs.org\nrefine check-updates","handlingStrategy":"retry","validationCode":"npm ping # verify registry reachability before running refine check-updates","typeGuard":null,"tryCatchPattern":"try { await runCheckUpdates(); } catch (e) { if (e.message.includes('Timed out')) { /* proceed without update check */ } }","preventionTips":["Configure proxy/registry settings for your environment","Treat the update check as optional; don't gate builds on it"],"tags":["cli","network","timeout","package-manager"],"backgroundTag":"command-timeout","analyzedSha":"779d52a20e29b0307ac0df04d135beba434370dc","analyzedAt":"2026-08-27T11:15:25.854Z","schemaVersion":2},"datasetVersion":"2026-08-27T13:17:12.746Z"}