The tool calls that run inside the sandbox, the directory discovery contract, and the parts that deliberately stay on the host.

What gets sandboxed

Directory discovery uses ls without granting shell execution. It returns whole, JSON-quoted names and a filename cursor when another page is available. Use the same directory and returned after value to continue. Each page fits the selected model's tool-result budget; no partial filename is returned.

Custom backends can provide SandboxFsBridge.readDirectory({ filePath, cwd, signal }), returning { name, isDirectory } entries from their permitted filesystem roots. The method is optional for older plugins: ls is hidden when it is absent, and Apus does not fall back to reading the host filesystem.

Not sandboxed: