jdx/mise · error

history is disabled (history.enabled = false)

Error message

history is disabled (history.enabled = false)

What it means

`mise bootstrap dotfiles sync` requires the history subsystem, which is disabled when the setting `history.enabled = false`. Sync reads and writes the checkpoint store, so it refuses to run when history is turned off.

Source

Thrown at src/cli/dotfiles/sync.rs:41

    #[usage(long)]
    best_effort: bool,
}

impl DotfilesSync {
    pub(crate) async fn run(self) -> Result<()> {
        match self.sync().await {
            Ok(()) => Ok(()),
            Err(err) if self.best_effort && is_network_failure(&err) => {
                warn!("history sync: {err:#}");
                Ok(())
            }
            Err(err) => Err(err),
        }
    }

    async fn sync(&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 synchronize: {reason}");
        }
        let outcome = run::sync(&store, &tracked, &SyncRequest::new(self.fetch_only))?;
        crate::system::history::sync::origin::report(&outcome);
        Ok(())
    }
}

fn is_network_failure(error: &eyre::Report) -> bool {
    error
        .downcast_ref::<crate::system::history::sync::network::NetworkError>()
        .is_some()
}

#[cfg(test)]

View on GitHub (pinned to afd2eddd3a)

Solutions

  1. Enable history: `mise settings set history.enabled true`, then retry sync
  2. If history must stay disabled, do not use dotfiles sync (manage files manually)

Example fix

// before
# settings: history.enabled = false
mise bootstrap dotfiles sync  // fails
// after
mise settings set history.enabled true
mise bootstrap dotfiles sync
Defensive patterns

Strategy: validation

Validate before calling

[ "$(mise settings get history.enabled)" = "true" ] || mise settings set history.enabled true

Prevention

When it happens

Trigger: Running the dotfiles sync command while the mise setting `history.enabled` is false in settings (global or project settings).

Common situations: User (or a shared mise.toml) disabled history to reduce overhead, then later tries to sync dotfiles.

Related errors


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