Skip to content

Validation and error codes

All 57 codes the factory API and the workflow validator return, with the message each one carries.

Checked against vdb-site@79e5037

Codes the API returns in issues[].code when it refuses a request, and the codes a workflow gets when it is validated for publish or a dry run. The message is the one the console shows; {node} is replaced with the step’s name.

Code Message Explained in
action_conflict In {node}, the event already names the action “ Triggers and webhook conditions
adapter_unavailable In {node}, that model is not one this workflow can use. Choose clef-flash, clef, jev, tev1, pix-fast or a model from your vault. Decision node
already_decided Human approval
approver_missing Name who can approve in {node}. Add a team, a member, a role or the repository admins. Human node
autonomy_above_max autonomy is above autonomy.max ( Autonomy levels
bad_request
bad_state Runs and steps
budget_exceeds_parent The run budget is larger than the month budget. Lower the run budget or raise the month budget. Budgets
conclusion_unsupported_event In {node}, the conclusion condition only applies to check runs, check suites, workflow runs and deployment statuses. Remove it or choose one of those events. Triggers and webhook conditions
crew_not_found Choose the crew or agent that {node} hands the work to. Crew node
custom_required security.scanners custom needs security.scanners.custom Trust and SLSA
cycle %s is connected to itself. Remove that connection. Graph limits
duplicate_edge %s is connected to %s twice for the same outcome. Remove one of the connections. Graph limits
duplicate_id {node} has the id “ Graph limits
environment_unsupported_event In {node}, the environment condition only applies to deployment statuses. Remove it or choose the deployment status event. Triggers and webhook conditions
firewall_condition_unsupported_source In {node}, %s only applies to the %s source. Remove it or change the source. Source events and firewall triggers
forbidden
fork_pr_needs_human In {node}, the trigger takes pull requests from forks, and a crew could start without a person approving first. Add an approval step before the crew, or set where the change comes from to the same repository only. Human node
github_calls_exceed_run_cap The steps can make %d GitHub calls in one run, more than the cap of %d. Lower the call limit of a step or raise the cap. Graph limits
github_rate_limited GitHub quota and the data plane
grant_missing
invalid unknown route
invalid_base In {node}, the base branch must be default, pr_head or the name of a branch. Output node
invalid_enum In {node}, the choice for %s is not accepted. Choose one of: %s. Graph limits
invalid_glob In {node}, %s has a blank entry. Fill it in or remove it. Triggers and webhook conditions
invalid_id The id of {node} cannot be used. An id is 1 to 40 letters, digits, dashes or underscores. Graph limits
invalid_loop Only a gate or a decision can send work back to a crew. The connection from %s to %s is not one of those, so it cannot be a loop. Graph limits
invalid_outcome “ Decision node
invalid_repo In {node}, the repository for review tickets must be owner/name. Graph limits
invalid_type In {node}, %s must be a list of patterns. Graph limits
new_to_package_only In {node}, “new to the repository” applies to packages only. Set it to the organisation or remove it. Scan node
no_trigger Add a trigger. A workflow needs something to start it. Graph limits
not_found the trigger’s node is no longer in the workflow
out_of_range In {node}, %s must be %s from %g to %g (0 keeps the agent’s own). Graph limits
package_type_unsupported_event In {node}, the package type condition only applies to published packages. Remove it or choose the registry package event. Triggers and webhook conditions
paths_need_push In {node}, changed paths can only be checked on a push, because GitHub sends the file list with pushes only. Use the push event or remove the path condition. Triggers and webhook conditions
permission_missing github.check_runs needs the App permission checks: write on every managed installation
provider_not_allowed
required In {node}, choose a value for %s. Graph limits
review_state_unsupported_event In {node}, the review state condition only applies to pull request reviews. Remove it or choose the pull request review event. Triggers and webhook conditions
revision_conflict The settings document
runs_on_invalid In {node}, where the step runs is not set up correctly. Choose Any host, Pix Sandbox, Self-hosted, a host or a host label. Crew node
scope_unmanaged_repo Graph limits
severity_unsupported_event In {node}, the severity condition only applies to Dependabot and code scanning alerts. Remove it or choose one of those events. Triggers and webhook conditions
slug_taken
threshold_adapter_missing In {node}, say which model the minimum confidence was set for. Confidence from one model is not comparable with another. Decision node
threshold_required changing systemone.model needs systemone.min_confidence in the same request Decision node
too_long The title of {node} is too long. Use at most 200 characters. Graph limits
too_many In {node}, %s has too many entries. Use at most %d. Graph limits
too_many_edges A workflow holds at most %d connections between steps. Remove some connections or split the work into two workflows. Graph limits
too_many_nodes A workflow holds at most %d steps. Remove some steps or split the work into two workflows. Graph limits
tz_invalid In {node}, that is not a timezone name. Use a name such as UTC or Australia/Melbourne. Schedules
unknown_condition In {node}, “%s” is not a setting of %s. Use only: %s. Triggers and webhook conditions
unknown_node A connection starts at a step that is not in the workflow (“%s”). Remove the connection. Graph limits
version_conflict The settings document
workflows_published persistence.postgres can be off only while no workflow is published The settings document
write_failed could not update the Factory budget
esc
↑ ↓ move↵ openSearches in your browser. A key like autonomy.max or a code like threshold_required jumps straight to it.