jdx/mise · error
sync paused: resolve all
Error message
sync paused: resolve all {count} conflict(s) before sharing resumes; a blanket choice cannot decide them all: {held}. Fix each of those paths, then pull again What it means
When a blanket conflict choice is made, it promises to decide every conflict. If some paths were held — typically because their live side is unusable or their local baseline is missing/stale — the non-interactive, non-dry-run pull fails, listing exactly which paths remain undecided. The decisions that did succeed are still recorded; only the pass aborts.
Solutions
- Read the listed held paths from the message and fix each (e.g. `mise dot save <path>` for unsaved or missing baselines, or make the live side a regular file/symlink).
- Re-run `mise dot pull` after fixing.
- Alternatively resolve the problem paths individually with `--take-remote <path>` instead of a blanket flag.
Example fix
before: mise dot pull --keep-local-all (held: ~/.vimrc has unsaved changes) | after: mise dot save ~/.vimrc && mise dot pull --keep-local-all
Defensive patterns
Strategy: try-catch
Validate before calling
mise dot status # confirm every conflict is resolvable (regular file/symlink, saved baseline) before a blanket flag
Try / catch
mise dot pull --take-remote-all || mise dot status # on failure, read the held paths from the error and fix each
Prevention
- Replace irregular files (directories/fifos) at conflicted paths before blanket pulls.
- Keep saved baselines current with `mise dot save`.
- Prefer per-path resolutions when you know a blanket choice cannot cover everything.
When it happens
Trigger: `mise dot pull` (without --dry-run, not in automatic/background mode) with a blanket resolution flag where `blanket_held` is non-empty: held paths include files whose live side could not be read (UnusableLive), or keep-local paths with no saved baseline or unsaved changes.
Common situations: A file was replaced by a directory or fifo so the blanket choice cannot read it; keep-local blanket on a machine that never saved some files; a headless run where neither dry-run nor automatic suppression applies.
Understand the failure class
Background: Conflicting config options: "cannot be used together" — configuration validation errors across open-source libraries — this error's family across 162 libraries.
Related errors
- run `mise dot save ` first: --keep-local publishes this…
- save before choosing --keep-local
- sync paused: resolve all
- sync paused: resolve all
- cannot synchronize
AI-assisted analysis of jdx/mise@533346cc37 (2026-09-17).
Data as JSON: /api/errors/f920cb9839904d88.
Report an issue: GitHub.
Appendix: source
Thrown at src/system/history/sync/apply.rs:339
}
}
for pending in &status.pending_applications {
if let Some(path) = roots.locate(&pending.branch_path).path() {
table.add_row(vec![
display_path(path),
"held: sharing paused for the entire setup".to_string(),
pending.branch_path.clone(),
]);
}
}
table.print()?;
}
// A blanket choice promises to decide every conflict, so it has not
// succeeded while one is still held -- whatever it decided alongside.
// Those decisions are recorded above; naming the rest is what is left.
if !blanket_held.is_empty() {
if !req.dry_run && !req.automatic {
bail!(
"sync paused: resolve all {count} conflict(s) before sharing resumes; a blanket choice cannot decide them all: {held}. Fix each of those paths, then pull again",
count = status.conflicts.len(),
held = blanket_held.join("; "),
);
}
// A preview and a background pass both carry on, so this is the
// only chance either gets to say why a path went undecided.
warn!(
"a blanket choice cannot decide {held}",
held = blanket_held.join("; "),
);
}
if take_remote.is_empty() && keep_local.is_empty() && !req.dry_run && !req.automatic {
bail!(
"sync paused: resolve all {} conflict(s) before sharing resumes; `mise dot pull --take-remote-all` chooses the repository's version for every conflict at once, and `mise dot status` says whether any path still needs a different fix",
status.conflicts.len()
);
}View on GitHub (pinned to 533346cc37)