Open-source project
Vendicated/Vencord avatar
Vendicated/Vencord

Vencord: a Discord client mod with 100+ built-in plugins, browser support and GPL-3.0 licensing

The cutest Discord modification

14,164 stars2,620 forksTypeScriptGPL-3.0

At a glance

What is it?
Vencord patches the official Discord client rather than replacing it, and the README is explicit that doing so violates Discord's terms of service. Here is what the repository actually documents about installing it, how plugins and themes are loaded, and where it stops being the right tool.
Who is it for?
Adopt Vencord if you want plugin-level control over the official Discord client, you are comfortable building it from a pnpm workspace, and you accept the terms-of-service risk the README spells out. Do not adopt it if losing your account would be a disaster, or if you need a mobile client: the README says nothing about Android or iOS and the search results that ask about Vencord on mobile have no documented answer here.
Can I use it commercially?
Yes, with conditions. GPL-3.0 is a copyleft licence: if you distribute software that includes it, you must release that software's source code under the same licence. Running it internally without distributing it does not trigger that obligation.
Is it still maintained?
Yes. The repository received new commits within the last day.
What is it written in?
Mainly TypeScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on September 30, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What Vencord patches, and who it is built for

Vencord is not a Discord client. It is a modification applied to the official Discord client, which is why the repository describes it as a client mod and why the disclaimer states plainly that client modifications are against Discord's Terms of Service. The README adds that Discord is "pretty indifferent about them" and that there are no known cases of users getting banned for using client mods, but it also tells readers whose account matters to them not to use any client mod at all. That is an unusually direct framing for a project of this size, and it should be read as the project's own risk statement rather than marketing copy.

The audience is people who already use Discord heavily and want behaviour the official client does not expose: extra plugin commands, custom CSS, theme imports, and settings that follow them between devices. The README lists settings sync as optional, which implies a server-side component for that feature, though the README does not document its architecture. The repository description, "The cutest Discord modification", and the homepage at vencord.dev are the entry points the project points to.

How the plugin and theme layer is structured in the repository

The top-level layout tells you most of what you need to know about the architecture. There is a src/ directory for the mod itself, a browser/ directory for the web build, a patches/ directory, a packages/ directory, and a pnpm workspace declared by pnpm-workspace.yaml with a lockfile at pnpm-lock.yaml. Plugins and themes are not separate downloads in this model: they live inside the source tree and are compiled into the build.

The build scripts in package.json confirm that the same codebase produces two different artefacts. The build script runs scripts/build/build.mjs, while buildWeb runs scripts/build/buildWeb.mjs. A --standalone flag exists for both (buildStandalone wraps build with it, buildWebStandalone wraps buildWeb), and there are reporter variants, buildReporter and buildReporterDesktop, that pass --reporter. There is also a watch mode, exposed as both watch and dev, and a generatePluginJson script that runs scripts/generatePluginList.ts through tsx. That script is what produces the plugin list the website serves, which is a reasonable inference from its name and its position in the test pipeline.

The test script chains the pieces: buildStandalone, then testTsc, then lint, then lint-styles, then generatePluginJson. testTsc is plain tsc --noEmit, and lint-styles runs stylelint over src/**/*.css while ignoring src/userplugins. That ignore pattern is the clearest structural signal in the whole file: user plugins are expected to live in src/userplugins and are exempt from the project's own style linting.

Installing Vencord and running a first build

The README does not give command-line install steps. It says only: visit https://vencord.dev/download. That page is the supported distribution path for end users, and the README does not document what the installer does, which branches it touches, or how to roll it back. If you want the source route instead, the repository is a pnpm workspace and the package.json scripts are the interface.

The install and uninstall scripts are the two named entry points for injecting the mod into a desktop client:

bash
pnpm inject
pnpm uninject

Both call node scripts/runInstaller.mjs, with --install and --uninstall respectively. The README does not state which Discord branches these target, though the feature list claims Stable, Canary and PTB all work. Confirm that yourself before running either command.

To build without injecting, use the standalone build, which is also the first step of the project's own test pipeline:

bash
pnpm buildStandalone
pnpm buildWebStandalone

The first produces the desktop build, the second the web build. Neither command is documented in the README beyond its presence in package.json, so expect to read scripts/build/build.mjs and scripts/build/buildWeb.mjs if you need to know where output lands. For iterating on a plugin, watch mode is the practical choice:

bash
pnpm watch

pnpm dev is the same script under a different name. The project also ships a type generation step, pnpm generateTypes, which runs tspc with --emitDeclarationOnly and writes into packages/vencord-types. That directory is what plugin authors compile against.

The terms-of-service risk is the real constraint

The README's disclaimer is not boilerplate. It states that using Vencord violates Discord's Terms of Service, then qualifies that with the observation that Discord has been indifferent and that no known bans have resulted from client mods. It separates inbuilt plugins, which it calls safe, from plugins that implement abusive behaviour. It also warns against posting screenshots that show Vencord in servers where that could get you banned.

Read the two halves together and the position is: the technical risk from the built-in plugin set is low, the account risk is not zero, and the social risk from visible screenshots is real enough to warrant a sentence. Anyone evaluating Vencord for an account they cannot afford to lose should treat the README's own advice as decisive. The project is telling you not to use it in that case, and that advice is not limited to Vencord.

There is a second, quieter constraint. The repository's last push was on 2026-09-18, three days before this writing, so the codebase is moving. A moving codebase that patches another company's client is a codebase that breaks when that client changes. The README claims broken plugins are "usually fixed within 12 hours", which is a claim about the maintainers' responsiveness, not a guarantee about any particular plugin.

Where Vencord is the wrong tool, and what the BetterDiscord-style alternative looks like

Vencord is the wrong choice if you want a client that is independent of Discord's own application. It patches what Discord ships, so a Discord update can break it, and the fix depends on this project's maintainers noticing and shipping. If you need something that does not depend on Discord's release cadence at all, you are looking at a different category of software: third-party clients that talk to the API directly. Those have their own problems, including a much higher chance of triggering automated enforcement, and the README does not discuss them.

The closest comparison the README itself invites is BetterDiscord. It does not name it as a competitor, but it does say the CSS editor supports importing "any css files (including BetterDiscord themes)". That single line describes the real difference in approach. BetterDiscord themes are a file format Vencord chose to remain compatible with, which suggests the two projects occupy overlapping ground and that Vencord's authors expect people to migrate theme files rather than rewrite them. What the README does not say is whether BetterDiscord plugins are compatible. It mentions themes only, and the plugin compatibility question is left open.

The other axis is delivery. Vencord ships a browser extension and a UserScript path, which the README lists as "Excellent Browser Support". A desktop-only mod does not have that option. If your Discord usage is mostly in a browser tab, the extension is the relevant artefact, and it is one of the phrases people search for around this project.

Licence, upgrade cost and what the repository does not tell you

The repository is GPL-3.0, and package.json spells the field as GPL-3.0-or-later. If you fork Vencord, add plugins, and distribute the result, the copyleft terms apply to what you distribute. The README does not discuss the licence at all, and the LICENSE file is the authoritative text. Nothing here is legal advice; read the licence if you plan to redistribute.

Upgrade cost is the part the README is weakest on. It documents no rollback path, no version pinning story, and no compatibility matrix between plugin versions and client versions. The recent releases list contains a single devbuild entry from 2022-10-27, while package.json carries version 1.15.6, so the release feed is not a reliable way to track what changed. In practice you upgrade by pulling main and rebuilding, and the pnpm-lock.yaml is the only pinning mechanism visible in the repository layout.

The plugin count claim, "100+ built in plugins", is sourced to vencord.dev/plugins rather than to anything in the repository. The generatePluginJson script exists to produce that list, so the number is generated rather than hand-maintained, but the README does not state how many of those plugins are enabled by default or what each one does. Treat the count as a pointer to the plugin list, not as a measure of what you will actually turn on.

Editorial conclusion

Adopt Vencord if you want plugin-level control over the official Discord client, you are comfortable building it from a pnpm workspace, and you accept the terms-of-service risk the README spells out. Do not adopt it if losing your account would be a disaster, or if you need a mobile client: the README says nothing about Android or iOS and the search results that ask about Vencord on mobile have no documented answer here. Before you start, check the licence text in LICENSE, confirm the pnpm version your local toolchain resolves against pnpm-lock.yaml, and decide whether you want the desktop injection path or the browser extension at vencord.dev/download.

Frequently asked questions

Can I get banned for using Vencord?

The README states that client modifications are against Discord's Terms of Service, but adds that Discord is pretty indifferent about them and that there are no known cases of users getting banned for using client mods. It advises that if your account is very important to you, you should probably not use any client mod at all.

What is Vencord for?

Vencord is a modification applied to the official Discord client, described in the repository as a client mod. It adds built-in plugins, custom CSS and theme importing, and optional settings sync between devices and apps.

How do I install Vencord?

The README gives no command-line steps and points to https://vencord.dev/download. If you build from source, the repository is a pnpm workspace and pnpm inject runs the installer script, with pnpm uninject to reverse it.

How do I use Vencord themes?

The README lists custom CSS and themes as a feature, describing an inbuilt CSS editor with support for importing any CSS files, including BetterDiscord themes. It does not document the editor's interface or where theme files are stored.

How do I use Vencord in a browser?

The README claims excellent browser support and says Vencord can run in your browser via an extension or a UserScript. The build script buildWeb and the browser/ directory in the repository are the web-side artefacts, and the README points to vencord.dev/download for getting them.

How do I install Vencord on macOS?

The README does not describe a macOS-specific procedure; it gives a single download page at https://vencord.dev/download for all platforms. The repository's install script is pnpm inject, which runs node scripts/runInstaller.mjs --install, and the README does not state which platforms that script supports.

Official sources

  1. License: GPL-3.0
  2. Project website
  3. README
  4. Releases
  5. Vendicated/Vencord on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/vendicated-vencord.svg)](https://hysenlabs.com/projects/vendicated-vencord)