---
title: '`glab opentofu init`'
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.
-->

Initialize OpenTofu or Terraform.

## Synopsis

Configures the GitLab HTTP backend for OpenTofu or Terraform state
and runs `tofu init`. You must run this command from a GitLab
project repository.

```plaintext
glab opentofu init <state> [flags]
```

## Examples

```console
# Initialize state with name production in working directory
glab opentofu init production

# Initialize state with name production in infra/ directory
glab opentofu init production -d infra/

# Initialize state with name production with Terraform
glab opentofu init production -b terraform

# Initialize state with name production with reconfiguring state
glab opentofu init production -- -reconfigure
```

## Options

```plaintext
  -b, --binary string      Name or path of the OpenTofu or Terraform binary to use for the initialization. (default "tofu")
  -d, --directory string   Directory of the OpenTofu or Terraform project to initialize. (default ".")
```

## 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.
```
