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:
-
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.
-
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
pip install langflow==1.10.0.
- Set
LANGFLOW_COMPONENTS_PATH to a directory containing one or more bundle folders with valid custom components.
- Start Langflow, confirm the components appear in the sidebar and the registry (
search_components returns them under the folder-name category).
- Ask the Flow Builder Assistant to "list all custom component names, even if they are not part of the current flow."
- 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
pip install langflow==1.10.0.
- Set
LANGFLOW_COMPONENTS_PATH to a directory containing one or more bundle folders with valid custom components.
- Start Langflow, confirm the components appear in the sidebar and the registry (
search_components returns them under the folder-name category).
- Ask the Flow Builder Assistant to "list all custom component names, even if they are not part of the current flow."
- 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
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:The component registry carries no origin marker. Bundle components appear in
search_componentsresults under their folder name as the category (e.g.acme_tools,acme_data) with internal names likeext:<bundle>:<ClassName>@extra(1.10 extension naming). Nothing in the returned fields distinguishes them from built-in bundles likeopenaiorgoogle.The assistant's system prompt only covers session-generated components. The "User-generated components (CRITICAL)" section of
langflow/agentic/flows/flow_builder_assistant.pydescribes components created viagenerate_componentin the current session, but never mentionsLANGFLOW_COMPONENTS_PATHbundles. The only category the model can associate with "custom" iscustom_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:The assistant calls
search_components(no args, full registry — all 24 bundle components are present in the result), then answers:…listing only one component that happened to be on the canvas and one session-generated component from the
custom_componentcategory. 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_componentsexposes an origin field (e.g.source: "builtin" | "components_path" | "generated"), so the model doesn't have to infer it from category names, and/orLANGFLOW_COMPONENTS_PATHbundles appear under their folder-name categories withext:<bundle>:<Class>@extranames and must be treated as custom components.Steps to Reproduce
pip install langflow==1.10.0.LANGFLOW_COMPONENTS_PATHto a directory containing one or more bundle folders with valid custom components.search_componentsreturns them under the folder-name category).custom_componentcategory and omits every installed bundle component.Suggested Fix
Minimal (prompt-only): add to the "User-generated components (CRITICAL)" section of
flow_builder_assistant.py:More robust (data): have
list_all_components/search_componentsinclude an explicit origin/source field for each component so the distinction doesn't rely on prompt knowledge.Reproduction
pip install langflow==1.10.0.LANGFLOW_COMPONENTS_PATHto a directory containing one or more bundle folders with valid custom components.search_componentsreturns them under the folder-name category).custom_componentcategory 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_componentsexposes an origin field (e.g.source: "builtin" | "components_path" | "generated"), so the model doesn't have to infer it from category names, and/orLANGFLOW_COMPONENTS_PATHbundles appear under their folder-name categories withext:<bundle>:<Class>@extranames and must be treated as custom components.Environment
LANGFLOW_COMPONENTS_PATH=./custom_componentswith 4 bundle folders / 24 components, all loading and usable on canvasWho can help?
@Cristhianzl
Same install also hit the
component_code_searchsilent-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