{"record":{"id":"58a6dd27ce887cef","repo":"nikivdev/code","slug":"local-keychain-backed-envs-require-macos","errorCode":null,"errorMessage":"local keychain-backed envs require macOS","messagePattern":"local keychain-backed envs require macOS","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/env.rs","lineNumber":375,"sourceCode":"        return Ok(Some(token));\n    }\n\n    let stderr = String::from_utf8_lossy(&output.stderr);\n    if stderr.contains(\"could not be found\") || stderr.contains(\"SecKeychainSearchCopyNext\") {\n        return Ok(None);\n    }\n\n    bail!(\"failed to read AI token from Keychain: {}\", stderr.trim());\n}\n\nfn set_local_keychain_env_var(\n    target: &EnvTarget,\n    environment: &str,\n    key: &str,\n    value: &str,\n) -> Result<()> {\n    if !cfg!(target_os = \"macos\") {\n        bail!(\"local keychain-backed envs require macOS\");\n    }\n\n    let service = local_env_keychain_service(target, environment);\n    let status = Command::new(\"security\")\n        .args([\n            \"add-generic-password\",\n            \"-a\",\n            key,\n            \"-s\",\n            &service,\n            \"-w\",\n            value,\n            \"-U\",\n        ])\n        .status()\n        .context(\"failed to store local env var in Keychain\")?;\n    if !status.success() {\n        bail!(\"failed to store local env var in Keychain\");","sourceCodeStart":357,"sourceCodeEnd":393,"githubUrl":"https://github.com/nikivdev/code/blob/a747e741ae92c09071d0ae946ab48488adcff1ce/src/env.rs#L357-L393","documentation":"Error \"local keychain-backed envs require macOS\" thrown in nikivdev/code.","triggerScenarios":"Thrown at src/env.rs:375 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":"a747e741ae92c09071d0ae946ab48488adcff1ce","analyzedAt":"2026-09-01T22:43:55.719Z","contentChangedAt":null,"schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}