diff --git a/src/components/LoginOptions.tsx b/src/components/LoginOptions.tsx
index 31461b05..6d98a694 100644
--- a/src/components/LoginOptions.tsx
+++ b/src/components/LoginOptions.tsx
@@ -22,15 +22,24 @@ const LoginOptions: React.FC = () => {
accountManager.setActive(account)
} catch (err) {
console.error('Extension login failed:', err)
- setError(
- <>
- Please install a nostr browser extension like{' '}
-
- nos2x
-
- {' '}and try again.
- >
- )
+ const errorMessage = err instanceof Error ? err.message : String(err)
+
+ // Check if extension is not installed
+ if (errorMessage.includes('window.nostr') || errorMessage.includes('not found') || errorMessage.includes('undefined')) {
+ setError(
+ <>
+ No browser extension found. Please install{' '}
+
+ nos2x
+
+ {' '}or another nostr extension.
+ >
+ )
+ } else if (errorMessage.includes('denied') || errorMessage.includes('rejected') || errorMessage.includes('cancel')) {
+ setError('Authentication was cancelled or denied.')
+ } else {
+ setError(`Authentication failed: ${errorMessage}`)
+ }
} finally {
setIsLoading(false)
}