diff --git a/.changeset/add_hide_user_pass_fields.md b/.changeset/add_hide_user_pass_fields.md
new file mode 100644
index 000000000..4a7a98441
--- /dev/null
+++ b/.changeset/add_hide_user_pass_fields.md
@@ -0,0 +1,5 @@
+---
+sable: minor
+---
+
+Added config option `hideUsernamePasswordFields` for hosts to hide username and password fields from login page.
diff --git a/config.json b/config.json
index 4c2140f3a..24d3e65e5 100644
--- a/config.json
+++ b/config.json
@@ -5,6 +5,7 @@
"elementCallUrl": null,
"disableAccountSwitcher": false,
+ "hideUsernamePasswordFields": false,
"pushNotificationDetails": {
"pushNotifyUrl": "https://cinny.cc/_matrix/push/v1/notify",
diff --git a/src/app/hooks/useClientConfig.ts b/src/app/hooks/useClientConfig.ts
index deaf6dc18..4d6cec62a 100644
--- a/src/app/hooks/useClientConfig.ts
+++ b/src/app/hooks/useClientConfig.ts
@@ -12,6 +12,7 @@ export type ClientConfig = {
elementCallUrl?: string;
disableAccountSwitcher?: boolean;
+ hideUsernamePasswordFields?: boolean;
pushNotificationDetails?: {
pushNotifyUrl?: string;
diff --git a/src/app/pages/auth/login/Login.tsx b/src/app/pages/auth/login/Login.tsx
index 11df22a8f..fe895332b 100644
--- a/src/app/pages/auth/login/Login.tsx
+++ b/src/app/pages/auth/login/Login.tsx
@@ -37,6 +37,7 @@ const useLoginSearchParams = (searchParams: URLSearchParams): LoginPathSearchPar
export function Login() {
const server = useAuthServer();
const { hashRouter } = useClientConfig();
+ const { hideUsernamePasswordFields } = useClientConfig();
const { loginFlows } = useAuthFlows();
const [searchParams] = useSearchParams();
const loginSearchParams = useLoginSearchParams(searchParams);
@@ -62,7 +63,7 @@ export function Login() {
{parsedFlows.token && loginSearchParams.loginToken && (
)}
- {parsedFlows.password && (
+ {!hideUsernamePasswordFields && parsedFlows.password && (
<>