Skip to main content
Configure colors, fonts, density, and component variants.
After finishing the ChatKit quickstart, you can change themes and customize the embed. Use light or dark themes, set accent colors, control density and radius, and align ChatKit with your product’s visual style.

Overview

You usually customize the theme by passing an options object. If you embedded ChatKit using the ChatKit quickstart, you can use the React syntax below.
  • React: pass options to useChatKit({...})

Explore customization options

Visit ChatKit Studio to see the live implementation and interaction builder. If you prefer to learn by tinkering, these resources are a great starting point.

Change the theme

Match your product look by specifying colors, fonts, and more. The example below switches to dark mode, updates colors, tweaks radius and density, and sets the font. See more theme options in the ChatKit type definitions:

Customize start screen text

Adjust the input placeholder to guide users on what to ask or how to begin.

Offer sample prompts for new conversations

Provide prompts at the start of a session to steer users toward helpful actions.

Add custom buttons to the top bar

Use custom top-bar buttons for navigation, context, or integration-specific actions.

Enable file attachments (in development)

Attachments are off by default. To enable them, configure the attachment options. Unless you use a custom backend, you must choose the hosted upload strategy. For other strategies with a custom backend, see the Python SDK docs. You can also control the number, size, and type of files users can upload.

Enable @-mentions for entity chips (in development)

Let users @-mention custom entities to add richer context and interactions.
  • Use onTagSearch to return entities for the query.
  • Use onClick to handle entity click events.

Customize entity chip previews (in development)

Use widgets to customize how entity chips appear on hover. Show cards, document summaries, or images for rich previews.

Add custom composer tools (in development)

Let users trigger specific app actions from the composer toolbar. The selected tool is sent as the preferred tool to the model.

Toggle UI regions and features

Disable major UI regions and features if you plan to implement your own top bar or other options. You can also turn off history if it does not fit your scenario (for example, a support-style chatbot).

Override locale

If your app enforces a single language, override the default locale. By default, the locale follows the browser setting.