{"record":{"id":"dffaa0bd750a6681","repo":"pbakaus/impeccable","slug":"pass-one-explicitly-e-g-providers-claude-cur","errorCode":null,"errorMessage":"Pass one explicitly, e.g. --providers=.claude,.cursor","messagePattern":"Pass one explicitly, e\\.g\\. --providers=\\.claude,\\.cursor","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"crates/skills/src/commands.rs","lineNumber":673,"sourceCode":"            }\n            Ok(())\n        })();\n        if let Some(dir) = &bundle_dir {\n            util::rm_rf(dir);\n        }\n        return match outcome {\n            Ok(()) => Err(Flow::Exit(0)),\n            Err(e) if e == EXIT_1 => Err(Flow::Exit(1)),\n            Err(e) => {\n                err(io, &format!(\"Install check failed: {e}\"));\n                Err(Flow::Exit(1))\n            }\n        };\n    }\n\n    if targets.is_empty() {\n        err(io, \"Could not determine a target harness folder.\");\n        err(io, \"Pass one explicitly, e.g. --providers=.claude,.cursor\");\n        return Err(Flow::Exit(1));\n    }\n\n    let want_hooks = install_hooks && decide_hook_install(&mut prompt, io, &hook_root, &targets, yes)?;\n\n    out(io, \"\\nDownloading impeccable skills...\");\n    let bundle_dir = match bundle::download_and_extract_bundle(&sys) {\n        Ok(d) => d,\n        Err(e) => {\n            err(io, &format!(\"Download failed: {e}\"));\n            return Err(Flow::Exit(1));\n        }\n    };\n\n    sys.migrate_unprefix_impeccable(&install_root, scope_opt);\n\n    let outcome: Result<(Vec<String>, Vec<bundle::AgentResult>, Vec<&'static str>), String> = (|| {\n        let written = bundle::copy_provider_skills(&sys, &bundle_dir, &install_root, &targets, scope_opt)?;","sourceCodeStart":655,"sourceCodeEnd":691,"githubUrl":"https://github.com/pbakaus/impeccable/blob/2bc2879276c1f321a53c4ca99d3371e411329b52/crates/skills/src/commands.rs#L655-L691","documentation":"This is the companion hint message printed alongside the 'Could not determine a target harness folder' error during install. It is emitted to stderr as the actionable guidance line when target auto-detection fails, telling the user to pass --providers explicitly.","triggerScenarios":"Always co-emitted with error 170: `install` invoked with zero detected targets, i.e. no harness folder found and no --providers flag given.","commonSituations":"Same as the missing-target scenario: fresh projects without a harness folder, running in the wrong directory, or users unaware --providers exists.","solutions":["Rerun with `--providers=.claude,.cursor` (comma-separated list of target folders).","Create or move into a directory containing a recognized harness folder before installing."],"exampleFix":"// before\nimpeccable install   # aborts: no target detected\n// after\nimpeccable install --providers=.claude","handlingStrategy":"validation","validationCode":"PROVIDERS=\"\"\n[ -d .claude ] && PROVIDERS=\".claude\"\n[ -d .cursor ] && PROVIDERS=\"$PROVIDERS,.cursor\"\n[ -n \"$PROVIDERS\" ] || PROVIDERS=\".claude\"\nimpeccable install --providers=\"$PROVIDERS\"","typeGuard":null,"tryCatchPattern":"impeccable install --providers=\"${PROVIDERS:-.claude}\" || exit 1","preventionTips":["Treat --providers as a required flag in automation.","Document the expected harness folders in your repo onboarding docs.","Avoid renaming harness directories without updating install scripts."],"tags":["cli","install","missing-flag","hint"],"backgroundTag":"missing-required-flag","analyzedSha":"2bc2879276c1f321a53c4ca99d3371e411329b52","analyzedAt":"2026-09-08T04:51:14.109Z","contentChangedAt":"2026-09-08T04:51:14.109Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}