File Systems

Persistent file storage for agent workspaces with S3-compatible API, per-agent isolation, and zero egress fees via S3-compatible storage.

What are File Systems?

File Systems provide persistent, isolated storage for AI agent workspaces. Each agent or workflow gets its own namespace where it can upload, download, list, and delete files that persist across sessions.

Under the hood, storage is backed by S3-compatible storage — an S3-compatible object store with zero egress fees.

Key Features

  • Per-agent workspaces — Isolated file namespaces scoped to each agent or workflow
  • S3-compatible API — Familiar interface for upload, download, list, and delete
  • Zero egress fees — Download files without paying egress charges
  • Persistent storage — Files survive sandbox teardowns and session restarts
  • Metadata support — Attach custom key-value metadata to any file
  • Presigned URLs — Generate time-limited download links for sharing
  • Automatic cleanup — Configure TTLs to auto-expire temporary files

When to Use File Systems

Use CaseExample
Agent output storageSave generated reports, CSVs, or images
Intermediate resultsPass data between sandbox sessions
Document processingUpload user files, process them, store results
Screenshot archivesStore browser screenshots for later analysis
Template storageKeep reusable templates agents can access

How It Works

Your Agent
    |
    v
tx.files.upload({ workspace: 'agent-123', ... })
    |
    v
+---------------------------+
|  S3-compatible storage             |
|  - S3-compatible           |
|  - Per-workspace isolation |
|  - Zero egress fees        |
|  - Global edge caching     |
+---------------------------+
    |
    v
tx.files.download({ workspace: 'agent-123', key: '...' })
  1. Upload — Store files in a named workspace
  2. Access — Download, list, or generate presigned URLs
  3. Clean up — Delete individual files or expire them automatically

Storage Limits

ResourceDefaultMaximum
File size100 MB5 GB (multipart)
Files per workspaceUnlimitedUnlimited
WorkspacesUnlimitedUnlimited
Storage per org10 GB (Free)Unlimited (Pro/Enterprise)
Metadata per file2 KB8 KB

Workspace Isolation

Every file operation is scoped to a workspace. Workspaces are isolated from each other — an agent can only access files in its own workspace.

// Agent A's workspace
await tx.files.upload({ workspace: 'agent-a', key: 'report.pdf', body: buffer });
 
// Agent B cannot access Agent A's files
await tx.files.download({ workspace: 'agent-b', key: 'report.pdf' });
// Error: File not found

You can also use workspaces to organize files by task, session, or user:

await tx.files.upload({ workspace: 'task-456', key: 'input.csv', body: data });
await tx.files.upload({ workspace: 'task-456', key: 'output.json', body: result });

Pricing

TierStorageOperations
Free10 GB included100,000 ops/month
Pro$0.015/GB/month1,000,000 ops/month included
EnterpriseCustomVolume discounts

All tiers include zero egress fees.

Next Steps

  • Quickstart — Upload and retrieve files
  • Architecture — How file systems fit into the agent platform
  • Sandboxes — Combine file storage with sandbox execution