{"record":{"id":"4410c87f0f89dcd7","repo":"jdx/mise","slug":"no-dotfiles-matched-target-filter-4410c8","errorCode":null,"errorMessage":"no dotfiles matched target filter: {}","messagePattern":"no dotfiles matched target filter: (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/cli/dotfiles/mod.rs","lineNumber":75,"sourceCode":"    let all_files = crate::system::files::files_from_config(config)?;\n    crate::system::files::validate_composed_file_footprints(&all_files)?;\n    let files = all_files\n        .iter()\n        .filter(|req| crate::system::files::matches_target(&req.target, &req.target_raw, targets))\n        .cloned()\n        .collect::<Vec<_>>();\n    let all_edits = crate::system::edits::edits_from_config(config)?;\n    let edits = all_edits\n        .iter()\n        .filter(|req| crate::system::edits::matches_target(req, targets))\n        .cloned()\n        .collect::<Vec<_>>();\n    if files.is_empty()\n        && edits.is_empty()\n        && !targets.is_empty()\n        && (!all_files.is_empty() || !all_edits.is_empty())\n    {\n        eyre::bail!(\"no dotfiles matched target filter: {}\", targets.join(\", \"));\n    }\n    Ok((files, edits))\n}\n\n/// Manage dotfiles from `[dotfiles]` (deprecated)\n///\n/// Use `mise bootstrap dotfiles` instead.\n#[derive(Debug, usage_rs::Args)]\n#[usage(verbatim_doc_comment, hide = true)]\npub(crate) struct Dotfiles {\n    #[usage(subcommand)]\n    command: Commands,\n}\n\n#[derive(Debug, usage_rs::Subcommands)]\nenum Commands {\n    #[usage(hide = true)]\n    Add(add::DotfilesAdd),","sourceCodeStart":57,"sourceCodeEnd":93,"githubUrl":"https://github.com/jdx/mise/blob/afd2eddd3a50c16190efc1c7e94404b48f72af57/src/cli/dotfiles/mod.rs#L57-L93","documentation":"`select_requests` filters all configured dotfiles (whole-file entries and edit entries) by the target arguments given on the command line. If the user supplied target filters that match nothing while the config does contain other dotfiles, mise throws \"no dotfiles matched target filter: <targets>\" rather than silently doing nothing.","triggerScenarios":"Running a dotfiles command (apply/save/status/rollback/etc.) with one or more TARGET arguments that match no file or edit entry in the current [dotfiles]/[system] config, while other dotfiles exist in the config.","commonSituations":"Typos in the target path; the dotfile was untracked/removed from the config; using a relative path where the config records an absolute or `~/` path; running in a project whose config has no such entry.","solutions":["Run `mise bootstrap dotfiles paths` (or `status`) to list managed targets and copy the exact string.","Fix typos or use the same path form as the config (absolute or `~/`-prefixed).","Add the dotfile to the config first (via `dotfiles add`) if it is not managed yet."],"exampleFix":"// before\nmise bootstrap dotfiles apply zshrc\n// after\nmise bootstrap dotfiles apply ~/.zshrc","handlingStrategy":"validation","validationCode":"# verify every requested target is managed before invoking the command\nfor t in \"$@\"; do\n  mise bootstrap dotfiles paths | grep -qx \"$t\" || { echo \"not managed: $t\"; exit 1; }\ndone","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Copy target strings from `dotfiles paths` output rather than typing them.","Check the dotfile is still tracked after config cleanups."],"tags":["dotfiles","cli","filter"],"backgroundTag":"resource-not-found","analyzedSha":"afd2eddd3a50c16190efc1c7e94404b48f72af57","analyzedAt":"2026-09-09T01:38:25.179Z","contentChangedAt":"2026-09-09T01:38:25.179Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}