Which fallback harnesses are valid

A task names the harness it prefers and the fallback harnesses it switches to when that one runs out of quota. A fallback harness counts only when it can load every agent and every skill the task cites. This page says what HarmFlow checks, what the task editor's warning says, and what a run does when a fallback is not valid.

What HarmFlow checks

When you save a task, HarmFlow checks that every agent and every skill the task cites can be found for each of its fallback harnesses, as it does for the harness it prefers. The check covers both:

So a task that cites a skill only Claude Code has, with Codex as its fallback, has no valid fallback until Codex has that skill too. The fallback harnesses are fallback.candidates in the task file's harness section.

The task editor's warning

The task editor lists a fallback that is not valid under Warnings, beside the form. The warning names the harness, says whether what it lacks is an agent or a skill, and names that agent or skill. For a task whose Codex fallback cannot find the skill review-notes, it reads:

Invalid fallback: Codex is not a valid fallback: skill "review-notes" cannot be found for it (the Codex configuration)

The words in parentheses say where HarmFlow looked for the item, and the warning ends with the place of the fallback in the task file. For a missing agent, the warning says agent where this one says skill. When a fallback lacks both an agent and a skill, the editor lists a warning for each, so both are named.

The task still saves

The warning does not stop you from saving the task: the task saves, and the warning stays on it. It goes away once the agent or skill is installed for that harness, or once you remove that harness from the task's fallbacks.

What a run does

An execution of the task carries the same warning: it is under Warnings in the Results tab of the execution's detail. It names the first agent or skill the fallback lacks.

When the harness the task prefers runs out of quota, the execution does not switch to a fallback that lacks one of the task's agents or skills. With no valid fallback left, the execution fails, and its result says that no alternative is available, as in:

Claude Code cannot continue (quota exhausted) and no alternative AI tool is available

How a task fails over, in the reference, tells when a switch happens and how many switches an execution may make.