jdx/mise · error

history is disabled (history.enabled = false)

Error message

history is disabled (history.enabled = false)

What it means

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.

Source

Thrown at src/cli/dotfiles/pull.rs:54

    dry_run: bool,

    /// Pull without prompting
    #[usage(long, short = 'y')]
    yes: bool,

    /// Resolve a conflict with the repository's version
    #[usage(long, value_name = "PATH")]
    take_remote: Vec<PathBuf>,

    /// Resolve a conflict by keeping this machine's version (published next)
    #[usage(long, value_name = "PATH")]
    keep_local: Vec<PathBuf>,
}

impl DotfilesPull {
    pub(crate) async fn run(self) -> Result<()> {
        if !crate::config::Settings::get().history.enabled {
            bail!("history is disabled (history.enabled = false)");
        }
        let (store, tracked, _) = super::history::open().await?;
        if let Some(reason) = store.unavailable() {
            bail!("cannot apply: {reason}");
        }
        apply::apply(
            &store,
            &tracked,
            &ApplyRequest {
                paths: self.paths.clone(),
                dry_run: self.dry_run,
                yes: self.yes,
                take_remote: self.take_remote.clone(),
                keep_local: self.keep_local.clone(),
                automatic: false,
                plan_only: false,
            },
        )

View on GitHub (pinned to afd2eddd3a)

Solutions

  1. Enable history in settings: set `history.enabled = true` (mise settings or config file)
  2. Verify with `mise settings get history.enabled` before pulling
  3. If you do not want history, sync dotfiles by other means (git directly) instead of dotfiles pull

Example fix

// before (config.toml)
[history]
enabled = false
// after
[history]
enabled = true
Defensive patterns

Strategy: validation

Validate before calling

[ "$(mise settings get history.enabled)" = "true" ] || { echo "enable history first" >&2; exit 1; }
mise bootstrap dotfiles pull

Prevention

When it happens

Trigger: 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.

Common situations: 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.

Related errors


AI-assisted analysis of jdx/mise@afd2eddd3a (2026-09-09). Data as JSON: /api/errors/b8b6328b708acbdc. Report an issue: GitHub.