diff --git a/tools/ui/src/lib/components/app/dialogs/DialogSettingsChat.svelte b/tools/ui/src/lib/components/app/dialogs/DialogSettingsChat.svelte
new file mode 100644
index 0000000000..268a00442f
--- /dev/null
+++ b/tools/ui/src/lib/components/app/dialogs/DialogSettingsChat.svelte
@@ -0,0 +1,34 @@
+
+
+
+
+
+
+
+
+ Settings
+
+
+
+ {}} onClose={() => (open = false)} />
+
+
diff --git a/tools/ui/src/lib/components/app/dialogs/index.ts b/tools/ui/src/lib/components/app/dialogs/index.ts
index 39ed5fbbb0..1ffa7a2b9e 100644
--- a/tools/ui/src/lib/components/app/dialogs/index.ts
+++ b/tools/ui/src/lib/components/app/dialogs/index.ts
@@ -26,6 +26,15 @@ export { default as DialogMcpServerAddNew } from './DialogMcpServerAddNew.svelte
*/
export { default as DialogMcpServers } from './DialogMcpServers.svelte';
+/**
+ * **DialogSettingsChat** - Chat settings shown in a modal dialog
+ *
+ * Wraps the full SettingsChat layout (sidebar, mobile header, fields, footer)
+ * inside a ShadCN Dialog instead of a dedicated route. Section switching is
+ * handled in-app via `onSectionChange` rather than URL navigation.
+ */
+export { default as DialogSettingsChat } from './DialogSettingsChat.svelte';
+
/**
* **DialogExportSettings** - Settings export dialog with sensitive data warning
*