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

# Environment Variables

> Configure plain-text key-value pairs injected into your environment at runtime

Environment variables are plain-text key-value pairs injected into your environment at runtime. They are suited for non-sensitive configuration — things like model names, difficulty levels, dataset paths, or feature flags.

For sensitive values such as API keys, use [Secrets](/tutorials-environments/secrets) instead.

## Managing Variables

Variables are managed per-environment under the **Secrets** tab.

1. Open your environment in the [Environments Hub](https://app.primeintellect.ai/dashboard/environments)
2. Go to the **Secrets** tab and select **Variables**
3. Click **Add Variable**
4. Set a **Name**, **Value**, and optional description

Variables can be edited or deleted at any time by anyone with write access to the environment.

## Managing via CLI

```bash theme={null}
prime env var list owner/my-env                                     # list all variables
prime env var create owner/my-env --name MY_VAR --value hello       # create a variable
prime env var update <var-id> owner/my-env --value new-value        # update a variable
prime env var delete <var-id> owner/my-env                          # delete a variable
```

## Naming Rules

Variable names follow env-var conventions:

* Must start with an uppercase letter
* Can contain uppercase letters, digits, and underscores only
* Example: `MODEL_NAME`, `DIFFICULTY`, `MAX_EXAMPLES`

## Where Variables Are Available

Variables are injected automatically for all hosted services:

* Environment Actions
* Hosted Evaluations
* Hosted Training

## Variables vs Secrets

|                            | Environment Variables | Secrets                   |
| -------------------------- | --------------------- | ------------------------- |
| **Stored as**              | Plain text            | Encrypted                 |
| **Visible after creation** | Yes                   | No                        |
| **Use for**                | Non-sensitive config  | API keys, credentials     |
| **Scope**                  | Per-environment       | Per-environment or global |

When both a variable and a secret share the same name, the secret takes priority. See [Secrets](/tutorials-environments/secrets) for the full precedence rules.

## Conflict Rules

A variable name cannot conflict with an existing linked secret on the same environment. If you try to create a variable with a name already used by a linked secret, the platform will reject it. Rename or unlink the secret first.
