The default laravel-ai driver runs ordinary Laravel AI agents inside your own workers:

$session = Clutch::agent(ResearchAgent::class)->driver('laravel-ai')->create();

Drivers put different runtimes behind one set of session, run, event, approval, checkpoint, and artifact contracts.

// A future coding-agent driver.
$session = Clutch::runtime('codex')
    ->for($user)
    ->workspace($repository)
    ->sandbox('e2b')
    ->create();

Every driver declares what it can do, and the harness checks before it acts. Asking for something a driver does not support fails with CapabilityUnsupported before any work begins, so a safety or durability feature never quietly degrades into something weaker.

Writing a driver? There is a shared contract suite you can point at it:

use Clutch\Laravel\Testing\DriverContractTests;

it('passes the harness driver contract', function () {
    $result = DriverContractTests::for(new MyDriver)->run();

    expect($result['passed'])->toContain('round-trips a checkpoint');
});

Capabilities you do not declare are skipped rather than failed, so a deliberately limited driver still passes. What it cannot do is claim a capability it lacks.


Back to top

A community package, not affiliated with or endorsed by Laravel. Released under the MIT licence.

This site uses Just the Docs, a documentation theme for Jekyll.