{"record":{"id":"b8b6328b708acbdc","repo":"jdx/mise","slug":"history-is-disabled-history-enabled-false-b8b632","errorCode":null,"errorMessage":"history is disabled (history.enabled = false)","messagePattern":"history is disabled \\(history\\.enabled = false\\)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"src/cli/dotfiles/pull.rs","lineNumber":54,"sourceCode":"    dry_run: bool,\n\n    /// Pull without prompting\n    #[usage(long, short = 'y')]\n    yes: bool,\n\n    /// Resolve a conflict with the repository's version\n    #[usage(long, value_name = \"PATH\")]\n    take_remote: Vec<PathBuf>,\n\n    /// Resolve a conflict by keeping this machine's version (published next)\n    #[usage(long, value_name = \"PATH\")]\n    keep_local: Vec<PathBuf>,\n}\n\nimpl DotfilesPull {\n    pub(crate) async fn run(self) -> Result<()> {\n        if !crate::config::Settings::get().history.enabled {\n            bail!(\"history is disabled (history.enabled = false)\");\n        }\n        let (store, tracked, _) = super::history::open().await?;\n        if let Some(reason) = store.unavailable() {\n            bail!(\"cannot apply: {reason}\");\n        }\n        apply::apply(\n            &store,\n            &tracked,\n            &ApplyRequest {\n                paths: self.paths.clone(),\n                dry_run: self.dry_run,\n                yes: self.yes,\n                take_remote: self.take_remote.clone(),\n                keep_local: self.keep_local.clone(),\n                automatic: false,\n                plan_only: false,\n            },\n        )","sourceCodeStart":36,"sourceCodeEnd":72,"githubUrl":"https://github.com/jdx/mise/blob/afd2eddd3a50c16190efc1c7e94404b48f72af57/src/cli/dotfiles/pull.rs#L36-L72","documentation":"Thrown by `mise bootstrap dotfiles pull` (run) when the history feature is turned off via `history.enabled = false` in settings. Pulling/applying remote dotfile changes depends on the history store, so the command aborts with an explicit message naming the setting.","triggerScenarios":"Running `mise bootstrap dotfiles pull` while `Settings::get().history.enabled` is false — i.e. history.enabled was set to false in global or project settings.","commonSituations":"Users who disabled dotfile history to save disk but later try to pull; fresh installs where history is disabled by default in their config; a settings migration or manual edit of the config turning history off.","solutions":["Enable history in settings: set `history.enabled = true` (mise settings or config file)","Verify with `mise settings get history.enabled` before pulling","If you do not want history, sync dotfiles by other means (git directly) instead of dotfiles pull"],"exampleFix":"// before (config.toml)\n[history]\nenabled = false\n// after\n[history]\nenabled = true","handlingStrategy":"validation","validationCode":"[ \"$(mise settings get history.enabled)\" = \"true\" ] || { echo \"enable history first\" >&2; exit 1; }\nmise bootstrap dotfiles pull","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Check history.enabled before any dotfiles history-dependent command","Keep history.enabled = true in shared/global config for machines using dotfiles sync","Document the setting requirement in team dotfile bootstrap scripts"],"tags":["cli","dotfiles","config","feature-disabled"],"backgroundTag":"feature-not-enabled","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"}