Troubleshooting

The errors you're most likely to meet, what they mean, and the fastest way out of each.

A red banner says the file can’t be parsed

The YAML has a syntax or schema error — the banner carries the parser’s message. Fix it in the Code tab; Run and Heal… stay disabled until the file parses, and the graph won’t render a guess. Common causes: inconsistent indentation, a routing field pointing at a node id that doesn’t exist, a missing type or config.

A node has a ⚠ badge / Run says “Run anyway”

The node references a variable with no value — Bandura caught it before the run instead of letting a request go out with undefined in the URL. Click the node, open its Variables tab, and either fill the source (.env, environment, flow variable) or type a local override. Details: Variables & environments.

A request node fails and I don’t know why

Click the red node → Result tab. The Request sub-tab shows exactly what was sent (every variable resolved); the Result sub-tab shows what came back. Between the two, the cause is usually visible in seconds — wrong host, missing header, unexpected status. The full debugging walk-through: Run a flow & debug failures.

Tests that passed for months suddenly fail

If the API changed underneath the flow — a renamed path, a changed method, a newly required parameter — click Heal… and compare against your OpenAPI spec. It lists the drift and fixes it per finding: Self-healing.

AI features say a key is missing

Generation, chat, and ai-action nodes need your Anthropic API key: Settings (⌘,) → Anthropic API key → paste and Save key. The key lives in your OS keychain, not in any file. Note self-healing is not an AI feature — it works offline with no key.

A banner says the file changed on disk

Another program (or a git pull) modified a file you have unsaved edits in. Bandura never merges silently: Reload takes the disk version and discards your edits; Keep my edits keeps yours (saving will overwrite the disk version). With no unsaved edits, files refresh automatically.

Ctrl+C doesn’t work in the terminal

The built-in terminal is a lightweight command runner without a PTY — there’s no interrupt signal, and interactive programs like vim won’t behave. Interrupting restarts the session in the same directory. Anything interactive belongs in your regular terminal: The built-in terminal.

Where is my data, exactly?

  • Flows and specs — in your workspace folder, and nowhere else.
  • Secrets — your .env (git-ignored) and, for the AI key, the OS keychain.
  • Run history and local overrides — a local profile on your machine, outside the workspace, never committed.
  • Nothing syncs to a cloud, and no account exists to sync it to.

Still stuck?

Email hello@bandura.dev with what you tried and, if you can, the flow’s YAML — it’s plain text, which makes helping fast.