FileReaderTool always disabled in standard (vector-DB-enabled) deployments
bug: FileReaderTool.is_available() returns DISABLE_VECTOR_DB, which is False in any standard deployment running OpenSearch or pgvector. As a result, _construct_tools_impl silently skips the tool for every request. Users who upload .xlsx or .csv files in chat are told the tool isn't available, even though the tool itself works correctly.
root cause:
backend/onyx/tools/tool_implementations/file_reader/file_reader_tool.py
@classmethod
def is_available(cls, db_session: Session) -> bool:
# TODO(evan): temporary – gate behind DISABLE_VECTOR_DB until the tool is
# generalised for standard (vector-DB-enabled) deployments.
return DISABLE_VECTOR_DBDISABLE_VECTOR_DB is False in all standard deployments, so this method always returns False. The tool is never constructed, never passed to the LLM, and the LLM reports it has no file reading capability.
Expected behavior
FileReaderTool should be available in standard deployments. It reads from the file store, which is independent of the vector DB.
Fix
@classmethod def is_available(cls, db_session: Session) -> bool: # noqa: ARG003 return True
Version: Confirmed in v4.1.1 through v4.1.7 and current main.
Source: onyx-dot-app/onyx