Skip to main content
A credential is a secret, such as an API key or a service token, that you save once in a workspace. CloudThinker encrypts it and passes it to agents as an environment variable every time they run a command, so nobody has to paste it into chat. If a command prints the value, CloudThinker replaces it with a placeholder when the key has a secret-sounding name (containing KEY, TOKEN, SECRET or PASSWORD) and the value is 6 or more characters. Other values are masked only if they match a known secret format. See Values stay out of chat.

Credentials, connections, or BYOK?

CloudThinker keeps secrets in three places. Pick the one that matches what you’re storing.

Prerequisites

  • The Admin role in the workspace. Developers and Viewers see a “Credentials are restricted” card instead of the list. See workspace roles.
  • One exception: the secure form an agent shows in chat (see How agents use credentials) doesn’t check the workspace role. Any member who can chat, Developers included, can submit it.

Add a credential

1

Open the Credentials page

In the sidebar, click More → Workspace settings, then Credentials. The list shows each credential’s key, description, who added it, and when it was last updated. Values are never shown.
2

Click Add Credential

Fill in the form:
3

Click Save

Success state: the credential appears in the list with its key and description. Agents get it on their next command.
The form rejects reserved keys. Cloud and Git access comes from Connections, and Cyber manages its own login keys.
  • Any key starting with AWS_, GOOGLE_, AZURE_, KUBECONFIG, GITHUB_TOKEN, GITLAB_TOKEN, BITBUCKET_TOKEN, or APPSEC_RUN_GENERATOR_INSTRUCTIONS_
  • CYBER_AUTH, CYBER_AUTH_JSON, CYBER_COOKIE, APPSEC_AUTH, APPSEC_AUTH_JSON, APPSEC_COOKIE, and any key that starts with one of them followed by _

Import a .env file

Use this when you already keep secrets in a dotenv file. The file is parsed in your browser, and only the rows you select are sent.
1

Open the import dialog

On More → Workspace settings → Credentials, click Import .env.
2

Add your file

Choose Paste and paste the contents, or choose Upload a file and pick a .env, .env.local, or other .env.* file. One import takes a file of 64 KiB or smaller with at most 50 keys. Click Review credentials.
3

Pick the rows to save

Rows are split into two groups:Rows with a reserved key are marked “This key is managed by the platform.” and can’t be imported.
4

Click Import

The button shows how many rows you selected, for example Import 3.Success state: the imported keys appear in the list.

Use a credential in chat

Type $ in the chat box to open the credential picker, then pick a key. It’s inserted as $KEY, so you can point an agent at a secret without pasting it.
The agent reads the value from its environment and reports back by key name only. The $ picker shows only for members who can manage credentials. See Commands and syntax for the other tokens you can type.

How agents use credentials

If an agent asks for a key that already exists, submitting the form replaces the stored value, whoever submits it. Check the list first when the key might be used by another automation.

Edit or delete a credential

  • Edit: click the pencil icon on the credential’s row (tooltip Edit credential). Change the description, or enter a new value to replace the secret. Leave the value blank to keep the stored secret. To rotate a secret, enter the new value here: commands pick it up from their next run.
  • Rename: you can’t rename a key. Add the credential under the new key, update anything that uses the old name, then delete the old one.
  • Delete: click the trash icon (tooltip Delete credential) and confirm. Every agent that reads this credential loses access on its next command. This can’t be undone.

Security

  • Values are encrypted at rest with Fernet (AES with an HMAC integrity check) and are never sent back to the browser.
  • On Scale, Scale Plus, and Enterprise, each create, update, and delete is recorded in Audit Logs under the Security category. Free and Team have no Audit Logs. The entry leaves out both the key name and the value, because more people can read audit logs than can manage credentials. To see which key changed, match the entry’s time against the Updated date on each row of the Credentials list.

Troubleshooting

The key has a lowercase letter, a dash, a space, or starts with a digit. Rename it, for example stripe-key becomes STRIPE_KEY.
The key is on the reserved list above, either as an exact name such as CYBER_AUTH or by prefix such as AWS_. The message says “uses reserved prefix” in both cases. Add that access as a connection instead, or rename the key if it’s for a different service.
Add Credential never overwrites. Edit the existing credential to change its value, or use Import .env and select the row under Already in this workspace.
Both need the workspace Admin role. Ask a workspace admin to add the secret, or to change your role.

Next steps

Connections

Give agents access to your cloud accounts, databases, and tools

Approvals

Decide which agent writes run alone and which wait for a person

Bring your own key

Run model inference on your own LLM provider keys

Audit Logs

See when credentials were created, changed, or deleted, and by whom