diff --git a/apps/web/src/app/arcade/error.tsx b/apps/web/src/app/arcade/error.tsx
new file mode 100644
index 00000000..3149e54a
--- /dev/null
+++ b/apps/web/src/app/arcade/error.tsx
@@ -0,0 +1,191 @@
+'use client'
+
+import { useEffect } from 'react'
+import { PageWithNav } from '@/components/PageWithNav'
+import { css } from '../../../styled-system/css'
+
+export default function ArcadeError({
+ error,
+ reset,
+}: {
+ error: Error & { digest?: string }
+ reset: () => void
+}) {
+ useEffect(() => {
+ console.error('[Arcade Error Boundary]', error)
+ }, [error])
+
+ return (
+
+ The game encountered an unexpected error. You can try reloading the game, or return to the
+ arcade lobby.
+
+ Something Went Wrong
+
+
+ {/* Error message */}
+
+ Show technical details
+
+
+
+ {error.stack}
+
+ )}
+
+ The application encountered an unexpected error. You can try reloading the page, or + return to the home page. +
+ + {/* Action buttons */} +
+ {error.stack}
+
+ )}
+