{"record":{"id":"b322a5a37f5f8151","repo":"Hmbown/CodeWhale","slug":"gh-pr-view-returned-non-json-output-e","errorCode":null,"errorMessage":"gh pr view returned non-JSON output: {e}","messagePattern":"gh pr view returned non-JSON output: (.+?)","errorType":"exception","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"crates/tui/src/lib.rs","lineNumber":8150,"sourceCode":"fn run_gh_pr_view(number: u32, repo: Option<&str>) -> Result<GhPullRequest> {\n    let mut cmd = crate::dependencies::Gh::command()\n        .ok_or_else(|| anyhow::anyhow!(\"gh not found on PATH\"))?;\n    cmd.arg(\"pr\").arg(\"view\").arg(number.to_string());\n    if let Some(r) = repo {\n        cmd.arg(\"--repo\").arg(r);\n    }\n    cmd.arg(\"--json\")\n        .arg(\"title,body,baseRefName,headRefName,url\");\n    let output = cmd\n        .output()\n        .map_err(|e| anyhow::anyhow!(\"Failed to run `gh pr view`: {e}\"))?;\n    if !output.status.success() {\n        let stderr = String::from_utf8_lossy(&output.stderr).trim().to_string();\n        bail!(\"gh pr view #{number} failed: {stderr}\");\n    }\n    let raw = String::from_utf8_lossy(&output.stdout).to_string();\n    let value: serde_json::Value = serde_json::from_str(&raw)\n        .map_err(|e| anyhow::anyhow!(\"gh pr view returned non-JSON output: {e}\"))?;\n    let pick = |key: &str| {\n        value\n            .get(key)\n            .and_then(serde_json::Value::as_str)\n            .unwrap_or_default()\n            .to_string()\n    };\n    Ok(GhPullRequest {\n        title: pick(\"title\"),\n        body: pick(\"body\"),\n        base: pick(\"baseRefName\"),\n        head: pick(\"headRefName\"),\n        url: pick(\"url\"),\n    })\n}\n\nfn run_gh_pr_diff(number: u32, repo: Option<&str>) -> Result<String> {\n    let mut cmd = crate::dependencies::Gh::command()","sourceCodeStart":8132,"sourceCodeEnd":8168,"githubUrl":"https://github.com/Hmbown/CodeWhale/blob/8880682c63083a91624de936797efa3ce9e498fd/crates/tui/src/lib.rs#L8132-L8168","documentation":"Error \"gh pr view returned non-JSON output: {e}\" thrown in Hmbown/CodeWhale.","triggerScenarios":"Thrown at crates/tui/src/lib.rs:8150 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":"8880682c63083a91624de936797efa3ce9e498fd","analyzedAt":"2026-08-16T11:31:27.956Z","schemaVersion":2},"datasetVersion":"2026-08-16T13:17:31.715Z"}