---
title: '`glab variable set`'
stage: Create
group: Code Review
info: To determine the technical writer assigned to the Stage/Group associated with this page, see <https://handbook.gitlab.com/handbook/product/ux/technical-writing/#assignments>
---

<!--
This documentation is auto generated by a script.
Please do not edit this file directly. Run `make gen-docs` instead.
-->

Create a new variable for a project or group.

## Synopsis

You can pass the variable value from standard input. Use `--group`
to set a variable for a group instead of the current project.

```plaintext
glab variable set <key> <value> [flags]
```

## Aliases

```plaintext
new
create
```

## Examples

```console
glab variable set WITH_ARG "some value"
glab variable set WITH_DESC "some value" --description "some description"
glab variable set FROM_FLAG -v "some value"
glab variable set FROM_ENV_WITH_ARG "${ENV_VAR}"
glab variable set FROM_ENV_WITH_FLAG -v"${ENV_VAR}"
glab variable set FROM_FILE < secret.txt
cat file.txt | glab variable set SERVER_TOKEN
cat token.txt | glab variable set GROUP_TOKEN -g mygroup --scope=prod
```

## Options

```plaintext
  -d, --description string   Set description of a variable.
  -g, --group string         Set variable for a group.
      --hidden               Whether the variable is hidden.
  -m, --masked               Whether the variable is masked.
  -p, --protected            Whether the variable is protected.
  -r, --raw                  Whether the variable is treated as a raw string.
  -s, --scope string         The environment_scope of the variable. Values: all (*), or specific environments. (default "*")
  -t, --type string          The type of a variable: env_var, file. (default "env_var")
  -v, --value string         The value of a variable.
```

## Options inherited from parent commands

```plaintext
  -h, --help          Show help for this command.
  -R, --repo string   Select another repository. You can use either OWNER/REPO or GROUP/NAMESPACE/REPO. The full URL or Git URL is also accepted.
```
