{"record":{"id":"41ae3ae3c72d1df6","repo":"openai/codex","slug":"ditto-copy-failed-with-status","errorCode":null,"errorMessage":"ditto copy failed with {status}","messagePattern":"ditto copy failed with (.+?)","errorType":"exception","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"codex-rs/cli/src/desktop_app/mac.rs","lineNumber":330,"sourceCode":"\n    anyhow::bail!(\n        \"no .app bundle found at {mount_point}\",\n        mount_point = mount_point.display()\n    );\n}\n\nasync fn copy_app_bundle(src_app: &Path, dest_app: &Path) -> anyhow::Result<()> {\n    let status = Command::new(\"ditto\")\n        .arg(src_app)\n        .arg(dest_app)\n        .status()\n        .await\n        .context(\"failed to invoke `ditto`\")?;\n\n    if status.success() {\n        return Ok(());\n    }\n    anyhow::bail!(\"ditto copy failed with {status}\");\n}\n\nfn user_applications_dir() -> anyhow::Result<PathBuf> {\n    let home = std::env::var_os(\"HOME\").context(\"HOME is not set\")?;\n    Ok(PathBuf::from(home).join(\"Applications\"))\n}\n\nfn parse_hdiutil_attach_mount_point(output: &str) -> Option<String> {\n    output.lines().find_map(|line| {\n        if !line.contains(\"/Volumes/\") {\n            return None;\n        }\n        if let Some((_, mount)) = line.rsplit_once('\\t') {\n            return Some(mount.trim().to_string());\n        }\n        line.split_whitespace()\n            .find(|field| field.starts_with(\"/Volumes/\"))\n            .map(str::to_string)","sourceCodeStart":312,"sourceCodeEnd":348,"githubUrl":"https://github.com/openai/codex/blob/339751715c64496cb86246bfb3935f40e309dd3d/codex-rs/cli/src/desktop_app/mac.rs#L312-L348","documentation":"Error \"ditto copy failed with {status}\" thrown in openai/codex.","triggerScenarios":"Thrown at codex-rs/cli/src/desktop_app/mac.rs:330 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":"339751715c64496cb86246bfb3935f40e309dd3d","analyzedAt":"2026-08-25T05:35:09.876Z","schemaVersion":2},"datasetVersion":"2026-08-25T06:17:31.827Z"}