{"record":{"id":"af990c7e969e9101","repo":"sharkdp/fd","slug":"fd-list-details-is-not-supported-on-this-platf","errorCode":null,"errorMessage":"'fd --list-details' is not supported on this platform.","messagePattern":"'fd --list-details' is not supported on this platform\\.","errorType":"console","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"src/main.rs","lineNumber":489,"sourceCode":"        use std::process::{Command, Stdio};\n\n        // Use GNU ls, if available\n        let gnu_ls_exists = Command::new(\"ls\")\n            .arg(\"--version\")\n            .stdout(Stdio::null())\n            .stderr(Stdio::null())\n            .status()\n            .is_ok();\n\n        if gnu_ls_exists {\n            gnu_ls(\"ls\")\n        } else {\n            return Err(anyhow!(\n                \"'fd --list-details' is not supported on Windows unless GNU 'ls' is installed.\"\n            ));\n        }\n    } else {\n        return Err(anyhow!(\n            \"'fd --list-details' is not supported on this platform.\"\n        ));\n    };\n    Ok(cmd)\n}\n\nfn extract_time_constraints(opts: &Opts) -> Result<Vec<TimeFilter>> {\n    let mut time_constraints: Vec<TimeFilter> = Vec::new();\n    if let Some(ref t) = opts.changed_within {\n        if let Some(f) = TimeFilter::after(t) {\n            time_constraints.push(f);\n        } else {\n            return Err(anyhow!(\n                \"'{}' is not a valid date or duration. See 'fd --help'.\",\n                t\n            ));\n        }\n    }","sourceCodeStart":471,"sourceCodeEnd":507,"githubUrl":"https://github.com/sharkdp/fd/blob/ee20f426ddf338ac7ead5c5f00ea49258005caaf/src/main.rs#L471-L507","documentation":"The else branch at main.rs:489 is reached when --list-details is used on a platform that is neither Unix nor Windows (e.g., wasm, redox, or another Tier-3 target). fd has no ls backend for such platforms and refuses rather than emit garbage. It is effectively a 'not implemented for this target' guard.","triggerScenarios":"Compiling and running fd with --list-details on a non-Unix, non-Windows target (cfg!(unix) false and cfg!(windows) false).","commonSituations":"Cross-compiling fd to an unsupported target; running under a Tier-3 OS; experimental/wasm builds.","solutions":["Run fd on a supported platform (Unix or Windows with GNU ls) when you need --list-details.","Drop --list-details and post-process results yourself with the platform's native tooling.","If porting fd, implement a platform-specific ls command builder for your target."],"exampleFix":"# before (unsupported platform)\nfd --list-details\n\n# after (no long listing)\nfd <pattern> | xargs -I{} ls -l {}","handlingStrategy":"validation","validationCode":"case \"$(uname -s)\" in\n  Linux|Darwin|*BSD) fd --list-details ;;\n  MINGW*|MSYS*|CYGWIN*) fd --list-details ;;\n  *) echo \"--list-details unsupported on this platform\" >&2; exit 1 ;;\nesac","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Gate --list-details behind a platform check in portable scripts.","Do not enable --list-details in builds targeting non-Unix/non-Windows.","Fall back to running an external lister manually on unsupported platforms."],"tags":["list-details","platform","unsupported","cli"],"backgroundTag":null,"analyzedSha":"ee20f426ddf338ac7ead5c5f00ea49258005caaf","analyzedAt":"2026-08-09T08:21:40.573Z","contentChangedAt":"2026-08-09T08:21:40.573Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}