# Create a new bucket with optional access, tier, and location settings.

**Alias:** `c`

## Usage

```bash
tigris buckets create [name] [flags]
t3 b c [name] [flags]
```

## Flags

| Name                                | Required | Default | Description                                                                                                                                                                     |
|-------------------------------------|----------|---------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| 
| `--access`, `-a`                   | No       | `private` | Access level. Options: `public`, `private`                                                                                                                                  |
| `--public`                          | No       | —       | Shorthand for `--access public`                                                                                                                                               |
| `--enable-snapshots`, `-s`         | No       | `false` | Enable snapshots for the bucket                                                                                                                                               |
| `--allow-object-acl`               | No       | `false` | Allow per-object ACLs on the bucket                                                                                                                                          |
| `--enable-directory-listing`        | No       | `false` | Enable directory listing, relevant for public buckets                                                                                                                         |
| `--default-tier`, `-t`              | No       | `STANDARD` | Default storage tier. Options: `STANDARD` (Standard), `STANDARD_IA` (Infrequent Access), `GLACIER` (Archive), `GLACIER_IR` (Instant Retrieval Archive)                        |
| `--locations`, `-l`                 | No       | `global` | Bucket location. Options: `global`, `usa`, `eur`, `ams`, `fra`, `gru`, `iad`, `jnb`, `lhr`, `nrt`, `ord`, `sin`, `sjc`, `syd`. Supports comma-separated values for dual region. |
| `--fork-of`, `--fork`               | No       | —       | Create this bucket as a fork (copy-on-write clone) of the named source bucket                                                                                               |
| `--source-snapshot`, `--source-snap`| No       | —       | Fork from a specific snapshot of the source bucket. Accepts a snapshot version string or any UNIX nanosecond-precision timestamp. Requires `--fork-of`                       |
| `--consistency`, `-c`               | No       | —       | **Deprecated.** Use `--locations` instead.                                                                                                                                  |
| `--region`, `-r`                    | No       | —       | **Deprecated.** Use `--locations` instead.                                                                                                                                  |

## Examples

```bash
# Create a private bucket
tigris buckets create my-bucket

# Create a public bucket in a specific region
tigris buckets create my-bucket --access public --locations iad

# Create with snapshots and infrequent access tier
tigris buckets create my-bucket --enable-snapshots --default-tier STANDARD_IA

# Create a bucket that allows per-object ACLs
tigris buckets create my-bucket --allow-object-acl

# Create a public bucket with directory listing enabled
tigris buckets create my-bucket --public --enable-directory-listing

# Create a fork (copy-on-write clone) of an existing bucket
tigris buckets create my-fork --fork-of my-bucket

# Fork from a specific snapshot of the source bucket
tigris buckets create my-fork --fork-of my-bucket --source-snapshot 1765889000501544464
```

## Forks

A fork is a copy-on-write clone of a source bucket: it starts out sharing the source's data and only diverges as you write to it, so creating one is cheap regardless of the source's size. Use `--source-snapshot` to fork from a specific snapshot rather than the source's current state.

Once you have a fork you can keep it in sync with, or promote it back to, its source:

- [`buckets rebase`](/content/docs/cli/buckets/rebase/index.html) — update a fork with the latest changes from its source
- [`buckets merge`](/content/docs/cli/buckets/merge/index.html) — merge a fork's changes back into its source
- [`buckets list --forks-of`](/content/docs/cli/buckets/list/index.html) — list the forks of a bucket
