jdx/mise · error
self_update.repository must be in owner/repository format, g
Error message
self_update.repository must be in owner/repository format, got {:?} What it means
Settings validation in SelfUpdate repository_parts(): the configured self_update.repository string has no '/' separator, so it is not in owner/repository form and a GitHub API URL cannot be constructed. Fires when the repository setting was set to a bare name or URL.
Source
Thrown at src/cli/version.rs:73
}
fn cache_path(&self) -> std::path::PathBuf {
if self.is_default() {
dirs::CACHE.join("latest-version")
} else {
dirs::CACHE.join(format!("latest-version-{}", crate::hash::hash_to_str(self)))
}
}
#[cfg(feature = "self_update")]
pub(crate) fn repository_parts(&self) -> Result<(&str, &str)> {
let (owner, repo) = self.repository.split_once('/').ok_or_else(|| {
eyre::eyre!(
"self_update.repository must be in owner/repository format, got {:?}",
self.repository
)
})?;
eyre::ensure!(
!owner.is_empty() && !repo.is_empty() && !repo.contains('/'),
"self_update.repository must be in owner/repository format, got {:?}",
self.repository
);
Ok((owner, repo))
}
pub(crate) fn validate(&self) -> Result<()> {
let api_url = url::Url::parse(&self.api_url)?;
eyre::ensure!(
api_url.scheme() == "https",
"self_update.api_url must use HTTPS, got {:?}",
self.api_url
);
Ok(())
}
}
View on GitHub (pinned to afd2eddd3a)
Solutions
- Set self_update.repository to 'owner/repo' form in settings
- Remove a full URL if one was pasted in; use only owner/repository
- Retry `mise self-update` after correcting the setting
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at src/cli/version.rs:73 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of jdx/mise@afd2eddd3a (2026-09-09).
Data as JSON: /api/errors/9852d89abac2dda0.
Report an issue: GitHub.