diff --git a/.changeset/rare-olives-switch.md b/.changeset/rare-olives-switch.md
new file mode 100644
index 0000000000000000000000000000000000000000..b90a14af4f86e52f2f8f4177dde808c955fb2353
--- /dev/null
+++ b/.changeset/rare-olives-switch.md
@@ -0,0 +1,5 @@
+---
+"llamaindex": patch
+---
+
+fix: propagate queryStr to concrete vectorStore
diff --git a/packages/llamaindex/src/indices/vectorStore/index.ts b/packages/llamaindex/src/indices/vectorStore/index.ts
index 994c73951aac4dfc9e558caa3010fd7330c4aa27..466f09657e6676688d899cfbe28acb39a9d443e6 100644
--- a/packages/llamaindex/src/indices/vectorStore/index.ts
+++ b/packages/llamaindex/src/indices/vectorStore/index.ts
@@ -18,6 +18,7 @@ import {
   type NodeWithScore,
 } from "@llamaindex/core/schema";
 import type { BaseIndexStore } from "@llamaindex/core/storage/index-store";
+import { extractText } from "@llamaindex/core/utils";
 import type { ServiceContext } from "../../ServiceContext.js";
 import { nodeParserFromSettingsOrContext } from "../../Settings.js";
 import { RetrieverQueryEngine } from "../../engines/query/RetrieverQueryEngine.js";
@@ -449,8 +450,13 @@ export class VectorIndexRetriever extends BaseRetriever {
     filters?: MetadataFilters,
   ): Promise<NodeWithScore[]> {
     // convert string message to multi-modal format
+
+    let queryStr = query;
     if (typeof query === "string") {
-      query = [{ type: "text", text: query }];
+      queryStr = query;
+      query = [{ type: "text", text: queryStr }];
+    } else {
+      queryStr = extractText(query);
     }
     // overwrite embed model if specified, otherwise use the one from the vector store
     const embedModel = this.index.embedModel ?? vectorStore.embedModel;
@@ -460,6 +466,7 @@ export class VectorIndexRetriever extends BaseRetriever {
       const queryEmbedding = await embedModel.getQueryEmbedding(item);
       if (queryEmbedding) {
         const result = await vectorStore.query({
+          queryStr,
           queryEmbedding,
           mode: VectorStoreQueryMode.DEFAULT,
           similarityTopK: this.topK[type]!,