{"record":{"id":"4f89510d368db3e7","repo":"openai/codex","slug":"at-least-one-search-directory-is-required","errorCode":null,"errorMessage":"at least one search directory is required","messagePattern":"at least one search directory is required","errorType":"validation","errorClass":"anyhow::Error","httpStatus":null,"severity":"error","filePath":"codex-rs/file-search/src/lib.rs","lineNumber":179,"sourceCode":"    }\n}\n\npub fn create_session(\n    search_directories: Vec<PathBuf>,\n    options: FileSearchOptions,\n    reporter: Arc<dyn SessionReporter>,\n    cancel_flag: Option<Arc<AtomicBool>>,\n) -> anyhow::Result<FileSearchSession> {\n    let FileSearchOptions {\n        limit,\n        exclude,\n        threads,\n        compute_indices,\n        respect_gitignore,\n    } = options;\n\n    let Some(primary_search_directory) = search_directories.first() else {\n        anyhow::bail!(\"at least one search directory is required\");\n    };\n    let override_matcher = build_override_matcher(primary_search_directory, &exclude)?;\n    let (work_tx, work_rx) = unbounded();\n\n    let notify_tx = work_tx.clone();\n    let notify = Arc::new(move || {\n        let _ = notify_tx.send(WorkSignal::NucleoNotify);\n    });\n    let nucleo = Nucleo::new(\n        Config::DEFAULT.match_paths(),\n        notify,\n        Some(threads.get()),\n        1,\n    );\n    let injector = nucleo.injector();\n\n    let cancelled = cancel_flag.unwrap_or_else(|| Arc::new(AtomicBool::new(false)));\n","sourceCodeStart":161,"sourceCodeEnd":197,"githubUrl":"https://github.com/openai/codex/blob/339751715c64496cb86246bfb3935f40e309dd3d/codex-rs/file-search/src/lib.rs#L161-L197","documentation":"Error \"at least one search directory is required\" thrown in openai/codex.","triggerScenarios":"Thrown at codex-rs/file-search/src/lib.rs:179 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"}