Changelog | Tigris Object Storage Documentation
May 29, 2026
May 29, 2026
Bucket and object soft-deletes
Tigris now supports soft-deleting buckets and objects. Enabling the Soft Delete feature makes every delete recoverable for up to 90 days after a mistake is made.
Features (2)
Buckets
Lifecycle rule filters
CLI
Automated bucket migration command
Fixes (3)
Partner Portal
Partner Dashboard invitation flow improvements
Web Console
Large file uploads are more reliable in the console
Web Console
Better surface errors when free allowances are exceeded
Apr 28, 2026
Apr 28, 2026
Agent Kit
We've released Agent Kit, a TypeScript library that packages storage workflows for AI agents on Tigris. Agent Kit bundles forks, workspaces, checkpoints, and coordination — four primitives that match how agent systems are built — into a single SDK on top of @tigrisdata/storage and@tigrisdata/iam.
David Myriel•April 2026
A TypeScript library that packages storage workflows for AI agents — forks, workspaces, checkpoints, and coordination — into four primitives on top of @tigrisdata/storage and @tigrisdata/iam.
Installation
npm install @tigrisdata/agent-kit
Provision a per-agent workspace with scoped credentials
import { createWorkspace, teardownWorkspace } from "@tigrisdata/agent-kit";
const { data: workspace, error } = await createWorkspace("agent-run-abc", {
ttl: { days: 1 },
enableSnapshots: true,
credentials: { role: "Editor" },
});
if (error) throw error;
console.log(workspace.bucket);
console.log(workspace.credentials?.accessKeyId);
// When the agent run finishes
await teardownWorkspace(workspace);
Fork a dataset N ways for parallel agents
import { createForks, teardownForks } from "@tigrisdata/agent-kit";
const { data: forkSet, error } = await createForks("training-data", 5, {
prefix: "eval-run-42",
credentials: { role: "Editor" },
});
for (const fork of forkSet.forks) {
console.log(fork.bucket); // eval-run-42-0, eval-run-42-1, ...
console.log(fork.credentials?.accessKeyId);
}
await teardownForks(forkSet);
Read the Agent Kit documentation for the full API reference covering forks, workspaces, checkpoints, and coordination webhooks.
Features (4)
SDK
Forks
SDK
Workspaces
SDK
Checkpoints
SDK
Coordination
Apr 16, 2026
Apr 16, 2026
Agent Shell
Agent Shell is a virtual bash environment with a persistent filesystem backed by Tigris object storage. Agents get a familiar shell interface — cat,grep, sed, jq, pipes, redirects — where every file operation is backed by a Tigris bucket.
Writes stay in-memory until you explicitly flush(), so a failed run never leaks partial state to storage. Built-in commands forpresign, snapshot, and forkgive agents direct access to Tigris primitives from the shell.
Programmatic usage
npm install @tigrisdata/agent-shell
import { TigrisShell } from "@tigrisdata/agent-shell";
const shell = new TigrisShell({
accessKeyId: process.env.TIGRIS_STORAGE_ACCESS_KEY_ID,
secretAccessKey: process.env.TIGRIS_STORAGE_SECRET_ACCESS_KEY,
bucket: process.env.TIGRIS_STORAGE_BUCKET,
});
await shell.exec('echo "processing..." > status.txt');
await shell.exec("echo '{\"score\": 0.95}' > results.json");
await shell.exec("cat results.json | jq .score"); // "0.95\n"
// Snapshot before changes, then persist atomically
await shell.exec("snapshot my-bucket --name before-migration");
await shell.flush();
Interactive shell
npx @tigrisdata/agent-shell
Read the Agent Shell documentation for the full storage model, multi-bucket mounting, and built-in commands.
Features (3)
SDK
Standard bash, persisted to Tigris
SDK
Atomic write-back cache
SDK
Built-in Tigris commands
Apr 7, 2026
Apr 7, 2026
Agent Plugins for Claude Code & Cursor
The new Tigris agent plugins give AI coding agents direct access to Tigris operations — managing buckets, objects, access keys, IAM policies, and migrations — without leaving your editor. The tigris-storage plugin is available in the Claude Community Plugins marketplace.
Tigris Agent Plugins for Claude Code & Cursor
David Myriel•April 2026
AI coding agents get direct access to Tigris operations — managing buckets, objects, access keys, IAM policies, and migrations — without leaving Claude Code or Cursor.
Install in Claude Code
claude plugin marketplace add anthropics/claude-plugins-community
claude plugin install tigris-storage@claude-community
Install in Cursor
Navigate to Settings > Rules > Add Rule > Remote Rule (GitHub) and enter tigrisdata/tigris-agents-plugins.
See the Agent Plugins documentation for installation, prerequisites, and the full skill reference.
Skills (6)
Plugin
tigris-authentication
Plugin
tigris-buckets
Plugin
tigris-objects
Plugin
tigris-access-keys
Plugin
tigris-iam
Plugin
tigris-storage-agent subagent
Mar 24, 2026
Mar 24, 2026
Multi-region & Dual-region buckets
Buckets now support an explicit location type so you can pick the data placement, replication, availability, and consistency model that fits your workload.
Multi-Region & Dual-Region Buckets
David Myriel•March 2026
Pick the data placement, replication, availability, and consistency model that fits your workload with new Multi-region and Dual-region bucket location types.
Tigris supports four location types:
- Global (default) — single copy distributed globally based on access patterns.
- Multi-region — highest availability across regions in a chosen geography (USA or EUR), with strong consistency globally. Tigris selects the underlying regions.
- Dual-region — explicit pairing of two regions you choose. High availability, eventual consistency across regions.
- Single-region — redundancy across availability zones in one region for the strictest data residency.
Create a multi-region bucket via the CLI
# Multi-region in the USA geography
tigris buckets create my-bucket --location-type multi-region --geography USA
# Dual-region pairing two specific regions
tigris buckets create my-bucket --location-type dual-region --regions iad,ord
# Single-region for strict data residency
tigris buckets create my-bucket --location-type single-region --region fra
Create a multi-region bucket via the JS/TS SDK
import { createBucket } from "@tigrisdata/storage";
const { data, error } = await createBucket("my-bucket", {
locationType: "multi-region",
geography: "USA",
});
See Bucket Locations for the decision guide, consistency models, region pairings, and cost considerations across all four location types.
Features (3)
Buckets
Multi-region buckets
Buckets
Dual-region buckets
API
Location type at bucket creation
Mar 11, 2026
Mar 11, 2026
Partner Integration API
We've launched the Partner Integration API, enabling partners to programmatically manage Tigris resources on behalf of their customers. This includes a new Partner Portal UI for managing integrations, along with org lookup and usage views.
March 2026
Programmatically manage Tigris resources on behalf of your customers with the new Partner Integration API and Partner Portal.
Features (7)
Web Console
Bucket prefix search
Web Console
Multi-region selection
Web Console
Custom timestamp snapshots view
CLI
Presigned URL support
CLI
IAM policy management
CLI
IAM user management
Terraform
Terraform provider updates
Feb 10, 2026
Feb 10, 2026
Tigris CLI
We've released the Tigris CLI, a new command-line interface for managing your Tigris object storage buckets directly from the terminal. Commands follow UNIX conventions and are designed to be intuitive for both humans and AI assistants.
Abdullah Ibrahim & Xe Iaso•February 2026
A new command-line interface for Tigris object storage, following UNIX conventions with commands like ls, cp, rm, and mk.
Installation
npm install -g @tigrisdata/cli
Getting started
# Log in to your Tigris account
tigris login
# List your buckets
tigris ls
# Copy files to and from Tigris
tigris cp ./local-file.txt t3://my-bucket/file.txt
tigris cp t3://my-bucket/file.txt ./local-file.txt
# Recursively copy a directory
tigris cp -r ./local-dir/ t3://my-bucket/my-path/
Features (3)
CLI
UNIX-style commands
CLI
t3:// URL scheme
CLI
Cross-platform support
Feb 3, 2026
Feb 3, 2026
Go SDK
We've released an official Go SDK for Tigris: storage-go. It provides a Go-native interface for interacting with Tigris object storage, focusing on developer ergonomics and intent over wire protocol details.
Xe Iaso•February 2026
An official Go SDK for Tigris with two packages: a drop-in AWS S3 wrapper with Tigris-specific features, and a higher-level simplestorage interface.
Installation
go get github.com/tigrisdata/storage-go@latest
The SDK includes two packages for different use cases:
storage package — An unopinionated wrapper around the AWS S3 client that maintains compatibility with existing code while exposing Tigris-specific features like snapshots and bucket forking:
tigris, err := storage.New(ctx)
if err != nil {
log.Fatal(err)
}
result, err := tigris.ListBucketSnapshots(ctx, "my-bucket")
simplestorage package — A higher-level, opinionated interface that treats Buckets, Keys, and Objects as first-class concepts:
tigris, err := simplestorage.New(ctx)
if err != nil {
log.Fatal(err)
}
result, err := tigris.Put(ctx, &simplestorage.Object{
Key: "file.txt",
ContentType: "text/plain",
Size: st.Size(),
Body: fin,
})
The simplestorage package reads the default bucket from the TIGRIS_STORAGE_BUCKET environment variable, mirroring the approach used by the JavaScript SDK.
Features (2)
SDK
AWS S3 compatible wrapper
SDK
Higher-level simplestorage interface
Jan 13, 2026
Jan 13, 2026
MCP OIDC Provider & llms.txt Support
We've released the mcp-oidc-provider package and added llms.txt support to make Tigris more agent-friendly.
mcp-oidc-provider Package
A new mcp-oidc-provider package is now available on npm. This package provides OIDC authentication for MCP (Model Context Protocol) servers, making it easier to build secure, OAuth-enabled MCP integrations. Read more in the announcement blog post.
llms.txt Support
Tigris documentation now supports llms.txt, making it easier for AI agents to find and use our documentation. You can add this to your agent configuration files (like AGENTS.md orCLAUDE.md):
## Helpful Documentation
When asked about various services or tools, use these resources to help you:
- **Tigris** or **Tigris Data**: https://www.tigrisdata.com/docs/llms.txt or https://www.tigrisdata.com/llms.txt
Features (2)
Web Console
Console downloads
API
Partner API lifecycle rule support
Dec 1, 2025
Dec 1, 2025
Hosted MCP Server
We've made it easier to integrate Tigris into your AI workflows by removing the most complicated part of getting started with the MCP server: installing it. Our hosted MCP server at mcp.storage.dev lets you integrate Tigris into your ChatGPT, Claude, and agentic coding workflows in a snap.
Why it matters
- No installation required — always have access to the most recent version of the MCP server
- OAuth authentication — no need to load API keys into your agent's configuration, reducing the attack surface. Learn how we implemented OAuth with a man-in-the-middle pattern.
- Multi-organization support — access buckets across all your organizations from a single connection
- Works everywhere — integrate with ChatGPT web, Claude Desktop, Claude Code, Cursor, OpenAI Codex, and VS Code
Get started at mcp.storage.dev and connect Tigris to your AI agents today.
Tigris' MCP Server Goes Global
Tigris Engineering•December 2025
We've made it easier to integrate Tigris into your AI workflows by removing the most complicated part of getting started with the MCP server: installing it.
Features (2)
Security
OAuth authentication flow
MCP
Multi-organization access
Nov 15, 2025
Nov 15, 2025
Bucket Snapshots
Tigris now lets you take point-in-time snapshots of your data so that you can undelete critical files, make backups of your backups, and create the base state for bucket forks. Snapshots capture the state of a bucket as it exists at a single point in time so that you can get data back later if you need to.
Why it matters
To err is human; to plan for that and give you a way out is Tigris. We want to make it easy for you to undo mistakes, make auditable backups of your backups, and fork your data to enable new and exciting ways to use object storage.
You can also do this from the Tigris SDK for JavaScript and TypeScript:
import { createBucketSnapshot } from "@tigrisdata/storage";
const { data, error } = await createBucketSnapshot();
if (error) {
console.error('Error creating snapshot:', error);
} else {
console.log('Snapshot created:', data);
// output: { snapshotVersion: "1751631910169675092" }
}
The cloud's the limit!
Features (2)
New onboarding flow at storage.new
New bucket creation flow
Oct 17, 2025
Oct 17, 2025
Bucket Forking
Tigris now supports snapshots and forks for versioning and isolating your data. Snapshots let you capture the exact state of a bucket at a specific moment in time. Forks let you clone a snapshot instantly using copy-on-write.
Why it matters
- Isolated environments for safer experimentation
- Built-in version control and reproducibility
- Reliable A/B testing and multi-model training
- Agent-friendly sandboxing
Example: Create a Snapshot Enabled Bucket and Fork It
- Python
- TypeScript
from tigris_boto3_ext import (
create_snapshot_bucket,
create_snapshot,
get_snapshot_version,
create_fork,
)
# Create a bucket
create_snapshot_bucket(s3, "my-bucket")
# Create snapshot
result = create_snapshot(s3_client, "my-bucket", snapshot_name='snappy-1')
snapshot_version = get_snapshot_version(result)
# Create a fork from the snapshot
create_fork(s3_client, "my-forked-bucket", "my-bucket", snapshot_version=snapshot_version)
import { createBucket, createBucketSnapshot, listBucketSnapshots } from "@tigrisdata/storage";
// Create a bucket
const bucketResult = await createBucket("my-bucket", {
enableSnapshot: true,
});
if (bucketResult.error) {
console.error('Error creating seed bucket:', bucketResult.error);
return;
}
// We'll omit the error handling from now on for brevity, but you should check for errors!
// Create snapshot
const snapshotResult = await createSnapshot("my-bucket", { snapshotName: "snappy-1" });
const snapshotVersion = getSnapshotVersion(snapshotResult);
// Create a fork from the snapshot
const forkResult = await createBucket("my-forked-bucket", {
sourceBucketName: "my-bucket"",
sourceBucketSnapshot: snapshotVersion,
});
Learn more: snapshots and forks documentation.
Tigris Engineering•October 17, 2025
Learn how to fork buckets like code in the Tigris web console.
Sep 17, 2025
Sep 17, 2025
Tigris JS/TS SDK
A new JavaScript/TypeScript SDK for managing Tigris buckets and objects.
Manage your Tigris buckets and objects right from your JS/TS apps with the new @tigrisdata/storage SDK.
npm install @tigrisdata/storage
Highlights
- Full CRUD for objects — put, get, list, and remove made simple.
- Bucket management — create, list, and delete buckets programmatically.
- Browser uploads — upload files with built-in progress tracking.
Example:
import { put, get } from "@tigrisdata/storage";
await put("object.txt", "Hello, world!");
const file = await get("object.txt", "string");
Frontend upload example:
import { upload } from "@tigrisdata/storage/client";
Read more about Tigris JS/TS SDK in the docs.
Announcing the Tigris Storage SDK
Tigris Engineering•October 2025
Introducing the Tigris Storage SDK for JavaScript and TypeScript, a simplified alternative to AWS S3 SDK for object storage operations.
UI Improvements (3)
Web Console
Bucket Settings now organized into tabs
Web Console
Billing invoices now available
Web Console
Custom Domains interface updated
Backend Updates (1)
API
Custom domain support for t3.storage.dev
Aug 15, 2025
Aug 15, 2025
Org admins can enforce two-factor auth under organization settings
Administrators can configure organizations to require two-factor authentication. In order to use this, you must be using a native Tigris organization, not one created with fly.io.
Fixes (1)
IAM
IAM policies are now required to have valid S3 actions
Previously you were able to put any S3 or IAM action into policy documents. Tigris now enforces that these be one of the supported policy actions.
Improvements (3)
Web Console
Access key flows have been updated
Web Console
IAM Policies can now be directly attached to keys
Web Console
Each bucket has a breakdown of how much data is stored in each storage tier
Jul 15, 2025
Jul 15, 2025
Benchmarks
We've been hearing from a lot of teams using Tigris for low-latency workloads consisting of billions of tiny files--think logs, AI feature payloads, or metadata. We published a benchmark comparing Tigris to AWS S3 and Cloudflare R2 using a mixed workload of 10 million 1 KB objects, 80% reads and 20% writes.
The results are compelling:
- Tigris is 86.6x faster than R2 and 5.3x faster than S3 at the 90th percentile for read latency.
- Throughput under mixed workloads is 4x higher than S3 and 20x higher than R2.
- Writes are consistently low-latency, with P90 latencies under 17 ms.
These gains come from architectural choices designed specifically for small-object performance: inline storage for tiny objects, log-structured caching, and coalesced key layouts that reduce IOPS pressure at scale.
Tigris Benchmark: 86× Faster Than R2 for Small Objects
Tigris Engineering•July 2025
Deep dive into how Tigris achieves sub-10ms read latencies and key-value store-like throughput for small object workloads. Includes detailed methodology, results, and instructions to reproduce the benchmarks yourself.
Improvements (4)
IAM
IAM Policy Builder
Wanted to build your own IAM policies but didn't know where to start? Use the new IAM policy builder to make your own policies from scratch.
Presigned URLs
Presigned Multipart Uploads
Web Console
Delete Protection
Web Console
User Invites to Tigris Organizations
Jun 15, 2025
Jun 15, 2025
TigrisFS
We built TigrisFS to simplify AI data handling. If you’re working on training, inference, or pipelines, you shouldn’t have to wrestle with NFS, blobfuse, or layers of complexity just to get your storage working.
TigrisFS gives you familiar file APIs with the scale, performance, and reliability of object storage:
- No complex intermediate layers
- Use the S3 API or the Filesystem interface interchangeably
- Run globally, co-located with compute (CoreWeave, Together, Lambda, etc.)
Just mount your bucket and work with your data like it's stored locally.
Tigris Engineering•June 2025
We've open-sourced TigrisFS — our native filesystem that makes global data from anywhere in the world instantly accessible– from your local file system.
Improvements (1)
Web Console
Object file upload experience
May 15, 2025
May 15, 2025
Native Sign-up
You can now sign in to Tigris with Google, GitHub, or an email and password. Accounts and billing can be managed directly within Tigris, without relying on an external provider.
- User invitations: Added support for inviting users to join organizations through a new invitation flow.
- Organization management: Members can now be managed directly under Settings.
- Billing updates:
- Stripe Make a Payment option added under the Usage section
- Invoices view added
- Native billing management now available under Settings
- Membership management: Added ability to manage user membership to organizations directly within Tigris.
Tigris Engineering•May 2025
Sign in to Tigris natively using your email and password, Google, or GitHub.
Improvements (2)
API
Rename objects in place
Presigned URLs
Presigned URLs maximum expiration time is 90 days
Apr 15, 2025
Apr 15, 2025
Object Lifecycle Rules
Configure object lifecycle rules on your bucket settings, and Tigris will automatically move data from the standard tier to an archive or infrequent access tier. Or, set an expiration rule to automatically delete data after a certain period of time.
We also added a new storage tier: Archive with instant retrieval. This is a low-cost storage tier for data that is accessed very infrequently but needs to be available quickly when needed. This is ideal for data that is needed for compliance or archival purposes but rarely accessed.
Tigris Engineering•April 2025
Automatically move data between storage tiers.
Apr 15, 2025
Apr 15, 2025
Bucket sharing
You can share your buckets with a single button in the admin console. This lets you bypass all of the IAM cruft and just give access with ease. We're surprised that adding a share button is a meaningful developer experience than juggling those IAM policies around, but we're happy to simplify your workflow.
Tigris Engineering•April 2025
Share your buckets with a single button in the admin console.
Improvements (4)
Web Console
Multiple files can be uploaded at once in the admin console
Web Console
Multiple files can be selected and deleted
API
Faster API endpoint
If your app is deployed outside of Fly.io, we've launched a new high-performance endpoint just for you:https://t3.storage.dev. No access key changes required, it's got the same data you're used to, it's just much faster.
API
Any bucket can use any custom domain name
Mar 15, 2025
Mar 15, 2025
MCP server
We have an MCP server! This lets your editor tap into Tigris so that you can manage your buckets in natural language.
Tigris Engineering•March 2025
Use your AI editor to manage your buckets in natural language.
Improvements (1)
API
Buckets can be created in strict consistency mode
Feb 15, 2025
Feb 15, 2025
Partner Integration API
Our Partner Integration Program lets you offer Tigris as a storage service to your customers. We've published details about the API in the Partner Integrations API reference guide. This lets you handle billing, invoice management, and usage tracking for many tenants.
Fixes (1)
API
Disallow public path access
Improvements (2)
API
Bucket creation validation and error handling
Web Console