/r2/. All operations involve network I/O to the remote object store.
Uses aioboto3 against R2’s S3-compatible API.
For credential setup, see R2 Setup.
Install the extra:
Config
R2VFS(config) takes an R2Config object with the bucket name and
either account_id (endpoint is auto-built as
https://{account_id}.r2.cloudflarestorage.com) or an explicit
endpoint_url. Both READ and WRITE modes are supported.
Fields marked secret are redacted in snapshots.
For
write: conditional on this provider, see S3-compatible stores.
VFS.md
The VFS.md an agent reads with Cloudflare R2 mounted at/<path>.
- Rendered
- Raw
my-bucket contains:
/r2/ exposes:
/r2/assets/logo.png maps to R2 key
assets/logo.png.
Cache
The R2 VFS usesIndexCacheStore with index_ttl = 600
(10 minutes). Directory listings are cached for up to 600 seconds before
being refreshed from R2. This reduces API calls for repeated directory
traversals. A configured index: replaces this lifetime with its own ttl, and the mount’s ttl: caps it.
Integration
What R2 answers through its own API, so fewer files are read. Integration explains each command.Example
Shell Commands
The R2 VFS supports the full set of shell commands since it operates on real file content (text, binary, JSON, CSV, etc.). Large files benefit from range reads to avoid downloading entire objects.Read Commands
Text Processing
File Operations
Path Utilities
Compression
Encoding
Use Cases
- AI agents accessing R2 data: Mount R2 buckets for agents to read and process datasets
- Data pipelines: Read and write R2 objects with shell-like commands
- FUSE mounting: Expose R2 buckets through a virtual FUSE mount for external tools