jdx/mise · error
no task {} found Did you mean one of these? - {task_name}
Error message
no task {} found
Did you mean one of these?
- {task_name}
Did you mean the command:
mise {cmd_name} What it means
When a named task does not exist but mise found close matches among defined tasks and/or a similar mise subcommand, err_no_task builds a rich 'no task <name> found' error listing suggested task names and the possible command. It helps you correct a misspelled task name.
Source
Thrown at src/task/task_list.rs:384
let similar = similar_tasks(name, &tasks_for_error);
if !similar.is_empty() {
err_msg.push_str("\n\nDid you mean one of these?");
for task_name in similar {
err_msg.push_str(&format!("\n - {}", task_name));
}
}
if !similar_cmds.is_empty() {
err_msg.push_str("\n\nDid you mean the command:");
for cmd_name in &similar_cmds {
err_msg.push_str(&format!("\n mise {cmd_name}"));
}
}
append_available_tasks(&mut err_msg, &tasks_for_error, showing_all_tasks);
bail!(err_msg);
}
/// Prompt the user to select a task interactively
async fn prompt_for_task(config: &Arc<Config>, load_all: bool) -> Result<Task> {
let ctx = load_all.then(TaskLoadContext::all);
let tasks = config.tasks_with_context(ctx.as_ref()).await?;
ensure!(
!tasks.is_empty(),
"no tasks defined. see {url}",
url = style::eunderline("https://mise.jdx.dev/tasks/")
);
let theme = crate::ui::theme::get_theme();
let mut s = Select::new("Tasks")
.description("Select a task to run")
.filtering(true)
.filterable(true)
.theme(&theme);
for t in tasks.values().filter(|t| !t.hide) {View on GitHub (pinned to afd2eddd3a)
Solutions
- Use one of the suggested task names printed in the error (e.g. `mise run build`)
- Run `mise tasks` to list all valid task names
- Update scripts/CI that reference the old or misspelled task name
Example fix
# before mise run buidl # after mise run build
Defensive patterns
Strategy: validation
Validate before calling
mise tasks ls --json | jq -e --arg t "$TASK" 'any(.[]; .name == $t)' || echo "typo? task $TASK not found"
Prevention
- Copy exact task names from `mise tasks` output
- Update scripts when renaming tasks
- Use shell completion for task names
When it happens
Trigger: Running `mise run <typo>` where <typo> is similar to an existing task name (e.g. `mise run buidl` when `build` exists) or to a mise command; append_available_tasks adds the 'Did you mean one of these?' list.
Common situations: Typos in task names; renamed tasks in mise.toml while scripts still use old names; muscle memory from another project's task names; confusion between a mise subcommand and a project task.
Understand the failure class
Background: Record Not Found Errors: "not found", RecordNotFound, and "was not found" — what they mean and how to fix them — this error's family across 28 libraries.
Related errors
- Task not found: {}, use `mise tasks ls --all --hidden` to li
- unknown command: {} Did you mean: mise {cmd_name}
- no tasks defined in {}. Are you in a project directory?
- task not found: {}
- {plugin_name} is not a valid plugin name
AI-assisted analysis of jdx/mise@afd2eddd3a (2026-09-09).
Data as JSON: /api/errors/15ebdb972a38012b.
Report an issue: GitHub.