# Azion CLI unlink

O comando `unlink` da Azion CLI desvincula da Azion o projeto do diretório atual ao remover a pasta `azion` dele. Se você pedir, ele também exclui os recursos remotos do projeto. Use-o, por exemplo, antes de vincular a pasta a outra aplicação. As opções que todo comando aceita, como `--format`, `--out` e `-y`, estão em [Opções globais](/pt-br/documentacao/devtools/cli/globals/).

---

## Uso

`azion unlink` é executado na pasta do projeto e faz duas perguntas antes de mudar qualquer coisa:

```bash
azion unlink [flags]
```

O comando não tem flags próprias. `-h` ou `--help` imprime a ajuda do comando.

| Pergunta                                                   | Resposta `y`                                                    | Resposta `n`                                            |
| ---------------------------------------------------------- | --------------------------------------------------------------- | ------------------------------------------------------- |
| `Do you want to unlink this project? (y/N)`                | Faz a segunda pergunta.                                         | Encerra o comando. A pasta do projeto fica como estava. |
| `Would you like to delete remote resources as well? (y/N)` | Inicia uma exclusão em cascata dos recursos remotos do projeto. | Remove a pasta `azion` e mantém os recursos remotos.    |

A desvinculação remove somente a pasta `azion`. A pasta `.edge`, o arquivo `azion.config.cjs` ou `azion.config.mjs` e as linhas que a CLI adicionou ao `.gitignore` continuam no projeto. Quando os recursos remotos são mantidos, você pode vincular a pasta de novo depois.

> **Atenção**
>
> `azion unlink -y` responde sim às duas perguntas, então também exclui os recursos remotos que o [azion deploy](/pt-br/documentacao/devtools/cli/deploy/) criou para o projeto. Para mantê-los, execute `azion unlink` sem `-y` e responda `n` à segunda pergunta.

A exclusão em cascata lê o ID da aplicação em `azion/azion.json`. Em um projeto que nunca teve deploy, o arquivo não tem ID, então o comando para com um erro e não remove nada.

---

## Exemplos

Cada exemplo mostra o comando e a saída que ele imprime.

### Desvincular e manter os recursos remotos

Este comando desvincula o projeto do diretório atual. Responda `y` à primeira pergunta e `n` à segunda:

```bash
azion unlink
```

O comando imprime as duas perguntas com as suas respostas e confirma a desvinculação:

```text
🤔 Do you want to unlink this project? (y/N) y
🤔 Would you like to delete remote resources as well? (y/N) n
Unliked successfully
```

A pasta `azion` não está mais no projeto. A pasta `.edge`, o `azion.config.cjs` e as entradas do `.gitignore` não mudam.

### Desvincular um projeto que nunca teve deploy

Este comando responde sim às duas perguntas em um projeto que tem uma pasta `azion`, mas ainda não teve deploy:

```bash
azion unlink -y
```

A exclusão em cascata não encontra nenhum ID de aplicação, e o comando termina com o código `1`:

```text
Cascade deleting resources
Error: Application ID is missing from azion.json. Please initialize and deploy your project before using cascade delete
```

A pasta do projeto mantém todos os arquivos, incluindo a pasta `azion`. Para desvincular esse projeto, execute `azion unlink` sem `-y` e responda `n` à segunda pergunta.

---

## Recursos relacionados

- [Opções globais](/pt-br/documentacao/devtools/cli/globals.md): As opções que todo comando aceita, como `-y`, que responde sim a toda pergunta de sim ou não.
- [Azion CLI link](/pt-br/documentacao/devtools/cli/link-comando.md): O comando que cria a pasta `azion` que o unlink remove.
- [Azion CLI reset](/pt-br/documentacao/devtools/cli/reset.md): O comando que restaura os padrões das configurações armazenadas da CLI.
- [Azion CLI login](/pt-br/documentacao/devtools/cli/login.md): O comando que autentica a CLI antes de você vincular um projeto ou fazer o deploy dele.
