Laravel AI SDK v0.10: What's New
Laravel AI SDK v0.10 was released in August 2026, with several features announced at Laracon US 2026 in Boston. This article walks through the first of four new features covered in the full tutorial: filesystem tools for AI agents combined with human tool approval.
Feature 1: Filesystem Tools + Human Tool Approval
The SDK now ships with built-in file storage tools and a human tool approval mechanism. Together, they let an AI agent read, write, copy, and delete files on a Laravel filesystem disk — while requiring a human to confirm any destructive or mutating action before it executes.
Isolated Workspace Disks
Each workspace gets its own isolated Storage disk so the agent cannot escape its sandbox:
public function disk(): FilesystemAdapter
{
File::ensureDirectoryExists($this->rootPath());
return Storage::build([
'driver' => 'local',
'root' => $this->rootPath(),
'throw' => true,
]);
}
Giving the Agent Its Tools
FileStorage::readOnly($disk) provides safe listing and reading tools. Custom tools for writing, copying, and deleting are merged in separately:
public function tools(): iterable
{
$disk = $this->workspace->disk();
return FileStorage::readOnly($disk)->merge([
new WorkspaceWriteFile($disk),
new WorkspaceCopyFile($disk),
new WorkspaceDeleteFile($disk),
]);
}
Requiring Approval Before Mutations
Each mutable tool implements Approvable and uses the InteractsWithApprovals trait. The needsApproval() method returns an Approval::required() message shown to the user in the chat UI:
protected function needsApproval(Request $request): Approval
{
$path = (string) $request->string('path');
return Approval::required(
$this->fileExists($this->disk(), $path)
? "This overwrites the existing file [{$path}]."
: "This creates the new file [{$path}]."
);
}
The delete tool uses the same pattern with a clear warning that the action cannot be undone.
Handling Approvals in a Livewire Component
The chat is a Livewire component. When the agent hits an approvable tool, it pauses and surfaces pendingApprovals on the response. The user can approve, reject, or edit the arguments before the action runs. The component then calls ->continue() with a Decisions object:
$response = $this->agent()
->continue($this->conversationId, as: $this->workspace)
->prompt(Decisions::from($decisions));
Decisions map each approval ID to Decision::approve(), Decision::reject(), or Decision::edit($editedArguments).
Key Takeaways
- Built-in filesystem tools let agents read, list, write, copy, and delete files on any Laravel disk.
FileStorage::readOnly()gives safe read-only access; mutable tools are opt-in.Approvable+InteractsWithApprovalspause agent execution and surface a confirmation message to the user.- Users can approve, reject, or edit tool arguments before a sensitive action executes.
- Isolated disks per workspace prevent agents from accessing files outside their sandbox.
- The approval flow integrates cleanly with Livewire via
pendingApprovalson theAgentResponse.
The full tutorial (Premium) covers three additional new features in Laravel AI SDK v0.10. Read the original article at https://laraveldaily.com/post/laravel-ai-sdk-v010-4-new-features.