Skip to content

Error codes

Every bento failure emits a structured envelope (registered at bento schema error):

{
"kind": "scaffold_unsupported_language",
"message": "language 'rust2' is not supported by any built-in adapter or installed plugin",
"hint": "supported: go, cargo, python, python-uv, ruby, php, maven, gradle, node-npm, node-pnpm, node-yarn, bun, deno",
"next_steps": [
"pass --lang with one of the supported values: go, cargo, python, python-uv, ..."
]
}

The kind field is a stable string — the agent can switch on it. Common kinds include:

  • config_missing, config_invalid, config_circular_dep
  • dish_not_found, bento_not_found, task_not_found
  • scaffold_missing_language, scaffold_unsupported_language, scaffold_invalid_path
  • cache_unauthorized, cache_unreachable
  • deploy_unauthorized, deploy_target_unconfigured, deploy_missing_env_var
  • toolchain_pin_missing, toolchain_install_failed

For tool-level diagnostics (cargo / golangci-lint / eslint / ruff), each failed task in an ExecutionReport carries a parsed diagnostics array — {file, line, severity, message, rule} records, ready to feed back to a fix-up loop. Schema: bento schema diagnostics.