Command line interface for Tigris object storage.
npm install -g @tigrisdata/clitigris <command> [flags]
Run tigris help to see all available commands, or tigris <command> help for details on a specific command.
tigris ls [path]- List all buckets (no arguments) or objects under a bucket/prefix path. Accepts bare names or t3:// URIstigris mk <path>- Create a bucket (bare name) or a folder inside a bucket (bucket/folder/ with trailing slash)tigris touch <path>- Create an empty (zero-byte) object at the given bucket/key pathtigris cp <src> <dest>- Copy files between local filesystem and Tigris, or between paths within Tigris. At least one side must be a remote t3:// pathtigris mv <src> <dest>- Move (rename) objects within Tigris. Both source and destination must be remote t3:// pathstigris rm <path>- Remove a bucket, folder, or object from Tigris. A bare bucket name deletes the bucket itself
tigris login- Start a session via OAuth (default) or temporary credentials. Session state is cleared on logouttigris logout- End the current session and clear login state. Credentials saved via 'configure' are kepttigris whoami- Print the currently authenticated user, organization, and auth methodtigris configure- Save access-key credentials to ~/.tigris/config.json for persistent use across all commands
tigris organizations- List, create, and switch between organizations. An organization is a workspace that contains your resources like buckets and access keystigris access-keys- Create, list, inspect, delete, and assign roles to access keys. Access keys are credentials used for programmatic API accesstigris credentials- Test whether your current credentials can reach Tigris and optionally verify access to a specific buckettigris buckets- Create, inspect, update, and delete buckets. Buckets are top-level containers that hold objectstigris forks- List and create forks. A fork is a writable copy-on-write clone of a bucket, useful for testing or branching datatigris snapshots- List and take snapshots. A snapshot is a point-in-time, read-only copy of a bucket's statetigris objects- Low-level object operations for listing, downloading, uploading, and deleting individual objects in a bucket
List all buckets (no arguments) or objects under a bucket/prefix path. Accepts bare names or t3:// URIs
tigris ls [path]
Examples:
tigris ls
tigris ls my-bucket
tigris ls my-bucket/images/
tigris ls t3://my-bucket/prefix/Create a bucket (bare name) or a folder inside a bucket (bucket/folder/ with trailing slash)
tigris mk <path>
Examples:
tigris mk my-bucket
tigris mk my-bucket/images/
tigris mk t3://my-bucketCreate an empty (zero-byte) object at the given bucket/key path
tigris touch <path>
Examples:
tigris touch my-bucket/placeholder.txt
tigris touch t3://my-bucket/logs/Copy files between local filesystem and Tigris, or between paths within Tigris. At least one side must be a remote t3:// path
tigris cp <src> <dest> [flags]
| Flag | Description |
|---|---|
-r, --recursive |
Copy directories recursively |
Examples:
tigris cp ./file.txt t3://my-bucket/file.txt
tigris cp t3://my-bucket/file.txt ./local-copy.txt
tigris cp t3://my-bucket/src/ t3://my-bucket/dest/ -r
tigris cp ./images/ t3://my-bucket/images/ -rMove (rename) objects within Tigris. Both source and destination must be remote t3:// paths
tigris mv <src> <dest> [flags]
| Flag | Description |
|---|---|
-r, --recursive |
Move directories recursively |
-f, --force |
Skip confirmation prompt |
Examples:
tigris mv t3://my-bucket/old.txt t3://my-bucket/new.txt -f
tigris mv t3://my-bucket/old-dir/ t3://my-bucket/new-dir/ -rf
tigris mv my-bucket/a.txt my-bucket/b.txt -fRemove a bucket, folder, or object from Tigris. A bare bucket name deletes the bucket itself
tigris rm <path> [flags]
| Flag | Description |
|---|---|
-r, --recursive |
Remove directories recursively |
-f, --force |
Skip confirmation prompt |
Examples:
tigris rm t3://my-bucket/file.txt -f
tigris rm t3://my-bucket/folder/ -rf
tigris rm t3://my-bucket -f
tigris rm "t3://my-bucket/logs/*.tmp" -fStart a session via OAuth (default) or temporary credentials. Session state is cleared on logout
| Command | Description |
|---|---|
login select |
Choose how to login - OAuth (browser) or credentials (access key) |
login oauth (o) |
Login via browser using OAuth2 device flow. Best for interactive use |
login credentials (c) |
Login with an access key and secret. Creates a temporary session that is cleared on logout |
tigris login select
tigris login oauth
Examples:
tigris login oauthtigris login credentials [flags]
| Flag | Description |
|---|---|
-key, --access-key |
Your access key ID (will prompt if not provided) |
-secret, --access-secret |
Your secret access key (will prompt if not provided) |
Examples:
tigris login credentials --access-key tid_AaBb --access-secret tsec_XxYy
tigris login credentialsEnd the current session and clear login state. Credentials saved via 'configure' are kept
tigris logout
Examples:
tigris logoutPrint the currently authenticated user, organization, and auth method
tigris whoami
Examples:
tigris whoamiSave access-key credentials to ~/.tigris/config.json for persistent use across all commands
tigris configure [flags]
| Flag | Description |
|---|---|
-key, --access-key |
Your Tigris access key ID |
-secret, --access-secret |
Your Tigris secret access key |
-e, --endpoint |
Tigris API endpoint (default: https://t3.storage.dev) |
Examples:
tigris configure --access-key tid_AaBb --access-secret tsec_XxYy
tigris configure --endpoint https://custom.endpoint.devList, create, and switch between organizations. An organization is a workspace that contains your resources like buckets and access keys
| Command | Description |
|---|---|
organizations list (l) |
List all organizations you belong to and interactively select one as active |
organizations create (c) |
Create a new organization with the given name |
organizations select (s) |
Set the named organization as your active org for all subsequent commands |
tigris organizations list [flags]
| Flag | Description |
|---|---|
-f, --format |
Output format (default: select) |
-i, --select |
Interactive selection mode |
Examples:
tigris orgs list
tigris orgs list --format jsontigris organizations create <name>
Examples:
tigris orgs create my-orgtigris organizations select <name>
Examples:
tigris orgs select my-orgCreate, list, inspect, delete, and assign roles to access keys. Access keys are credentials used for programmatic API access
| Command | Description |
|---|---|
access-keys list (l) |
List all access keys in the current organization |
access-keys create (c) |
Create a new access key with the given name. Returns the key ID and secret (shown only once) |
access-keys delete (d) |
Permanently delete an access key by its ID. This revokes all access immediately |
access-keys get (g) |
Show details for an access key including its name, creation date, and assigned bucket roles |
access-keys assign (a) |
Assign per-bucket roles to an access key. Pair each --bucket with a --role (Editor or ReadOnly), or use --admin for org-wide access |
tigris access-keys list
Examples:
tigris access-keys listtigris access-keys create <name>
Examples:
tigris access-keys create my-ci-keytigris access-keys delete <id>
Examples:
tigris access-keys delete tid_AaBbCcDdEeFftigris access-keys get <id>
Examples:
tigris access-keys get tid_AaBbCcDdEeFftigris access-keys assign <id> [flags]
| Flag | Description |
|---|---|
-b, --bucket |
Bucket name (can specify multiple, comma-separated). Each bucket is paired positionally with a --role value |
-r, --role |
Role to assign (can specify multiple, comma-separated). Each role pairs with the corresponding --bucket value |
--admin |
Grant admin access to all buckets in the organization |
--revoke-roles |
Revoke all bucket roles from the access key |
Examples:
tigris access-keys assign tid_AaBb --bucket my-bucket --role Editor
tigris access-keys assign tid_AaBb --bucket a,b --role Editor,ReadOnly
tigris access-keys assign tid_AaBb --admin
tigris access-keys assign tid_AaBb --revoke-rolesTest whether your current credentials can reach Tigris and optionally verify access to a specific bucket
| Command | Description |
|---|---|
credentials test (t) |
Verify that current credentials are valid. Optionally checks access to a specific bucket |
tigris credentials test [flags]
| Flag | Description |
|---|---|
-b, --bucket |
Bucket name to test access against (optional) |
Examples:
tigris credentials test
tigris credentials test --bucket my-bucketBuckets are containers for objects. You can also create forks and snapshots of buckets.
Create, inspect, update, and delete buckets. Buckets are top-level containers that hold objects
| Command | Description |
|---|---|
buckets list (l) |
List all buckets in the current organization |
buckets create (c) |
Create a new bucket with optional access, tier, consistency, and region settings |
buckets get (g) |
Show details for a bucket including access level, region, tier, and custom domain |
buckets delete (d) |
Delete one or more buckets by name. The bucket must be empty or delete-protection must be off |
buckets set (s) |
Update settings on an existing bucket such as access level, region, caching, or custom domain |
tigris buckets list [flags]
| Flag | Description |
|---|---|
-f, --format |
Output format (default: table) |
Examples:
tigris buckets list
tigris buckets list --format jsontigris buckets create [name] [flags]
| Flag | Description |
|---|---|
-a, --access |
Access level (default: private) |
-s, --enable-snapshots |
Enable snapshots for the bucket (default: false) |
-t, --default-tier |
Choose the default tier for the bucket (default: STANDARD) |
-c, --consistency |
Choose the consistency level for the bucket (default: default) |
-r, --region |
Region (default: global) |
Examples:
tigris buckets create my-bucket
tigris buckets create my-bucket --access public --region iad
tigris buckets create my-bucket --enable-snapshots --default-tier STANDARD_IAtigris buckets get <name>
Examples:
tigris buckets get my-buckettigris buckets delete <name>
Examples:
tigris buckets delete my-bucket
tigris buckets delete bucket-a,bucket-btigris buckets set <name> [flags]
| Flag | Description |
|---|---|
--access |
Bucket access level |
--region |
Allowed regions (can specify multiple) |
--allow-object-acl |
Enable object-level ACL |
--disable-directory-listing |
Disable directory listing |
--cache-control |
Default cache-control header value |
--custom-domain |
Custom domain for the bucket |
--enable-delete-protection |
Enable delete protection |
Examples:
tigris buckets set my-bucket --access public
tigris buckets set my-bucket --region iad,fra --cache-control 'max-age=3600'
tigris buckets set my-bucket --custom-domain assets.example.comList and create forks. A fork is a writable copy-on-write clone of a bucket, useful for testing or branching data
| Command | Description |
|---|---|
forks list (l) |
List all forks created from the given source bucket |
forks create (c) |
Create a new fork (copy-on-write clone) of the source bucket. Optionally fork from a specific snapshot |
tigris forks list <name> [flags]
| Flag | Description |
|---|---|
-f, --format |
Output format (default: table) |
Examples:
tigris forks list my-bucket
tigris forks list my-bucket --format jsontigris forks create <name> <fork-name> [flags]
| Flag | Description |
|---|---|
-s, --snapshot |
Create fork from a specific snapshot |
Examples:
tigris forks create my-bucket my-fork
tigris forks create my-bucket my-fork --snapshot snap-2025-01-01List and take snapshots. A snapshot is a point-in-time, read-only copy of a bucket's state
| Command | Description |
|---|---|
snapshots list (l) |
List all snapshots for the given bucket, ordered by creation time |
snapshots take (t) |
Take a new snapshot of the bucket's current state. Optionally provide a name for the snapshot |
tigris snapshots list <name> [flags]
| Flag | Description |
|---|---|
-f, --format |
Output format (default: table) |
Examples:
tigris snapshots list my-bucket
tigris snapshots list my-bucket --format jsontigris snapshots take <name> [snapshot-name]
Examples:
tigris snapshots take my-bucket
tigris snapshots take my-bucket my-snapshotLow-level object operations for listing, downloading, uploading, and deleting individual objects in a bucket
| Command | Description |
|---|---|
objects list (l) |
List objects in a bucket, optionally filtered by a key prefix |
objects get (g) |
Download an object by key. Prints to stdout by default, or saves to a file with --output |
objects put (p) |
Upload a local file as an object. Content-type is auto-detected from extension unless overridden |
objects delete (d) |
Delete one or more objects by key from the given bucket |
tigris objects list <bucket> [flags]
| Flag | Description |
|---|---|
-p, --prefix |
Filter objects by key prefix (e.g. "images/" to list only images) |
-f, --format |
Output format (default: table) |
Examples:
tigris objects list my-bucket
tigris objects list my-bucket --prefix images/
tigris objects list my-bucket --format jsontigris objects get <bucket> <key> [flags]
| Flag | Description |
|---|---|
-o, --output |
Output file path (if not specified, prints to stdout) |
-m, --mode |
Response mode: "string" loads into memory, "stream" writes in chunks (auto-detected from extension if not specified) |
Examples:
tigris objects get my-bucket config.json
tigris objects get my-bucket archive.zip --output ./archive.zip --mode streamtigris objects put <bucket> <key> [file] [flags]
| Flag | Description |
|---|---|
-a, --access |
Access level (default: private) |
-t, --content-type |
Content type (auto-detected from extension if omitted) |
-f, --format |
Output format (default: table) |
Examples:
tigris objects put my-bucket report.pdf ./report.pdf
tigris objects put my-bucket logo.png ./logo.png --access public --content-type image/pngtigris objects delete <bucket> <key>
Examples:
tigris objects delete my-bucket old-file.txt
tigris objects delete my-bucket file-a.txt,file-b.txtMIT