diff --git a/packages/create-llama/templates/types/simple/express/index.ts b/packages/create-llama/templates/types/simple/express/index.ts
index 70a43ab580aff93df60948076464b9c35bb6f167..90e67278de93c1189341e432776d29f03108319b 100644
--- a/packages/create-llama/templates/types/simple/express/index.ts
+++ b/packages/create-llama/templates/types/simple/express/index.ts
@@ -13,7 +13,7 @@ if (isDevelopment) {
   app.use(cors());
 }
 
-app.use(express.json());
+app.use(express.text());
 
 app.get("/", (req: Request, res: Response) => {
   res.send("LlamaIndex Express Server");
diff --git a/packages/create-llama/templates/types/simple/express/src/controllers/chat.controller.ts b/packages/create-llama/templates/types/simple/express/src/controllers/chat.controller.ts
index 476c0c35d51b7c8259c59035e9cac82f66f37ac1..dd4532ffde1f611545a0b406899eb73c657ca11b 100644
--- a/packages/create-llama/templates/types/simple/express/src/controllers/chat.controller.ts
+++ b/packages/create-llama/templates/types/simple/express/src/controllers/chat.controller.ts
@@ -4,7 +4,7 @@ import { createChatEngine } from "./engine";
 
 export const chat = async (req: Request, res: Response, next: NextFunction) => {
   try {
-    const { messages }: { messages: ChatMessage[] } = req.body;
+    const { messages }: { messages: ChatMessage[] } = JSON.parse(req.body);
     const lastMessage = messages.pop();
     if (!messages || !lastMessage || lastMessage.role !== "user") {
       return res.status(400).json({
diff --git a/packages/create-llama/templates/types/streaming/express/index.ts b/packages/create-llama/templates/types/streaming/express/index.ts
index 70a43ab580aff93df60948076464b9c35bb6f167..90e67278de93c1189341e432776d29f03108319b 100644
--- a/packages/create-llama/templates/types/streaming/express/index.ts
+++ b/packages/create-llama/templates/types/streaming/express/index.ts
@@ -13,7 +13,7 @@ if (isDevelopment) {
   app.use(cors());
 }
 
-app.use(express.json());
+app.use(express.text());
 
 app.get("/", (req: Request, res: Response) => {
   res.send("LlamaIndex Express Server");
diff --git a/packages/create-llama/templates/types/streaming/express/src/controllers/chat.controller.ts b/packages/create-llama/templates/types/streaming/express/src/controllers/chat.controller.ts
index 162b5db74da1802749fe9168860bf0f5ff094a8c..efa05479614fcb36de52e90fa47a0026b73db468 100644
--- a/packages/create-llama/templates/types/streaming/express/src/controllers/chat.controller.ts
+++ b/packages/create-llama/templates/types/streaming/express/src/controllers/chat.controller.ts
@@ -6,7 +6,7 @@ import { LlamaIndexStream } from "./llamaindex-stream";
 
 export const chat = async (req: Request, res: Response, next: NextFunction) => {
   try {
-    const { messages }: { messages: ChatMessage[] } = req.body;
+    const { messages }: { messages: ChatMessage[] } = JSON.parse(req.body);
     const lastMessage = messages.pop();
     if (!messages || !lastMessage || lastMessage.role !== "user") {
       return res.status(400).json({