0.78.0

vanna-ai/vanna0.78.0Aug 19, 2026by takahirom

AI Summary

Adds Anthropic Claude as a supported AI provider and introduces validation for scenario dependencies to prevent cyclic or dangling references. Also allows `imageAssertions` to be defined on reusable call sites.

Key Highlights

  • Anthropic Claude is now a first-class AI provider.
  • Dependencies are now validated at project load time for safety.
  • Image assertions can now be defined on reusable call sites.

New Features

  • Anthropic provider integration.
  • Dependency validation at load time.
  • Image assertions on reusable calls.

Full Release Notes

## Anthropic as a First-Class AI Provider

Arbigent can now use **Anthropic's Claude models directly** alongside OpenAI, Gemini, and Azure OpenAI — via Anthropic's own Messages API, with image assertions and scenario generation implemented natively. Also available in the desktop UI's provider dialog, and `--anthropic-endpoint` supports Anthropic-compatible gateways.

```bash
arbigent run --ai-type=anthropic --anthropic-api-key=<KEY>
```

Huge thanks to @Alex-Vaiman for contributing this end to end — module, CLI/UI wiring, and thorough tests. 🎉

## Verify at the Call Site: `imageAssertions` on Reusable Calls

A scenario that delegates its *how* to a reusable call can now keep its own *what*:

```yaml
scenarios:
- id: open-search
  dependency: launch
  uses: open-screen        # shared navigation, defined once
  with: { screen: "Search" }
  imageAssertions:         # verification specific to this call site
  - assertionPrompt: "The search input field is shown"
```

The assertions run after the whole call finishes. Assertion prompts now also get the same `{{inputs.*}}` resolution and validation as goals.

## Safer Dependencies

Broken `dependency` references (dangling, cyclic, duplicate ids) are now rejected at load time, with every violation listed at once and the file path in the message. In the desktop UI, the dependency dropdown no longer offers choices that would create a cycle, and a project with a cycle can no longer be saved with scenarios silently missing. Under the hood, the four separate implementations of scenario resolution were unified into one resolver.

## What's Changed
* Unify scenario dependency and reusable resolution in one resolver by @takahirom in https://github.com/takahirom/arbigent/pull/405
* Validate scenario dependencies at project load time by @takahirom in https://github.com/takahirom/arbigent/pull/406
* Keep scenarios in a dependency cycle in the ordered list by @takahirom in https://github.com/takahirom/arbigent/pull/407
* Leave dependents out of the dependency menu so cycles cannot be made by @takahirom in https://github.com/takahirom/arbigent/pull/408
* Add Anthropic as a first-class AI provider by @Alex-Vaiman in https://github.com/takahirom/arbigent/pull/411
* Run CI for Anthropic provider PR (mirror of #411) by @takahirom in https://github.com/takahirom/arbigent/pull/412
* Allow imageAssertions on call-form scenarios as call-site verification by @takahirom in https://github.com/takahirom/arbigent/pull/413

## New Contributors
* @Alex-Vaiman made their first contribution in https://github.com/takahirom/arbigent/pull/411

**Full Changelog**: https://github.com/takahirom/arbigent/compare/0.77.0...0.78.0