# Class LittleGhost::Tools::Filesystem

Documentation version: Edge

Canonical HTML: https://littleghostai.org/docs/LittleGhost/Tools/Filesystem.html

Filesystem gives an agent read, list, write, and replace tools backed by the
application's Sandbox. A read-only sandbox automatically exposes only the
non-mutating tools.

    binding = LittleGhost::Tool::Binding.new(sandbox: sandbox)
    registry = LittleGhost::ToolRegistry.new(
      [LittleGhost::Tools::Filesystem], binding: binding
    )
    registry.names # => ["read_file", "list_files"]

### Files follow the Sandbox

These tools do not add isolation. The configured sandbox must enforce path
containment, permissions, size limits, and cancellation.

## Inheritance

`LittleGhost::Tools::Filesystem < Object`

## Class methods

<a id="method-c-tools"></a>
### `.tools`

```ruby
.tools(binding)
```

Provides read tools for every sandbox and mutation tools only when the sandbox
is writable.
