diff --git a/.changeset/witty-worms-marry.md b/.changeset/witty-worms-marry.md
new file mode 100644
index 0000000000000000000000000000000000000000..de775cf961d13bc6b7d333a9280e0955697b08f4
--- /dev/null
+++ b/.changeset/witty-worms-marry.md
@@ -0,0 +1,5 @@
+---
+"@llamaindex/core": patch
+---
+
+feat: add async support to BaseChatStore and BaseChatStoreMemory
diff --git a/packages/core/src/memory/base.ts b/packages/core/src/memory/base.ts
index ef468e5b9d12a653c686db3f0359a537186c4e01..6e2af2afca1d60e30a7e9cbbdcd45cb0a66a577d 100644
--- a/packages/core/src/memory/base.ts
+++ b/packages/core/src/memory/base.ts
@@ -71,15 +71,15 @@ export abstract class BaseChatStoreMemory<
     return this.chatStore.getMessages(this.chatStoreKey);
   }
 
-  put(messages: ChatMessage<AdditionalMessageOptions>) {
+  put(messages: ChatMessage<AdditionalMessageOptions>): void | Promise<void> {
     this.chatStore.addMessage(this.chatStoreKey, messages);
   }
 
-  set(messages: ChatMessage<AdditionalMessageOptions>[]) {
+  set(messages: ChatMessage<AdditionalMessageOptions>[]): void | Promise<void> {
     this.chatStore.setMessages(this.chatStoreKey, messages);
   }
 
-  reset() {
+  reset(): void | Promise<void> {
     this.chatStore.deleteMessages(this.chatStoreKey);
   }
 }
diff --git a/packages/core/src/storage/chat-store/base-chat-store.ts b/packages/core/src/storage/chat-store/base-chat-store.ts
index 80e6295e81f21021d33d1c517592167420b445b0..7cbefdbb998e09dcdec7b015964477548400c8d0 100644
--- a/packages/core/src/storage/chat-store/base-chat-store.ts
+++ b/packages/core/src/storage/chat-store/base-chat-store.ts
@@ -19,5 +19,7 @@ export abstract class BaseChatStore<
   ): void;
   abstract deleteMessages(key: string): void;
   abstract deleteMessage(key: string, idx: number): void;
-  abstract getKeys(): IterableIterator<string>;
+  abstract getKeys():
+    | IterableIterator<string>
+    | Promise<IterableIterator<string>>;
 }