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
HKCURun key. No admin. - The WebView2 environment is created in parallel with the window, not after it.
prefers-reduced-motion: reduceis 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.