Skip to main content

LibreChat is joining ClickHouse. Learn more

LibreChat

Assistants Endpoint Object Structure

This page applies to both the assistants and azureAssistants endpoints.

OpenAI removed the Assistants API on August 26, 2026, so the OpenAI assistants endpoint no longer works against OpenAI. Use Agents instead. See Assistants for details.

Note: To enable azureAssistants, see the Azure OpenAI Configuration for more information.

Example

endpoints:
  # azureAssistants: # <-- Azure-specific configuration has the same structure as `assistants`
    #  pollIntervalMs: 500
    #  timeoutMs: 10000

  assistants:
    disableBuilder: false
    # Use either `supportedIds` or `excludedIds` but not both
    supportedIds: ["asst_supportedAssistantId1", "asst_supportedAssistantId2"]
    # excludedIds: ["asst_excludedAssistantId"]
    # `privateAssistants` do not work with `supportedIds` or `excludedIds`
    # privateAssistants: false
    # (optional) Models that support retrieval, will default to latest known OpenAI models that support the feature
    # retrievalModels: ["gpt-4-turbo-preview"]
    # (optional) Assistant Capabilities available to all users. Omit the ones you wish to exclude. Defaults to list below.
    # capabilities: ["code_interpreter", "retrieval", "actions", "tools", "image_vision"]

This configuration enables the builder interface for assistants and limits the endpoint to two supported assistant IDs. The commented azureAssistants block shows how to set a 500ms polling interval and a 10 second run timeout.

disableBuilder

Key:

KeyTypeDescriptionExample
disableBuilderBooleanControls the visibility and use of the builder interface for assistants.When set to `true`, disables the builder interface for the assistant, limiting direct manual interaction.

Default: false

Example:

disableBuilder: false

pollIntervalMs

Key:

KeyTypeDescriptionExample
pollIntervalMsIntegerSpecifies the polling interval in milliseconds for checking run updates or changes in assistant run states.Specifies the polling interval in milliseconds for checking assistant run updates.

Default: 2000

Example:

pollIntervalMs: 2500

Note: The value is read from the configuration of the endpoint that serves the run, so it applies to both assistants and azureAssistants. Higher values are recommended for Azure Assistants to avoid rate limiting errors.

timeoutMs

Key:

KeyTypeDescriptionExample
timeoutMsIntegerDefines the maximum time in milliseconds that an assistant can run before the request is cancelled.Sets a timeout in milliseconds for assistant runs. Helps manage system load by limiting total run operation time.

Default: 180000

Example:

timeoutMs: 10000

Note: Defaults to 3 minutes (180,000 ms). Run operation times can range between 50 seconds to 2 minutes but also exceed this. If the timeoutMs value is exceeded, the run will be cancelled.

version

Key:

KeyTypeDescriptionExample
versionString or NumberAPI version used for the endpoint.Defaults to 2. azureAssistants defaults to 1 when endpoints.azureOpenAI.assistants is enabled, otherwise 2.

Default: 2; azureAssistants defaults to 1 when endpoints.azureOpenAI.assistants is enabled

Example:

version: 1

models

Key:

KeyTypeDescriptionExample
modelsObjectControls the model list for the endpoint.Optional. Same structure as the custom endpoint [models](/docs/configuration/librechat_yaml/object_structure/custom_endpoint#models) field.

Sub-keys:

KeyTypeDescriptionExample
defaultArray/List of Strings or ObjectsModels to list for the endpoint. Required when models is set; at least one item.
fetchBooleanFetch the model list from the endpoint.
userIdQueryBooleanSend the LibreChat user ID as a query parameter when fetching models.

Example:

models:
  default: ["gpt-4o"]
  fetch: false

supportedIds

Key:

KeyTypeDescriptionExample
supportedIdsArray/List of StringsList of supported assistant IdsUse this or `excludedIds` but not both (the `excludedIds` field will be ignored if so).

Example:

supportedIds:
  - "asst_supportedAssistantId1"
  - "asst_supportedAssistantId2"

excludedIds

Key:

KeyTypeDescriptionExample
excludedIdsArray/List of StringsList of excluded assistant IdsUse this or `supportedIds` but not both (the `excludedIds` field will be ignored if so).

Example:

excludedIds:
  - "asst_excludedAssistantId1"
  - "asst_excludedAssistantId2"

privateAssistants

Key:

KeyTypeDescriptionExample
privateAssistantsBooleanControls whether assistants are private to the user that created themDoes not work with `supportedIds` or `excludedIds` (`supportedIds` and `excludedIds` will be ignored).

Default: false

Example:

privateAssistants: false

retrievalModels

Key:

KeyTypeDescriptionExample
retrievalModelsArray/List of StringsSpecifies the models that support retrieval for the assistants endpoint.Defines the models that support retrieval capabilities for the assistants endpoint. By default, it uses the latest known OpenAI models that support the official Retrieval feature.

Default: [] (uses the latest known OpenAI models that support retrieval)

Example:

retrievalModels:
  - "gpt-4-turbo-preview"

capabilities

Key:

KeyTypeDescriptionExample
capabilitiesArray/List of StringsSpecifies the assistant capabilities available to all users for the assistants endpoint.Defines the assistant capabilities that are available to all users for the assistants endpoint. You can omit the capabilities you wish to exclude from the list.

Default: ["code_interpreter", "image_vision", "retrieval", "actions", "tools"]

Example:

capabilities:
  - "code_interpreter"
  - "retrieval"
  - "actions"
  - "tools"
  - "image_vision"

Note: This field is optional. If omitted, the default behavior is to include all the capabilities listed in the example.

How is this guide?