{"record":{"id":"a89b90f4a2592a49","repo":"jdx/mise","slug":"is-not-managed-by-dotfiles","errorCode":null,"errorMessage":"{} is not managed by [dotfiles]","messagePattern":"(.+?) is not managed by \\[dotfiles\\]","errorType":"console","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/cli/dotfiles/edit.rs","lineNumber":80,"sourceCode":"        }\n\n        if let Some(path) = source_for_target(&config, &target, &self.target)? {\n            open_or_create(&path)?;\n            crate::cli::editor::open_in_editor(&path)?;\n            if self.apply {\n                apply_target(&self.target, self.prompt_secrets).await?;\n            }\n            return Ok(());\n        }\n\n        if !self.yes && console::user_attended_stderr() {\n            let ok = prompt::confirm(format!(\"dotfiles: add {}?\", self.target))?.is_yes();\n            if !ok {\n                info!(\"dotfiles: skipped\");\n                return Ok(());\n            }\n        } else if !self.yes {\n            bail!(\"{} is not managed by [dotfiles]\", self.target);\n        }\n\n        DotfilesAdd {\n            targets: vec![self.target.clone()],\n            changed: false,\n            mode: self.mode.clone(),\n            source: self.source.clone(),\n            global: true,\n            local: false,\n            path: None,\n            dry_run: false,\n            no_apply: true,\n            force: false,\n            yes: true,\n            prompt_secrets: self.prompt_secrets,\n        }\n        .run()\n        .await?;","sourceCodeStart":62,"sourceCodeEnd":98,"githubUrl":"https://github.com/jdx/mise/blob/533346cc374382b41ec5ff70536252b2e96e725c/src/cli/dotfiles/edit.rs#L62-L98","documentation":"`mise dotfiles edit <target>` only edits targets that map to a [dotfiles] configuration entry. When the target resolves to no managed entry and the user has not opted into interactive add (`--yes` used without a match, or non-interactive context), run_inner bails telling the user the target is not managed.","triggerScenarios":"Running `mise dotfiles edit --yes /path/to/file` (or any non-prompted invocation) where source_for_target / the managed-entry lookup finds no [dotfiles] entry matching the given absolute or ~/ path.","commonSituations":"Typo in the path; file exists but was never added to [dotfiles]; using a relative path or an alias that does not match a configured entry; running with --yes expecting auto-add but the tool refuses to auto-add unmanaged targets in that mode.","solutions":["Add the file to [dotfiles] in mise.toml first (`mise dotfiles add <path>`)","Run `mise dotfiles edit <target>` without --yes so the interactive 'add it?' prompt can offer to manage it","Verify the exact absolute or ~/ path matches an existing [dotfiles] entry via `mise dotfiles ls`"],"exampleFix":"// before\nmise dotfiles edit --yes ~/.zshrc   // not managed -> bail\n// after\nmise dotfiles add ~/.zshrc\nmise dotfiles edit ~/.zshrc","handlingStrategy":"validation","validationCode":"mise dotfiles ls | grep -F \"$target\" || echo 'not managed; run mise dotfiles add'","typeGuard":null,"tryCatchPattern":"match Err(msg) if msg.contains(\"is not managed by [dotfiles]\") => run `mise dotfiles add <target>` then retry edit","preventionTips":["Always `mise dotfiles add` before editing","Use absolute or ~/ paths matching configured entries","Avoid --yes for targets you have not vetted against the config"],"tags":["dotfiles","cli","config"],"backgroundTag":"resource-not-found","analyzedSha":"533346cc374382b41ec5ff70536252b2e96e725c","analyzedAt":"2026-09-17T13:35:38.149Z","contentChangedAt":"2026-09-17T13:35:38.149Z","schemaVersion":2},"datasetVersion":"2026-09-23T08:17:48.524Z"}