{"record":{"id":"8f5b5982e450b7d2","repo":"jdx/mise","slug":"history-is-disabled-history-enabled-false","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/origin.rs","lineNumber":83,"sourceCode":"                            origin.branch,\n                            crate::file::display_path(&path),\n                            SyncMode::current()?.as_str()\n                        );\n                    }\n                    None => miseprintln!(\n                        \"no setup repository is connected; `mise bootstrap dotfiles origin set <url>` connects one\"\n                    ),\n                }\n                Ok(())\n            }\n        }\n    }\n}\n\nimpl DotfilesOriginSet {\n    async fn run(self) -> Result<()> {\n        if !crate::config::Settings::get().history.enabled {\n            bail!(\"history is disabled (history.enabled = false)\");\n        }\n        let mode = match self.sync.as_deref() {\n            Some(mode) => SyncMode::parse(mode)?,\n            None if self.yes || crate::config::Settings::get().yes => SyncMode::current()?,\n            None => match crate::ui::prompt::confirm_with_default(\n                \"Automatically publish saved edits AND apply incoming changes to live files? Choose no for manual sharing; local autosave continues in either mode.\",\n                false,\n            )? {\n                crate::ui::prompt::Confirmation::Yes => SyncMode::Sync,\n                crate::ui::prompt::Confirmation::No => SyncMode::Manual,\n                crate::ui::prompt::Confirmation::Unavailable => {\n                    bail!(\n                        \"not connected: choose --sync manual, --sync sync, or --sync fetch-only to connect without a mode prompt\"\n                    );\n                }\n            },\n        };\n        let (store, tracked, _) = super::history::open().await?;","sourceCodeStart":65,"sourceCodeEnd":101,"githubUrl":"https://github.com/jdx/mise/blob/afd2eddd3a50c16190efc1c7e94404b48f72af57/src/cli/dotfiles/origin.rs#L65-L101","documentation":"`mise bootstrap dotfiles origin set` configures how dotfiles history/edits sync with a remote origin. This feature depends on the checkpoint history subsystem, which can be turned off via the `history.enabled` setting. If history is disabled, mise throws \"history is disabled (history.enabled = false)\" because origin sync cannot function without it.","triggerScenarios":"Running `mise bootstrap dotfiles origin set ...` (DotfilesOriginSet::run) while `Settings::get().history.enabled` is false in the user's settings.","commonSituations":"Users who disabled dotfiles history for privacy/disk reasons and later try to configure origin sync; settings inherited from a managed/default settings.toml that turns history off.","solutions":["Enable history in settings: `mise settings set history.enabled true` (or set it in settings.toml), then retry.","If history must stay disabled, use alternative sharing (manually copy the dotfile source files) instead of origin sync.","Check current value with `mise settings get history.enabled` to confirm the cause."],"exampleFix":"// before (settings.toml)\n[history]\nenabled = false\n// after\n[history]\nenabled = true","handlingStrategy":"validation","validationCode":"[ \"$(mise settings get history.enabled)\" = \"true\" ] || { echo \"enable history first: mise settings set history.enabled true\"; exit 1; }","typeGuard":null,"tryCatchPattern":null,"preventionTips":["Keep history.enabled = true if you plan to use dotfiles origin sync.","Check related settings before scripting dotfiles origin commands."],"tags":["dotfiles","config","history","settings"],"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"}