# atmos toolchain set

Set or update the version of a specific tool in your toolchain configuration. This allows you to pin tool versions for consistent execution across your components and workflows, or upgrade to newer versions when ready.

## Usage

Execute the `toolchain set` command like this:

```shell
atmos toolchain set <tool> <version>
```

## Examples

```shell
atmos toolchain set terraform 1.11.4
atmos toolchain set hashicorp/terraform 1.11.4
atmos toolchain set terraform  # Interactive version selection
atmos toolchain --tool-versions=/path/to/.tool-versions set kubectl 1.28.0
```

To target a `.tool-versions` file other than the default, use the `toolchain` parent command's
persistent `--tool-versions` flag (or the `ATMOS_TOOL_VERSIONS` environment variable) before the
`set` subcommand, as shown above.

## Arguments

- **`tool` (required)**

  Tool to set the version for. Can be a short name (alias) or full `owner/repo` format.

  Examples: `terraform`, `kubectl`, `hashicorp/terraform`
- **`version` (optional)**

  The version to set as default. If omitted, interactive version selection is used.

  Examples: `1.9.8`, `1.28.0`

## Flags

`toolchain set` has no flags of its own. To use a `.tool-versions` file other than the default,
pass the `toolchain` parent command's persistent `--tool-versions` flag, for example:

```shell
atmos toolchain --tool-versions=/path/to/.tool-versions set kubectl 1.28.0
```
