Error Handling
Ignoring Task Errors
If you wish to continue task execution even if an error is encountered, use the flag --ignore-errors or specify it in the task spec. This controls whether the remaining commands in a multi-command task run after one of them fails on a given project.
Assuming task-1 exits non-zero (e.g. false) and task-2 prints bar:
-
ignore-errorsset to false (default) — task-2 is skipped after task-1 fails$ mani run task-1 task-2 --all --ignore-errors=falseProject | Task-1 | Task-2------------+--------+--------project-0 | |------------+--------+--------project-1 | |------------+--------+--------project-2 | | -
ignore-errorsset to true — task-2 still runs$ mani run task-1 task-2 --all --ignore-errorsProject | Task-1 | Task-2------------+--------+--------project-0 | | bar------------+--------+--------project-1 | | bar------------+--------+--------project-2 | | bar
mani does not annotate cells with the OS exit code (
exit status N). The command's own stderr is captured into the cell, so real errors from tools likegit,npm, etc. still surface — only the synthetic exit‑code line is suppressed. Combineignore_errorswith--omit-empty-rowsto hide rows for commands that intentionally exit non‑zero with no output (e.g.grep -vwith no matches).
Ignoring Non Existing Project
-
--ignore-non-existingset to false$ mani run task-1 --allerror: path `/home/test/project-1` does not exist -
ignore-unreachableset to true$ mani run task-1 --all --ignore-non-existingProject | Task-1------------+--------project-0 | hello------------+--------project-1 |------------+--------project-2 | hello