diff --git a/desktop/src/main.js b/desktop/src/main.js
--- a/desktop/src/main.js
+++ b/desktop/src/main.js
@@ -291,22 +291,25 @@
   (async () => {
     await app.whenReady();
 
+    const handleNotificationClick = (threadID?: string) => {
+      if (mainWindow && threadID) {
+        mainWindow.webContents.send('on-notification-clicked', {
+          threadID,
+        });
+      } else if (threadID) {
+        show(`chat/thread/${threadID}/`);
+      } else {
+        show();
+      }
+    };
+
     if (app.isPackaged) {
       try {
         initAutoUpdate();
       } catch (error) {
         console.error(error);
       }
-
-      listenForNotifications(threadID => {
-        if (mainWindow) {
-          mainWindow.webContents.send('on-notification-clicked', {
-            threadID,
-          });
-        } else {
-          show(`chat/thread/${threadID}/`);
-        }
-      });
+      listenForNotifications(handleNotificationClick);
       ipcMain.on('fetch-device-token', sendDeviceTokenToWebApp);
     }
 
diff --git a/desktop/src/push-notifications.js b/desktop/src/push-notifications.js
--- a/desktop/src/push-notifications.js
+++ b/desktop/src/push-notifications.js
@@ -92,8 +92,24 @@
 
 function showNewNotification(
   payload: { +[string]: mixed },
-  handleClick: (threadID: string) => void,
+  handleClick: (threadID?: string) => void,
 ) {
+  const windowsIconPath = resolve(__dirname, '../icons/icon.ico');
+  if (
+    typeof payload.error === 'string' &&
+    typeof payload.displayErrorMessage === 'boolean'
+  ) {
+    const notif = new Notification({
+      title: 'Comm notification',
+      body: payload.displayErrorMessage ? payload.error : undefined,
+      icon: process.platform === 'win32' ? windowsIconPath : undefined,
+    });
+
+    notif.on('click', () => handleClick());
+    notif.show();
+    return;
+  }
+
   if (
     typeof payload.title !== 'string' ||
     typeof payload.body !== 'string' ||
@@ -102,7 +118,6 @@
     return;
   }
   const { title, body, threadID } = payload;
-  const windowsIconPath = resolve(__dirname, '../icons/icon.ico');
   const notif = new Notification({
     title,
     body,
@@ -112,7 +127,7 @@
   notif.show();
 }
 
-function listenForNotifications(handleClick: (threadID: string) => void) {
+function listenForNotifications(handleClick: (threadID?: string) => void) {
   if (process.platform === 'darwin') {
     pushNotifications.on('received-apns-notification', (event, userInfo) => {
       showNewNotification(userInfo, handleClick);