diff --git a/src/lib/components/chat/Messages/CodeBlock.svelte b/src/lib/components/chat/Messages/CodeBlock.svelte
index 90e747ce9..2ac9a335e 100644
--- a/src/lib/components/chat/Messages/CodeBlock.svelte
+++ b/src/lib/components/chat/Messages/CodeBlock.svelte
@@ -379,15 +379,27 @@ __builtins__.input = input`);
class="bg-[#202123] text-white max-w-full overflow-x-auto scrollbar-hidden"
/>
- {#if executing}
-
-
STDOUT/STDERR
-
{stdout || stderr || result}
+ {#if executing || stdout || stderr || result}
+
+ {#if executing}
+
+
STDOUT/STDERR
+
Running...
+
+ {:else}
+ {#if stdout || stderr}
+
+
STDOUT/STDERR
+
{stdout || stderr}
+
+ {/if}
+ {#if result}
+
+
RESULT
+
{`${result}`}
+
+ {/if}
+ {/if}
{/if}
{/if}
diff --git a/src/lib/workers/pyodide.worker.ts b/src/lib/workers/pyodide.worker.ts
index b27c00629..4c0e9d4ed 100644
--- a/src/lib/workers/pyodide.worker.ts
+++ b/src/lib/workers/pyodide.worker.ts
@@ -61,9 +61,16 @@ self.onmessage = async (event) => {
try {
self.result = await self.pyodide.runPythonAsync(code);
+
+ try {
+ self.result = self.result.toJSON();
+ } catch (error) {
+ console.error(error);
+ }
} catch (error) {
self.stderr = error.toString();
}
+
self.postMessage({ id, result: self.result, stdout: self.stdout, stderr: self.stderr });
};