> ## Documentation Index
> Fetch the complete documentation index at: https://docs.talosjs.com/llms.txt
> Use this file to discover all available pages before exploring further.

# credentials:create

> Save a credentials profile for supported third-party providers.

Save credentials for a supported provider under the Talos user config. The command can prompt for missing fields or accept provider-specific flags for non-interactive use.

## Usage

```bash theme={null}
talos credentials:create [options]
```

## Examples

Choose a provider interactively and answer its prompts:

```bash theme={null}
talos credentials:create
```

Save Linear credentials non-interactively:

```bash theme={null}
talos credentials:create --provider=linear --token=LINEAR_API_KEY_PLACEHOLDER
```

Save Cloudflare R2 credentials for [`storage:push`](/cli/commands/storage-push) and [`storage:pull`](/cli/commands/storage-pull):

```bash theme={null}
talos credentials:create --provider=cloudflare --access-key=R2_ACCESS_KEY_ID --secret-key=R2_SECRET_ACCESS_KEY --endpoint=https://ACCOUNT_ID.r2.cloudflarestorage.com --region=EEUR
```

Suppress the provider hint and saved-to confirmation:

```bash theme={null}
talos credentials:create --provider=openrouter --api-key=OPENROUTER_API_KEY_PLACEHOLDER --silent
```

## Options

| Option              | Description                                           | Default                |
| ------------------- | ----------------------------------------------------- | ---------------------- |
| `--provider`        | Provider slug. See the Providers section below.       | Prompted if omitted    |
| `--base-url`        | Provider base URL.                                    | Prompted when required |
| `--email`           | Account email.                                        | Prompted when required |
| `--token`           | Provider token.                                       | Prompted when required |
| `--client-id`       | Client ID.                                            | Prompted when required |
| `--client-secret`   | Client secret.                                        | Prompted when required |
| `--client-key`      | Client key.                                           | Prompted when required |
| `--access-token`    | Access token.                                         | Prompted when required |
| `--app-id`          | App ID.                                               | Prompted when required |
| `--app-secret`      | App secret.                                           | Prompted when required |
| `--page-id`         | Page ID.                                              | Prompted when required |
| `--phone-number-id` | Phone number ID.                                      | Prompted when required |
| `--application-id`  | Application ID.                                       | Prompted when required |
| `--bot-token`       | Bot token.                                            | Prompted when required |
| `--username`        | Username.                                             | Prompted when required |
| `--password`        | Password.                                             | Prompted when required |
| `--access-key`      | Access key ID or storage access key.                  | Prompted when required |
| `--secret-key`      | Secret access key.                                    | Prompted when required |
| `--endpoint`        | Storage endpoint.                                     | Prompted when required |
| `--region`          | Storage region.                                       | Prompted when required |
| `--bucket`          | S3 bucket name.                                       | Prompted when required |
| `--storage-zone`    | Bunny storage zone name.                              | Prompted when required |
| `--api-key`         | API key.                                              | Prompted when required |
| `--silent`          | Suppress the provider hint and saved-to confirmation. | `false`                |

## Providers

| Provider slug | Label         | Where to create credentials                                     | Fields saved                                       |
| ------------- | ------------- | --------------------------------------------------------------- | -------------------------------------------------- |
| `jira`        | Jira          | `https://id.atlassian.com/manage-profile/security/api-tokens`   | `baseUrl`, `email`, `token`                        |
| `linear`      | Linear        | `https://linear.app/settings/api`                               | `token`                                            |
| `x`           | X             | `https://developer.x.com/en/portal/dashboard`                   | `clientId`, `clientSecret`, `accessToken`          |
| `instagram`   | Instagram     | `https://developers.facebook.com/apps`                          | `appId`, `appSecret`, `accessToken`                |
| `facebook`    | Facebook      | `https://developers.facebook.com/apps`                          | `appId`, `appSecret`, `accessToken`                |
| `linkedin`    | LinkedIn      | `https://www.linkedin.com/developers/apps`                      | `clientId`, `clientSecret`, `accessToken`          |
| `tiktok`      | TikTok        | `https://developers.tiktok.com/apps`                            | `clientKey`, `clientSecret`, `accessToken`         |
| `threads`     | Threads       | `https://developers.facebook.com/apps`                          | `appId`, `appSecret`, `accessToken`                |
| `whatsapp`    | WhatsApp      | `https://developers.facebook.com/apps`                          | `phoneNumberId`, `accessToken`                     |
| `telegram`    | Telegram      | `https://t.me/BotFather`                                        | `botToken`                                         |
| `messenger`   | Messenger     | `https://developers.facebook.com/apps`                          | `pageId`, `appSecret`, `accessToken`               |
| `discord`     | Discord       | `https://discord.com/developers/applications`                   | `applicationId`, `botToken`                        |
| `reddit`      | Reddit        | `https://www.reddit.com/prefs/apps`                             | `clientId`, `clientSecret`, `username`, `password` |
| `medium`      | Medium        | `https://medium.com/me/settings/security`                       | `token`                                            |
| `cloudflare`  | Cloudflare R2 | `https://dash.cloudflare.com/?to=/:account/r2/api-tokens`       | `accessKey`, `secretKey`, `endpoint`, `region`     |
| `bunny`       | Bunny         | `https://dash.bunny.net/storage`                                | `storageZone`, `accessKey`, `region`               |
| `s3`          | Amazon S3     | `https://console.aws.amazon.com/iam/home#/security_credentials` | `accessKey`, `secretKey`, `bucket`, `region`       |
| `openrouter`  | OpenRouter    | `https://openrouter.ai/settings/keys`                           | `apiKey`                                           |

<Note>
  `--provider=twitter` is accepted as an alias for `x`. `--provider=r2` is accepted as an alias for `cloudflare`.
</Note>

## Prompt defaults

Some prompted fields start with a default value:

| Provider     | Field      | Prompt default                                     |
| ------------ | ---------- | -------------------------------------------------- |
| `jira`       | `baseUrl`  | `https://your-domain.atlassian.net`                |
| `cloudflare` | `endpoint` | `https://your-account-id.r2.cloudflarestorage.com` |
| `cloudflare` | `region`   | `EEUR`                                             |
| `bunny`      | `region`   | `de`                                               |
| `s3`         | `region`   | `us-east-1`                                        |

## Credentials file

Credentials are written as YAML under `~/.talos/credentials/<provider>.yml`, using the provider slug as the file name. The profile is stored under `profiles.default`.

The credentials directory is created with owner-only permissions (`0700`), and the credentials file is written with owner-only permissions (`0600`).
