Laravel AI SDK v0.10: Filesystem Tools &amp; Approvals | Mohamed Said       [Skip to content](#main)  [ ![](https://cdn.msaied.com/01KT78WE565VEMM3PSNQAAB0MH.png) Mohamed SaidLaravel Backend Engineer ](https://www.msaied.com/public) - [Home](https://www.msaied.com/public)
- [Projects](https://www.msaied.com/public/projects)
- [Articles](https://www.msaied.com/public/articles)
- [Certificates](https://www.msaied.com/public/certificates)
- [About](https://www.msaied.com/public#about)

           [  Contact](https://www.msaied.com/public#contact) Menu 

Menu
----

Close 

 - [HomeStart here](https://www.msaied.com/public)
- [ProjectsCase studies](https://www.msaied.com/public/projects)
- [ArticlesEngineering notes](https://www.msaied.com/public/articles)
- [CertificatesCredentials](https://www.msaied.com/public/certificates)
- [AboutHow I work](https://www.msaied.com/public#about)
- [ContactGet in touch](https://www.msaied.com/public#contact)

  [Start a conversation](https://www.msaied.com/public#contact) [WhatsApp](https://wa.me/201094619204) [Email](mailto:hello@msaied.com) 

 1. [Home](https://www.msaied.com/public)
2. /
3. [Articles](https://www.msaied.com/public/articles)
4. /
5. [Laravel](https://www.msaied.com/public/articles?category=laravel)
6. /
7. Laravel AI SDK v0.10: 4 New Features Explained

   [Laravel](https://www.msaied.com/public/articles?category=laravel) [AI](https://www.msaied.com/public/articles?category=ai) [Livewire](https://www.msaied.com/public/articles?category=livewire) 

 Laravel AI SDK v0.10: 4 New Features Explained
===============================================

 Laravel AI SDK v0.10 ships with filesystem tools for agents, human tool approval, and more. This walkthrough covers the first feature in depth with real code examples.

 ![](https://cdn.msaied.com/01M22N44A70A5MC2S599JP0MPH.webp) [Mohamed Said](https://www.msaied.com/public#person) Published 12 Aug 2026 · Updated 12 Aug 2026 · 3 min read

ShareCopy linkCopied

 ![Laravel AI SDK v0.10: 4 New Features Explained](https://cdn.msaied.com/540/e74363f048913d3782bc16a7292215db.png) 

  On this page +1. [Laravel AI SDK v0.10: What's New](#laravel-ai-sdk-v010-whats-new)
2. [Feature 1: Filesystem Tools + Human Tool Approval](#feature-1-filesystem-tools-human-tool-approval)
3. [Isolated Workspace Disks](#isolated-workspace-disks)
4. [Giving the Agent Its Tools](#giving-the-agent-its-tools)
5. [Requiring Approval Before Mutations](#requiring-approval-before-mutations)
6. [Handling Approvals in a Livewire Component](#handling-approvals-in-a-livewire-component)
7. [Key Takeaways](#key-takeaways)

 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](https://laravel.com/docs/ai-sdk#file-storage-tools) and a [human tool approval](https://laravel.com/docs/ai-sdk#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:

```php
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:

```php
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:

```php
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:

```php
$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` + `InteractsWithApprovals`** pause 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 `pendingApprovals` on the `AgentResponse`.

---

The full tutorial (Premium) covers three additional new features in Laravel AI SDK v0.10. Read the original article at .

- [Laravel AI SDK](https://www.msaied.com/public/articles?search=Laravel%20AI%20SDK)
- [AI Agents](https://www.msaied.com/public/articles?search=AI%20Agents)
- [Filesystem Tools](https://www.msaied.com/public/articles?search=Filesystem%20Tools)
- [Human Approval](https://www.msaied.com/public/articles?search=Human%20Approval)
- [Livewire](https://www.msaied.com/public/articles?search=Livewire)

 Frequently asked questions 
---------------------------

  What does FileStorage::readOnly() provide in Laravel AI SDK v0.10?It gives an AI agent a set of safe, non-mutating tools for listing and reading files on a given Laravel filesystem disk, without exposing write, copy, or delete capabilities.

   How does human tool approval work in Laravel AI SDK v0.10?A tool implements the Approvable contract and uses the InteractsWithApprovals trait. Its needsApproval() method returns an Approval::required() message. The agent pauses before executing the tool and waits for the user to approve, reject, or edit the arguments via the chat UI.

   How do you continue an agent conversation after resolving approvals in Livewire?Call -&gt;continue($conversationId, as: $participant)-&gt;prompt(Decisions::from($decisions)) on the agent, passing a Decisions object that maps each pending approval ID to Decision::approve(), Decision::reject(), or Decision::edit($editedArguments).

   ![Mohamed Said](https://cdn.msaied.com/01M22N44A70A5MC2S599JP0MPH.webp)About the author
----------------

[Mohamed Said](https://www.msaied.com/public#person)Senior Backend Engineer specializing in Laravel, scalable SaaS platforms, APIs, and cloud infrastructure. I build secure, high-performance web applications that help businesses grow.

[About](https://www.msaied.com/public#about) [GitHub ↗](https://github.com/EG-Mohamed) [LinkedIn ↗](https://www.linkedin.com/in/msaiedm/) [WhatsApp ↗](https://wa.me/201094619204) [Email Address ↗](mailto:hello@msaied.com) [My CV ↗](https://drive.google.com/file/u/0/d/1MF20IPRJyzfy32mhEutjL5EpSls0w2Q8/view)  

   [Previous articleLaravel 13.25: Pause All Queues at Once and a New artisan dev Terminal UI](https://www.msaied.com/public/articles/laravel-1325-pause-all-queues-at-once-and-a-new-artisan-dev-terminal-ui) [Next articleLaravel Image Responses: Serve Resized Images Directly From Routes](https://www.msaied.com/public/articles/laravel-image-responses-serve-resized-images-directly-from-routes)  

   On this page
-------------

1. [Laravel AI SDK v0.10: What's New](#laravel-ai-sdk-v010-whats-new)
2. [Feature 1: Filesystem Tools + Human Tool Approval](#feature-1-filesystem-tools-human-tool-approval)
3. [Isolated Workspace Disks](#isolated-workspace-disks)
4. [Giving the Agent Its Tools](#giving-the-agent-its-tools)
5. [Requiring Approval Before Mutations](#requiring-approval-before-mutations)
6. [Handling Approvals in a Livewire Component](#handling-approvals-in-a-livewire-component)
7. [Key Takeaways](#key-takeaways)

 ###  Have a technical challenge?

 Tell me what you’re building. I reply within two working days.

[Start a conversation](https://www.msaied.com/public#contact) 

   Related articles
-----------------

 [ ![](https://cdn.msaied.com/740/cce86edc21eddcbdd2f2454fadaf9c70.png)  · 3 min read### The Pipeline Pattern in Laravel: Custom Pipelines Beyond Middleware

5 Oct 2026 ](https://www.msaied.com/public/articles/the-pipeline-pattern-in-laravel-custom-pipelines-beyond-middleware-1) [ ![](https://cdn.msaied.com/739/2d6897fdcdcf090613f96f72a64b8a78.png)  · 4 min read### MySQL Full-Text Search in Laravel: Indexes, Relevance Scoring, and Boolean Mode

4 Oct 2026 ](https://www.msaied.com/public/articles/mysql-full-text-search-in-laravel-indexes-relevance-scoring-and-boolean-mode) [ ![](https://cdn.msaied.com/738/073696a3fefe18bec825beec5ac658f5.png)  · 4 min read### Laravel Queue Rate-Limited Middleware: Throttling Jobs Without Losing Work

4 Oct 2026 ](https://www.msaied.com/public/articles/laravel-queue-rate-limited-middleware-throttling-jobs-without-losing-work) 

  Have a technical challenge?
----------------------------

Tell me what you’re building. I reply within two working days.

 [Discuss your project ↗](https://www.msaied.com/public#contact) 

  © 2026 Mohamed Said · Built with Laravel, meant to last.Senior Backend Engineer specializing in Laravel, scalable SaaS platforms, APIs, and cloud infrastructure. I build secure, high-performance web applications that help businesses grow.

 - [Home](https://www.msaied.com/public)
- [Articles](https://www.msaied.com/public/articles)
- [Certificates](https://www.msaied.com/public/certificates)
- [GitHub](https://github.com/EG-Mohamed)
- [LinkedIn](https://www.linkedin.com/in/msaiedm/)
- [WhatsApp](https://wa.me/201094619204)
- [Email Address](mailto:hello@msaied.com)
- [My CV](https://drive.google.com/file/u/0/d/1MF20IPRJyzfy32mhEutjL5EpSls0w2Q8/view)
- [Sitemap](https://www.msaied.com/public/sitemap.xml)
