jdx/mise · error

no setup repository is connected; `mise bootstrap dotfiles o

Error message

no setup repository is connected; `mise bootstrap dotfiles origin set <url>` connects one

What it means

Thrown by the origin-resolution step (`origin`) of the dotfiles sync run. The persisted sync status has no origin URL (or the connection is explicitly marked disconnected), so no setup repository can be fetched from or pushed to. mise requires a connected origin before any sync can run.

Source

Thrown at src/system/history/sync/run.rs:224

            dry_run: false,
        }
    }
}

/// The connected origin, or why there is none.
pub(crate) fn origin() -> Result<OriginTomlConfig> {
    if let Some((_, origin)) = crate::system::history::config::origin()? {
        return Ok(origin);
    }
    // recorded when it was connected: a fresh machine's declaration may
    // still be on its way in the configuration being pulled
    let status = read_status(&crate::dirs::STATE)?;
    if let (Some(url), Some(branch), false) =
        (status.origin_url, status.origin_branch, status.disconnected)
    {
        return Ok(OriginTomlConfig::plain(url, branch));
    }
    bail!(
        "no setup repository is connected; `mise bootstrap dotfiles origin set <url>` connects one"
    )
}

/// Runs one synchronization.
pub(crate) fn sync(
    store: &Store,
    tracked: &TrackedSet,
    request: &SyncRequest,
) -> Result<SyncOutcome> {
    let _sync_lock = lock(store)?;
    let origin = match &request.origin {
        Some(origin) => origin.clone(),
        None => origin()?,
    };
    let repo = store
        .repo()
        .ok_or_else(|| eyre::eyre!("synchronizing requires git"))?;

View on GitHub (pinned to afd2eddd3a)

Solutions

  1. Connect a repository: `mise bootstrap dotfiles origin set <url>`
  2. If it was intentionally disconnected, reconnect with `mise bootstrap dotfiles origin set <url> --branch <branch>`
  3. Verify the saved status with `mise bootstrap dotfiles status`

Example fix

// before
$ mise bootstrap dotfiles sync
error: no setup repository is connected

// after
$ mise bootstrap dotfiles origin set git@github.com:me/dotfiles.git
$ mise bootstrap dotfiles sync
Defensive patterns

Strategy: validation

Validate before calling

mise bootstrap dotfiles status || mise bootstrap dotfiles origin set git@github.com:me/dotfiles.git

Prevention

When it happens

Trigger: Running `mise bootstrap dotfiles sync`/`pull`/`publish` when `read_status(STATE)` yields no `origin_url`, no `origin_branch`, or `disconnected == true`, and no origin was supplied on the command line.

Common situations: Fresh machine where the dotfiles repository was never connected; user previously ran `mise bootstrap dotfiles origin disconnect` and forgot to reconnect; state directory wiped (reinstall, new HOME) losing the saved origin.

Understand the failure class

Background: "X is required", "must be set", "cannot be empty": the missing-required-config error family, from Vertex AI project/location to WeChat keys — this error's family across 18 libraries.

Related errors


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