jdx/mise · error
mise outdated --monorepo is not implemented yet
Error message
mise outdated --monorepo is not implemented yet
What it means
mise reserves a `--monorepo` flag on `mise outdated` (declared in src/cli/outdated.rs:55-57 as a clap placeholder documented as 'Placeholder for future monorepo outdated checks') but the implementation does not exist yet. When the flag is passed, `Outdated::run` immediately calls `unimplemented!()` (src/cli/outdated.rs:76), a Rust panic that aborts the command before any config or toolset is loaded. The flag exists only so the CLI grammar is stable for scripts written against the future feature.
Source
Thrown at src/cli/outdated.rs:76
/// Don't show table header
#[clap(long)]
pub no_header: bool,
}
impl Outdated {
pub async fn run(mut self) -> Result<()> {
if self.legacy_bump {
deprecated_at!(
"2026.8.5",
"2027.8.5",
"cli.outdated.bump-l",
"`mise outdated -l` is deprecated. Use `mise outdated -b` or `mise outdated --bump` instead. After removal, `-l` will become shorthand for `--local`."
);
self.bump = true;
}
if self.monorepo {
unimplemented!("mise outdated --monorepo is not implemented yet");
}
let config = Config::get().await?;
let scope = if self.local {
ConfigScope::LocalOnly
} else {
ConfigScope::All
};
let mut ts = ToolsetBuilder::new()
.with_args(&self.tool)
.with_scope(scope)
.build(&config)
.await?;
let tool_set = self
.tool
.iter()
.map(|t| t.ba.clone())
.collect::<HashSet<_>>();
ts.versionsView on GitHub (pinned to 6bd4a54fad)
Solutions
- Remove `--monorepo` from the command: run `mise outdated` per repository, or scope it with `--local` (only project-local mise.toml tools) or `--inactive` (include installed-but-inactive tools)
- If you need per-project checks across a monorepo, loop over subprojects: `for d in */; do (cd "$d" && mise outdated); done`
- Track mise releases (mise --version, github.com/jdx/mise releases) and re-enable the flag only in a version where monorepo support ships
- If the flag came from a shared script, gate it: only pass it when `mise outdated --help 2>&1 | grep -q monorepo.*implemented` no longer matches 'not implemented'
Example fix
# before mise outdated --monorepo # after for d in services/*/; do (cd "$d" && mise outdated); done
Defensive patterns
Strategy: validation
Validate before calling
# before invoking mise in a script, confirm the flag is actually implemented if mise outdated --help 2>/dev/null | grep -q -- '--monorepo.*not implemented'; then echo "--monorepo is a placeholder here; falling back to per-project outdated" >&2 for d in services/*/; do (cd "$d" && mise outdated); done else mise outdated --monorepo fi
Try / catch
# shell: capture the panic and retry without the flag out=$(mise outdated --monorepo 2>&1) if [ $? -ne 0 ] && printf '%s' "$out" | grep -q 'not implemented yet'; then mise outdated # retry without the unsupported flag else printf '%s\n' "$out" fi
Prevention
- Never script against placeholder flags: check `mise <cmd> --help` text for 'not implemented yet' before adopting a new flag
- Pin the mise version in CI and read that version's release notes before adding flags to shared scripts
- Keep monorepo workflows as explicit per-project loops until mise ships monorepo support and announces it
When it happens
Trigger: Running `mise outdated --monorepo` from the command line or a script. The panic fires unconditionally and first thing in `run()` (after only the legacy `-l` deprecation check), so any invocation carrying the flag terminates with a panic message instead of a usage error.
Common situations: Scripts written against mise docs/issues that discuss upcoming monorepo support; shell tab-completion offering the flag because clap exposes it; copying a command from a teammate's dotfiles running a newer/older mise; CI pinning a mise version where the flag parses but is not implemented.
Related errors
- mise prune --monorepo is not implemented yet
- mise upgrade --monorepo is not implemented yet
- erlang does not yet support refs
- cask uses `#{feature}`, which mise's cask shim does not supp
- formula uses `#{feature}`, which mise's source-build shim do
AI-assisted analysis of jdx/mise@6bd4a54fad (2026-08-16).
Data as JSON: /api/errors/ac46907f4f429997.
Report an issue: GitHub.