Skip to content

Flow Builder Assistant doesn't recognize LANGFLOW_COMPONENTS_PATH bundle components as custom components — reports them as built-ins or omits them entirely #13619

@kartikgajjar

Description

@kartikgajjar

Use latest reply, it has updated information

Bug Description

When custom components are installed via LANGFLOW_COMPONENTS_PATH (the documented way to ship a directory of custom component bundles), the Flow Builder Assistant has no way to recognize them as custom/user components:

  1. The component registry carries no origin marker. Bundle components appear in search_components results under their folder name as the category (e.g. acme_tools, acme_data) with internal names like ext:<bundle>:<ClassName>@extra (1.10 extension naming). Nothing in the returned fields distinguishes them from built-in bundles like openai or google.

  2. The assistant's system prompt only covers session-generated components. The "User-generated components (CRITICAL)" section of langflow/agentic/flows/flow_builder_assistant.py describes components created via generate_component in the current session, but never mentions LANGFLOW_COMPONENTS_PATH bundles. The only category the model can associate with "custom" is custom_component — which contains just the built-in Custom Component placeholder and session-generated components.

Observed Behavior

Instance with 24 custom components installed across 4 bundle folders (LANGFLOW_COMPONENTS_PATH=./custom_components, all loading correctly and usable on the canvas). User asks the assistant:

"list all custom component names, even if they are not part of the current flow"

The assistant calls search_components (no args, full registry — all 24 bundle components are present in the result), then answers:

"These are the only two custom (non-built-in) components available in your registry. All other 280+ components belong to standard Langflow categories."

…listing only one component that happened to be on the canvas and one session-generated component from the custom_component category. The 24 installed bundle components were classified as "standard Langflow categories" and omitted.

Expected Behavior

The assistant should report operator-installed bundle components as custom components. Concretely, either or both of:

  • search_components exposes an origin field (e.g. source: "builtin" | "components_path" | "generated"), so the model doesn't have to infer it from category names, and/or
  • The Flow Builder system prompt documents that LANGFLOW_COMPONENTS_PATH bundles appear under their folder-name categories with ext:<bundle>:<Class>@extra names and must be treated as custom components.

Steps to Reproduce

  1. pip install langflow==1.10.0.
  2. Set LANGFLOW_COMPONENTS_PATH to a directory containing one or more bundle folders with valid custom components.
  3. Start Langflow, confirm the components appear in the sidebar and the registry (search_components returns them under the folder-name category).
  4. Ask the Flow Builder Assistant to "list all custom component names, even if they are not part of the current flow."
  5. The assistant reports only the custom_component category and omits every installed bundle component.

Suggested Fix

Minimal (prompt-only): add to the "User-generated components (CRITICAL)" section of flow_builder_assistant.py:

Components installed from the operator's components path (LANGFLOW_COMPONENTS_PATH bundles) are ALSO custom/user components, not built-ins. They appear in search_components under their bundle folder's category (the folder name, not custom_component) with internal names like ext:<bundle>:<ClassName>@extra. When the user asks about their "custom components", include BOTH session-generated components AND every component from these bundle categories — do not report only the custom_component category.

More robust (data): have list_all_components / search_components include an explicit origin/source field for each component so the distinction doesn't rely on prompt knowledge.

Reproduction

  1. pip install langflow==1.10.0.
  2. Set LANGFLOW_COMPONENTS_PATH to a directory containing one or more bundle folders with valid custom components.
  3. Start Langflow, confirm the components appear in the sidebar and the registry (search_components returns them under the folder-name category).
  4. Ask the Flow Builder Assistant to "list all custom component names, even if they are not part of the current flow."
  5. The assistant reports only the custom_component category and omits every installed bundle component.

Expected behavior

The assistant should report operator-installed bundle components as custom components. Concretely, either or both of:

  • search_components exposes an origin field (e.g. source: "builtin" | "components_path" | "generated"), so the model doesn't have to infer it from category names, and/or
  • The Flow Builder system prompt documents that LANGFLOW_COMPONENTS_PATH bundles appear under their folder-name categories with ext:<bundle>:<Class>@extra names and must be treated as custom components.

Environment

  • Langflow: 1.10.0 (pip install)
  • lfx: 1.10.0
  • Python: 3.13
  • OS: Windows 11
  • LANGFLOW_COMPONENTS_PATH=./custom_components with 4 bundle folders / 24 components, all loading and usable on canvas

Who can help?

@Cristhianzl

Same install also hit the component_code_search silent-empty-column defect in the bundled LangflowAssistant flow (filed separately).

Operating System

Windows 11

Langflow Version

1.10.1

Python Version

3.12

Screenshot

flow_builder_assistant.py

Flow File

No response

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingjiraThis issue has been logged in Jira for fix by the engineering team.

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions