← Projects

Feathercord

A Discord client for Windows built on the WebView2 runtime already on the machine. 1.6 MB, no bundled Chromium.

C#
Star on GitHub Everything below is served from here: main at 1785766, taken 14 August 2026. 1 binary files are listed and not served
Download for Windows
Windows executable · Feathercord.exe · 63.2 MB · 1.0.0 at 5f189a8 sha256 7d517abbfa556ea2e05ab5f0eec639ee4f982672ddc7e6531c8c0197a5c5ed9c

Double click it and Discord's login page opens in the window. Nothing to install.

Unsigned, so Windows warns about it once. It is a window onto Discord's own web client and needs an account you already have.

How to install
Run it

Double click Feathercord.exe. Nothing is installed and nothing is written outside your own user folder.

The warning Windows shows

Windows says "Windows protected your PC" for any program nobody has paid to sign. Click More info, then Run anyway.

Checking it is this file

The sha256 above is what you compare against. In PowerShell, in the folder you saved it to:

Get-FileHash .\Feathercord.exe
What it needs

The WebView2 runtime, which Windows 10 and 11 already carry. Nothing else.

What it is not

It is not a modified Discord and it does nothing to your account beyond logging in. It loads Discord's unaltered web app.

LicenceMIT
Stars0
Files6
Code24 kB
C# 79.1%Markdown 12.5%Other 4.5%XML 4.0%

Feathercord

A Discord client for Windows built on the WebView2 runtime already installed on the machine. No bundled Chromium, so the app is 1.6 MB on disk and the wrapper process sits around 45 MB RAM. It loads Discord's unmodified web client, so chat, voice, video, screenshare and notifications all work.

No Rich Presence and no push-to-talk. If you need those, use Vesktop or the official client.

What it does

Discord's web app renders the same in any Chromium, so a wrapper cannot make it faster. What it can do is cut the cost around it.

  • Closing the window parks the app in the tray instead of quitting. The page

stays warm, pings still arrive, and reopening is instant.

  • While parked, Chromium is told to trim its heaps

(MemoryUsageTargetLevel.Low). The page and gateway socket stay alive.

  • Launching the exe while an instance is running shows that instance and exits.
  • Optional start with Windows, parked, via a per-user HKCU Run key. No admin.
  • The WebView2 environment is created in parallel with the window, not after it.
  • prefers-reduced-motion: reduce is emulated, which drops most of Discord's

animation. Set ReduceMotion = false in Program.cs to keep it.

  • Disk cache is capped at 100 MB.
  • A renderer that dies or hangs reloads. If the browser process exits, the app

relaunches in the state it was in.

  • Tray icon shows an unread count, read from Discord's own page title.
  • Tray menu can clear the HTTP and CacheStorage caches without touching cookies,

localStorage or IndexedDB, so you stay signed in.

  • Mic, camera, notification and clipboard permissions are granted without a

prompt.

  • External links open in the default browser. Discord pop-outs open in-app.
  • Window size and position persist.

Blocked requests

Requests to Discord's science and metrics endpoints, sentry, Nitro upsell promos and the contact-upload and friend-suggestion calls are answered locally with an empty 204. These are fire-and-forget calls, so this is a privacy change rather than a speed one.

Toggle with BlockBloat in Program.cs; edit BlockPatterns to change the list. Quests are not blocked by default. A commented pattern and the HideQuests toggle are there if you want them gone.

Build

Windows 10 or 11 with the WebView2 runtime, which ships with Windows, and the .NET 8 Desktop runtime.

git clone https://github.com/PointOfPressure/Feathercord
cd Feathercord
dotnet build -c Release
bin\Release\net8.0-windows\Feathercord.exe

The session persists at %LocalAppData%\Feathercord.

Not included

  • Rich Presence, global push-to-talk hotkey.
  • Krisp noise suppression. That is a native module in the official client; web

voice has none.

  • Plugins, themes, client mods. The only CSS injection is the one-selector

Quests hide, off by default.

Notes

Running the web client in a custom shell sits in the same ToS grey area as Vesktop. Nothing is injected into the page.

The whole thing is one file, Program.cs, about 500 lines.

License

MIT, see LICENSE.