{"record":{"id":"a33e45c057b72f8e","repo":"xai-org/grok-build","slug":"npm-view-returned-unexpected-json","errorCode":null,"errorMessage":"npm view @{} returned unexpected JSON","messagePattern":"npm view @(.+?) returned unexpected JSON","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/codegen/xai-grok-update/src/version.rs","lineNumber":204,"sourceCode":"    xai_grok_tools::util::detach_command(&mut cmd);\n    cmd.envs(xai_grok_tools::util::pager_env());\n    let output = cmd.output().await?;\n\n    if !output.status.success() {\n        let stderr = String::from_utf8_lossy(&output.stderr);\n        anyhow::bail!(\"npm view @{} failed: {}\", tag, stderr.trim());\n    }\n\n    let stdout = String::from_utf8(output.stdout)?;\n    let value: Value = serde_json::from_str(stdout.trim())?;\n    match value {\n        Value::String(version) => Ok(version),\n        Value::Array(values) => values\n            .iter()\n            .rev()\n            .find_map(|entry| entry.as_str().map(|item| item.to_string()))\n            .ok_or_else(|| anyhow::anyhow!(\"npm view @{} returned empty version list\", tag)),\n        _ => anyhow::bail!(\"npm view @{} returned unexpected JSON\", tag),\n    }\n}\n\n/// Fetch the latest version from GitHub Releases using `gh release list`.\n/// For alpha channel, fetches both pre-release and stable-only, returns the\n/// semver-greater — `gh release list --limit 1` orders by publication date,\n/// not semver, so we need both to guarantee correctness.\n#[doc(hidden)]\npub async fn fetch_gh_release_version(channel: &str) -> Result<String> {\n    if channel == \"alpha\" {\n        let (with_pre, stable_only) = tokio::try_join!(\n            fetch_gh_release_latest(false),\n            fetch_gh_release_latest(true),\n        )?;\n        return semver_max(&with_pre, &stable_only);\n    }\n    fetch_gh_release_latest(true).await\n}","sourceCodeStart":186,"sourceCodeEnd":222,"githubUrl":"https://github.com/xai-org/grok-build/blob/bc7f02eddd3d84085849dc19ed216f11c23b0571/crates/codegen/xai-grok-update/src/version.rs#L186-L222","documentation":"Error \"npm view @{} returned unexpected JSON\" thrown in xai-org/grok-build.","triggerScenarios":"Thrown at crates/codegen/xai-grok-update/src/version.rs:204 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"bc7f02eddd3d84085849dc19ed216f11c23b0571","analyzedAt":"2026-08-31T04:59:42.031Z","schemaVersion":2},"datasetVersion":"2026-08-31T09:17:48.483Z"}