Blog

A Reddit desktop app for Mac, Windows and Linux

Popular sites · · 8 min read

Reddit's help center points to the App Store for iPhone and Google Play for Android, and its app articles do not mention a desktop app, so on a computer Reddit is the website. Pake wraps reddit.com in a window of its own, with a launcher entry, a size you choose and links to other sites opening in your browser. It is the same web page as in a browser, so you test sign-in and notifications before relying on it.

What Reddit offers

Reddit's help article Where can I download the official Reddit mobile app? says to get the app from the store of your device, App Store on iOS and Google Play on Android. A second article on minimum supported versions covers the same two platforms, and tells users whose device is too old to use mobile web. Neither page lists a Mac, Windows or Linux app, as of November 2026.

That is the gap a Pake window fills. It does not add features that the website lacks, and anything that exists only in the phone apps stays on the phone.

Which Pake fits your system

Pake CLI is free, open source, and builds on Mac, Windows and Linux. It needs Node.js 20.9 or later and Rust 1.85 or later, plus WebKitGTK development packages on Linux, and the getting started guide and CLI FAQ list the rest. On Linux it builds .deb, .rpm and .AppImage packages, and --targets zst gives an Arch package, so it also covers the distributions the desktop app does not.

The Pake desktop app needs none of those tools. It runs on macOS 14 or later, Windows 10 version 2004 or later (x64 and ARM64) and, on Linux, Arch-based systems such as Omarchy on x86_64. On Ubuntu or Fedora, use the CLI. The app's install page has the requirements, and Create an app describes the form.

Build it with the CLI

npm install -g pake-cli
pake https://www.reddit.com --name Reddit --width 1100 --height 800 --hide-on-close --show-system-tray

--name sets the app name. --width and --height set the starting window size, 1200 by 780 by default. --hide-on-close makes the close button hide the window instead of quitting, and --show-system-tray adds a tray icon so you can bring it back. The first build compiles dependencies and is the slowest, later builds are faster. On a Mac the default output is a DMG, and --install copies the app into /Applications for you.

Build it with the desktop app

Open Pake, paste https://www.reddit.com on the Create tab, and check the name and icon it fills in. Under Window set Size (Window size on Windows), under Behavior turn on Hide on close if you want it to stay running, then click Create App. It takes a few seconds, and Open starts the result. Each new app uses one of your free apps unless you have a license, see the install page.

Reddit is mostly links, and the link rule decides where they open. Pake keeps a link inside the app when its host is the same as the app's address or shares its root domain, so any reddit.com subdomain stays, and opens other links in your default browser. Reddit posts that link to news sites, repositories or videos therefore leave the app and open in the browser, which is usually what you want from a reader.

Two settings change this. --safe-domain takes a comma-separated list of domains that should stay inside, and it matches those hosts and their subdomains, not paths or query text. The list replaces the default rule, so keep reddit.com in it and add the other host:

pake https://www.reddit.com --name Reddit --safe-domain reddit.com,redd.it

--internal-url-regex does the same with a pattern you write, and wins if both are set. The desktop app has the regex under Advanced as Internal URL regex. --force-internal-navigation keeps every link inside, which is the opposite of a reader, so leave it off. After building, click a link to another site and a link to another subreddit to confirm each goes where you expect. redd.it is Reddit's short-link and image host. If a Reddit link on another host still opens in the browser, read the host in the browser's address bar and add it to the list.

Sign-in

Reddit has its own username and password sign-in, and that form works in a Pake window like on any page. The buttons for Google or Apple are different: Google refuses sign-in inside embedded browsers, and its error is disallowed_useragent, which no Pake setting changes. The Google sign-in guide explains the three look-alike failures and how to tell them apart.

Pake keeps sign-in pages inside the current window on Mac and Linux, and opens pop-ups on Windows when the new-window option is on, which is Open new windows in the app in the desktop app and --new-window in the CLI. Sign in with Apple is the exception, it keeps the native pop-up path. If you use Reddit through Google, sign in once in the app, and if the page refuses, use a browser or set a Reddit password if you can.

Pake does not start in a private mode unless you ask. Quit and reopen once to confirm you stay signed in, and if you are asked again, check that you did not build with --incognito (Incognito in the desktop app).

Notifications

Reddit's notifications article says that on reddit.com you open Settings, click the Notifications tab and toggle each type. That page does not say whether the website sends system alerts, and a Pake app only passes along what the page requests. The page asks through the standard Notification API, Pake answers that permission is already granted and hands each alert to the system.

So test it: turn on a notification type, get a reply from another account or device, and see whether a banner arrives while the app is in the background. The notifications guide covers the delivery path, system Focus modes and what a click does on each system. Alerts only reach you while the app is running, which is the reason for Hide on close or --hide-on-close.

Tidy the page with CSS

Pake can inject a stylesheet into every page the app opens. With the CLI it is --inject ./reddit.css, and the desktop app has Inject CSS under Advanced. The injection guide has the details. A minimal file looks like this:

body {
  font-size: 17px;
}

Whether Reddit's text follows that rule depends on how its own stylesheet sizes text, and Reddit changes its markup without notice. To target one part of the page, build with --debug, which enables developer tools, inspect the element and copy its selector into the file. A rule whose selector stops matching after a redesign does nothing, and you edit one line and rebuild.

Window size and always on top

The default 1200 by 780 suits a feed with a sidebar. A narrower window can sit next to an editor as a side window, and the layout follows the width like in a browser, so narrow it until the feed still reads well for you. The window customization guide covers size and title bar options.

To keep that window in front, use --always-on-top, or Always on top under Window in the desktop app. The always on top guide says where it works and where it does not. Linux compositors differ, so test it on yours.

What to check

The Pake window runs the system WebView, WKWebView on Mac, WebView2 on Windows and WebKitGTK on Linux, so Reddit behaves as it would in that engine. Check four things after building: the feed scrolls smoothly, a video post plays, an image uploads from a post form, and a link to an outside site opens in the browser. If the page misbehaves only on Linux, the CLI FAQ suggests PAKE_LINUX_WEBKIT_SAFE_MODE=1 when the window is blank and =0 when clicks do not reach the page.

If Reddit does not accept the window at all, a browser tab or the phone app is the fallback, and nothing in Pake can override the site's decision.

Update

The site updates itself on each load. The Pake runtime around it does not. Update pake-cli and run the same command again with the same URL and name, or edit the app in the desktop app and save.

FAQ

Is there an official Reddit desktop app?

Reddit's help center lists iOS and Android only. Check the pages above for changes.

Does the Pake desktop app work on Ubuntu?

No. On Linux it supports Arch-based systems such as Omarchy on x86_64, and the CLI covers other distributions.

Can I get a separate window for each account?

Yes. Build two apps with different names, the two accounts guide shows how.