# Disable

The disable command is used to disable features enabled by the enable command.

### Syntax

```
$ vela disable <feature>
```

The following features can be disabled:

- [`auth`](/docs/disable/auth) - Disable authentication
- [`whatsapp`](/docs/disable/whatsapp) - Disable WhatsApp sign-in
- [`api`](/docs/disable/api) - Disable the REST API
- [`api-keys`](/docs/disable/api-keys) - Disable API key management
- [`backend`](/docs/disable/backend) - Disable the PocketBase backend
- [`content-negotiation`](/docs/disable/content-negotiation) - Disable content negotiation
- [`i18n`](/docs/disable/i18n) - Disable internationalization
- [`notifications`](/docs/disable/notifications) - Disable in-app notifications
- [`analytics`](/docs/disable/analytics) - Disable web analytics
- [`ai`](/docs/disable/ai) - Disable AI chat
- [`teams`](/docs/disable/teams) - Disable teams
- [`payments`](/docs/disable/payments) - Disable payments
- [`subscriptions`](/docs/disable/subscriptions) - Disable Stripe subscriptions

### Options

Every feature that changes files prompts before it does so. Pass `-y` or `--yes` to skip that confirmation.

### Data

Disabling reverts the code Vela generated, and some features take their data with them: `disable backend` deletes the local database in `data/`, and features that added collections drop them with every record in them (auth's `oauth_accounts`, API keys, teams, notifications, payments and subscriptions). Everything else is left alone: `disable auth` keeps the `users` collection and its records, the databases on your deploy targets are never touched, and nothing is deleted at Stripe. Each page lists what it removes and what it leaves behind.