How to Enable Multi-Application Mode in Dify Chat: A Complete Guide

To enable multi-application mode in Dify Chat, you must provide a valid Dify API endpoint with API Base URL and Secret, deploy either the Platform (Next.js) or React-SPA front-end, and create at least two application configurations using the "添加应用配置" (Add App Config) UI flow.

The lexmin0412/dify-chat repository provides an open-source chat interface that supports managing multiple Dify applications from a single instance. Enabling multi-application mode allows you to switch between different AI apps without leaving the platform, streamlining workflow management across diverse use cases.

Prerequisites for Multi-Application Mode

Before configuring the interface, ensure you have the following components ready:

Dify API Credentials

You must obtain a valid API Base URL and API Secret (also referred to as API Key) from your Dify dashboard's "API Key" page. These credentials authenticate your Dify Chat instance and authorize access to the Dify backend endpoints.

Front-End Deployment

Deploy a Dify Chat instance using either the Platform (Next.js) build or the React-SPA build. According to the source documentation in packages/docs/docs/v0.4.x/guide/start/introduction.md, both front-ends support multi-application mode, though the Platform version serves as the canonical implementation with full feature support.

Configuring Multiple Applications via the UI

Once your instance is running—typically accessible at http://<host>:<port> after executing docker compose up via the docker-compose.yml file—follow this configuration workflow documented in packages/docs/docs/v0.4.x/guide/app-config/config-multiple/start.md:

Access the Configuration Interface

Navigate to the Dify Chat front-end and click the "添加应用配置" (Add App Config) button. This action opens a drawer form where you define the connection parameters for your first application.

Input Request Configuration

Fill in the 请求配置 (Request Config) section with your API Base URL and API Secret. These values establish the secure connection between your Dify Chat client and the Dify API server.

Select Application Type

Choose the 应用类型 (App type) for your configuration. The default selection is chat-assistant, though the interface allows switching to other Dify app types depending on your specific requirements.

Save and Verify

Click the save button to store your configuration. Upon successful creation, the UI displays a "添加配置成功" (Add success) notification, and the new entry appears in the application list. You must repeat this process for at least one additional application to activate the multi-application list view.

Switch Between Applications

Once you have saved two or more configurations, the interface renders a scrollable list of app cards. Clicking any card opens the dedicated chat page for that specific application, allowing you to switch contexts without logging out or opening multiple browser tabs.

Technical Implementation Patterns

While enabling multi-application mode requires no code changes, the repository demonstrates consistent mode-handling patterns throughout the codebase. For example, the file upload component in packages/react-app/src/components/chatbox/form-controls/file-upload.tsx uses optional mode parameters:

type Props = {
  mode?: 'multiple';          // default mode for file upload
  maxCount?: number;
  disabled?: boolean;
  allowed_file_types?: string[];
  value?: File[];
  onChange?: (files: File[]) => void;
};

const FileUpload = ({
  mode = 'multiple',
  maxCount,
  disabled,
  allowed_file_types,
  value,
  onChange,
}: Props) => { ... };

(Note: The above snippet illustrates UI mode patterns only; enabling multi-application mode is configured entirely through the web interface.)

Key Configuration Files

Understanding these repository locations helps when troubleshooting or extending multi-application functionality:

Summary

  • Multi-application mode requires valid Dify API credentials (API Base URL and Secret), a running Platform or React-SPA front-end, and multiple configurations added via the UI.
  • Create configurations by clicking "添加应用配置" and filling in the 请求配置 fields with your Dify API details.
  • The interface requires at least two saved applications to display the multi-app switcher view.
  • The Platform (Next.js) build is the canonical implementation for multi-app management, though React-SPA provides equivalent functionality.
  • All configuration occurs through the web interface without modifying source files like file-upload.tsx or other components.

Frequently Asked Questions

What is the difference between single-application and multi-application mode in Dify Chat?

Single-application mode binds the Dify Chat instance to one specific Dify app, loading it immediately on startup. Multi-application mode maintains a persistent list of configured apps in the UI, allowing you to switch between different Dify applications without restarting the interface or opening multiple browser tabs, as documented in packages/docs/docs/v0.4.x/guide/start/start.md.

Can I use multi-application mode with the React-SPA build?

Yes, both the Platform (Next.js) and React-SPA builds support multi-application mode according to packages/docs/docs/v0.4.x/guide/start/introduction.md. However, the Platform version is considered the canonical implementation and receives priority updates for multi-app management features.

Where do I obtain the API Base URL and API Secret?

You generate these credentials from your Dify dashboard's "API Key" page. The API Base URL points to your Dify instance endpoint, while the API Secret authenticates your client. Input both values into the 请求配置 (Request Config) fields when creating a new application configuration in the Dify Chat UI.

How many applications can I add to a single instance?

There is no explicit limit defined in the source code. You can add as many applications as needed by repeating the "添加应用配置" workflow. The interface supports scrolling through all saved configurations once you have created at least two entries, with each app running independently in its own chat context.

Have a question about this repo?

These articles cover the highlights, but your codebase questions are specific. Give your agent direct access to the source. Share this with your agent to get started:

Share the following with your agent to get started:
curl -s "https://instagit.com/install.md"

Works with
Claude Codex Cursor VS Code OpenClaw Any MCP Client

Maintain an open-source project? Get it listed too →