A "native-like" OS X, Windows, & Linux desktop app for Google Allo
Switch branches/tags
Clone or download
kelyvin Update README.md
Better instructions for windows notifications
Latest commit fa6debf Jun 26, 2018


Google Allo for Desktop

Allo Home Page

A desktop app for Google Allo. This desktop app is supported by both Nativefier and Electron version ^1.7.6.

The Mac, Windows, and Linux apps can be downloaded from the latest release. The latest release includes both a light and dark theme version of the app.


The purpose of this project is to build dedicated desktop apps for Google Allo and leverage your OS's built in notification system.

This desktop app and project is not an official product of Google and I am not affiliated with Google in any way. You can read more about the purpose of this project here: https://www.caffeinecoding.com/validating-a-customer-need-with-rapid-experimentation/

Rebuilding the app

Requires nodejs


Install nativefier and make sure to have your optional dependencies set up to replace the icon.

npm install -g nativefier


nativefier --platform "mac" --icon allo-logo.png --name "Google Allo" "https://allo.google.com/web" --inject dark-theme.css --honest --disable-dev-tools --single-instance --tray


nativefier --platform "windows" --icon allo-logo.png --name "Google Allo" "https://allo.google.com/web" --inject dark-theme.css --honest --disable-dev-tools --single-instance --tray


nativefier --platform "linux" --icon allo-logo.png --name "Google Allo" "https://allo.google.com/web" --inject dark-theme.css --honest --disable-dev-tools --single-instance

Notifications on Windows

To receive notifications on Windows, you'll need to do the following:

  1. Add a shortcut of this app to the Start Menu folder
  2. In the "Windows Settings" app, check if the setting for "Show notifications in action center" is on (It might be off by default)

For developers

These instructions were the result of an active issue with electron + Windows 8/10 and is resolved by setting app.setAppUserModelId(process.execPath) within resources/app/lib/main.js during electron initialization:


const {app, shell} = electron;

app.setAppUserModelId(process.execPath);  // Include this line

function getFilenameFromMime(name, mime) {
  const exts = extName.mime(mime);