Changelog | Tigris Object Storage Documentation

Skip to main content

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.

Introducing Agent Kit

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.

Read the Blog

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.

Read the Blog

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.

Read the Blog

Tigris supports four location types:

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.

Partner Integration API

March 2026

Programmatically manage Tigris resources on behalf of your customers with the new Partner Integration API and Partner Portal.

Read the Blog

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.

Introducing the Tigris CLI

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.

Read the Blog

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.

Deriving the Tigris Go SDK

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.

Read the Blog

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

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.

Read the Blog

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

Example: Create a Snapshot Enabled Bucket and Fork It

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.

Fork Buckets Like Code

Tigris Engineering•October 17, 2025

Learn how to fork buckets like code in the Tigris web console.

Read the Blog

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

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.

Read the Blog

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:

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.

Read the Benchmarks

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:

Just mount your bucket and work with your data like it's stored locally.

TigrisFS

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.

Read the Blog

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.

Native Sign-up

Tigris Engineering•May 2025

Sign in to Tigris natively using your email and password, Google, or GitHub.

Sign-up

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.

Object Lifecycle Rules

Tigris Engineering•April 2025

Automatically move data between storage tiers.

Read the Blog

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.

Bucket Sharing

Tigris Engineering•April 2025

Share your buckets with a single button in the admin console.

Read the Blog

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.

The Tigris MCP Server

Tigris Engineering•March 2025

Use your AI editor to manage your buckets in natural language.

Read the Blog

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

Object region information is now visible in the admin console