# Push and Pull

> Push and pull your secrets to and from Shelve.

The `push` and `pull` commands enable you to send your secrets to Shelve and retrieve them back to your local machine. This is the essential feature of Shelve CLI, as it lets you securely store your secrets in Shelve and access them from your local machine, while also allowing you to share them with your team.

## Push

The `push` command allows you to send your secrets to Shelve. When you run the `push` command, you will be prompted to enter the environment name where you want to store your secrets.

```bash [terminal]
shelve push
```

## Pull

The `pull` command allows you to retrieve your secrets from Shelve. When you run the `pull` command, you will be prompted to enter the environment name from which you want to retrieve your secrets.

```bash [terminal]
shelve pull
```

### Options

<field-group>
<field name="env" type="string">

Specify the environment to which you want to push or pull the variables

</field>
</field-group>

You can configure a default environment in your `shelve.json` file to bypass the env prompt:

```json [shelve.json]
{
  "defaultEnv": "development",
  "slug": "shelve"
}
```
