jdx/mise · error
no tasks {} found
Error message
no tasks {} found What it means
After an interactive task-selection prompt (prompt_for_task) returns a chosen name, mise looks it up in the task map; if the selection is stale or unknown it throws 'no tasks <name> found'. This is a guard against the fuzzy-finder returning a name that no longer resolves to a task.
Source
Thrown at src/task/task_list.rs:415
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) {
// Truncate description to first line only, like tasks ls does
let desc = t.description.lines().next().unwrap_or_default();
s = s.option(
DemandOption::new(&t.name)
.label(&t.display_name)
.description(desc),
);
}
ctrlc::show_cursor_after_ctrl_c();
match s.run() {
Ok(name) => match tasks.get(name) {
Some(task) => Ok(task.clone()),
None => bail!("no tasks {} found", style::ered(name)),
},
Err(err) => {
Term::stderr().show_cursor()?;
Err(eyre!(err))
}
}
}
/// Get a list of tasks to run from command-line arguments
/// Handles task patterns, monorepo paths, and interactive selection
pub(crate) async fn get_task_lists(
config: &Arc<Config>,
args: &[String],
prompt: bool,
only: bool,
prompt_all: bool,
) -> Result<Vec<Task>> {
if prompt_all {View on GitHub (pinned to afd2eddd3a)
Solutions
- Rerun the command so the task list is refreshed, then select again
- Verify the task still exists with `mise tasks`
- If tasks were edited concurrently, retry after the edits are saved
Defensive patterns
Strategy: fallback
Validate before calling
mise tasks ls --json | jq -e --arg t "$TASK" 'any(.[]; .name == $t)'
Try / catch
task=$(mise run 2>&1) || mise run "$TASK" # retry to refresh a stale picker list
Prevention
- Avoid editing task files while the interactive picker is open
- Rerun the picker after task changes
- Verify the selected task exists with `mise tasks`
When it happens
Trigger: Selecting an entry in the interactive `mise run` task picker whose name is no longer in the loaded task map — e.g. task files changed while the picker was open, or the picker returned an unnormalized name.
Common situations: Editing/renaming task files in another terminal while the picker was open; picker fed names from a broader (load_all) listing than the final task map; race between listing and selection.
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: {task_spec}, use `mise tasks ls --all --hidd
- Task not found: {}, use `mise tasks ls --all --hidden` to li
- no tasks defined in {}. Are you in a project directory?
- no task {} found Did you mean one of these? - {task_name}
- task not found: {}
AI-assisted analysis of jdx/mise@afd2eddd3a (2026-09-09).
Data as JSON: /api/errors/6604e2681fc8a303.
Report an issue: GitHub.