---
title: LobeHub Feature Flags Environment Variables Configuration Guide
description: >-
  Learn how to use environment variables to customize LobeHub's feature flags,
  including controlling whether a feature is enabled or disabled, or enabling or
  disabling features for specific user groups or environments as needed.
tags:
  - LobeHub
  - Environment Variables
  - Configuration Guide
  - Feature Flags
---

# Feature Flags

In addition to basic environment variable configuration, LobeHub also offers feature flags to control whether a feature is enabled globally, or to enable or disable features for specific user groups or environments as needed.

## Feature Flags Environment Variable `FEATURE_FLAGS`

- Type: Optional
- Description: Used to control LobeHub's feature functionalities. Supports multiple feature flags, using `+` to add a feature and `-` to disable a feature. Separate multiple feature flags with a comma `,` and enclose the entire value in quotes `"` to avoid parsing errors.
- Default: `-`
- Example: `"-welcome_suggest"`

All features are controlled by the `FEATURE_FLAGS` variable as the sole configuration variable.

You can achieve various feature combinations using the above configuration syntax. All feature flags are Boolean values, enabled with `+` and disabled with `-`.

<Callout type={'tip'}>
  Attention: Unlike the `OPENAI_MODEL_LIST` variable, the `FEATURE_FLAGS` variable does not support
  the `all` keyword. You need to manually control all feature flags (otherwise, they will adopt
  their default values).
</Callout>

| Configuration Item        | Description                                                                                              | Default Value |
| ------------------------- | -------------------------------------------------------------------------------------------------------- | ------------- |
| `check_updates`           | Allows checking for updates.                                                                             | Enabled       |
| `pin_list`                | Controls pinned agent list display in sidebar.                                                           | Disabled      |
| `language_model_settings` | Enables language model settings.                                                                         | Enabled       |
| `provider_settings`       | Controls model provider settings display.                                                                | Enabled       |
| `openai_api_key`          | Allows users to customize the OpenAI API Key.                                                            | Enabled       |
| `openai_proxy_url`        | Allows users to customize the OpenAI proxy URL.                                                          | Enabled       |
| `api_key_manage`          | Controls access to API key management page (/profile/apikey).                                            | Disabled      |
| `create_session`          | Allows users to create sessions.                                                                         | Enabled       |
| `edit_agent`              | Allows users to edit assistants.                                                                         | Enabled       |
| `plugins`                 | Controls plugin functionality in chat and agent settings.                                                | Enabled       |
| `dalle`                   | Enables the DALL-E functionality.                                                                        | Enabled       |
| `ai_image`                | Controls AI image generation feature and page (/image).                                                  | Enabled       |
| `speech_to_text`          | Enables speech-to-text functionality.                                                                    | Enabled       |
| `token_counter`           | Reserved for token counter display.                                                                      | Enabled       |
| `welcome_suggest`         | Displays welcome suggestions.                                                                            | Enabled       |
| `changelog`               | Controls changelog modal/page display.                                                                   | Enabled       |
| `market`                  | Enables the assistant market functionality.                                                              | Enabled       |
| `knowledge_base`          | Enables the knowledge base functionality.                                                                | Enabled       |
| `rag_eval`                | Controls RAG evaluation feature (/repos/\[id]/evals).                                                    | Disabled      |
| `cloud_promotion`         | Controls cloud service promotion link display in user menu.                                              | Disabled      |
| `commercial_hide_github`  | Hides GitHub-related links in settings footer (requires commercial license).                             | Disabled      |
| `commercial_hide_docs`    | Hides documentation and help menu including changelog, docs, and feedback (requires commercial license). | Disabled      |

You can always check the [featureFlags](https://github.com/lobehub/lobehub/blob/main/src/config/featureFlags/schema.ts) to get the latest list of feature flags.

## Standalone Feature Enable/Disable Variables

In addition to the `FEATURE_FLAGS` system above, LobeHub provides dedicated environment variables to enable or disable specific features that depend on external infrastructure. These are standalone variables (not part of `FEATURE_FLAGS`):

| Environment Variable     | Default | Description                                                      | Requires                 |
| ------------------------ | ------- | ---------------------------------------------------------------- | ------------------------ |
| `ENABLED_ARTIFACTS`      | `1`     | Enable the Artifacts panel (Claude-style code/SVG/React preview) | —                        |
| `ENABLED_MCP`            | `1`     | Enable the Model Context Protocol plugin system                  | —                        |
| `ENABLED_UPLOAD`         | `1`     | Enable file upload functionality                                 | S3-compatible storage    |
| `ENABLED_KNOWLEDGE_BASE` | `1`     | Enable Knowledge Base and RAG features                           | S3 storage + PostgreSQL  |
| `ENABLED_WEB_SEARCH`     | `1`     | Enable web search integration (online search)                    | Searxng or search plugin |

Set to `0` to disable. For example, to disable file upload if you haven't configured S3:

```bash
ENABLED_UPLOAD=0
ENABLED_KNOWLEDGE_BASE=0
```

<Callout type={'info'}>
  `ENABLED_UPLOAD` and `ENABLED_KNOWLEDGE_BASE` should be disabled if you haven't configured
  S3-compatible storage, as file operations will fail without it.
</Callout>
