# Replugged: a lightweight Discord client mod that admits it breaks the terms

> Replugged is a TypeScript Discord client mod for plugins and themes, distributed under MIT and installed as a downloadable build. Its README is unusually direct about the trade-off: the project violates the Discord Terms of Service, and it argues at length why that has not led to bans.

**replugged-org/replugged** — A lightweight Discord client mod focused on simplicity and performance.

- Repository: https://github.com/replugged-org/replugged
- Website: https://replugged.dev/
- Stars: 730 · Forks: 64
- Language: TypeScript
- License: MIT
- Published: 2026-10-21 · Updated: 2026-10-21 · Language: en
- Canonical page: https://hysenlabs.com/projects/replugged-org-replugged

## The README states the Terms of Service answer first, and the reasoning behind it

Most client mods bury this. Replugged puts it at the top of its FAQ with the question Is this against the ToS and the answer yes. What follows is an argument rather than a disclaimer. The README claims Discord is not going out of its way to detect client mods or ban client mod users, and adds a technical point: Replugged does not make any manual HTTP requests unlike certain other client mods or plugins, so the user agent stays the same as a legitimate client and Discord does not detect it the way it might detect a tool that calls its API directly. It also argues that a hypothetical detection would not mean mass bans, because banning a substantial part of the userbase without warning would be a strange move, and that plugins are required to be API-compliant and ethical, so users cannot be banned for indirect violations such as selfbotting. Whether you find that convincing is your call, but at least the position is stated rather than implied.

## Injection into the Discord client is the whole architecture, in three scripts

Replugged does not wrap Discord or talk to it as a proxy. It injects itself into the installed client and runs inside it, which is why the build tooling has a dedicated inject step. The repository ships three scripts in the package.json that map to the three operations: plug injects Replugged into a Discord install, unplug removes it, and replug reinjects, which is what you want after Discord updates itself and wipes the patch. The injection entry point is a TypeScript script under scripts/inject/index.mts, and the package exposes a command line entry point named replugged that runs bin.mjs. Everything the project does, plugin loading, theme injection, the settings UI, all of it runs inside a process that Discord launched, so a Discord client update is the natural failure mode for the whole system.

## Installing means downloading a build, or compiling the repository yourself

For most users the README gives one instruction: download Replugged from the project download page. There is no package manager entry for end users, and that is deliberate, because the project modifies an installed desktop client rather than sitting beside it. For developers, the repository is a pnpm workspace with a src directory, a scripts directory, a bin directory, an i18n directory for translations, an eslint config, a prettier config and a cspell configuration. The build produces dist output, with the package main pointing at dist/main.js and the type definitions at dist/renderer/replugged.d.ts.

```json
    "build": "tsx scripts/build.mts",
    "bundle": "tsx scripts/build.mts --production",
    "watch": "tsx scripts/build.mts --watch",
```

The inject, uninject and reinject operations sit next to them, and they are the reason the project has a bin entry at all.

```json
    "plug": "tsx scripts/inject/index.mts inject --no-exit-codes",
    "unplug": "tsx scripts/inject/index.mts uninject --no-exit-codes",
    "replug": "tsx scripts/inject/index.mts reinject",
```

The lint script chains four checks in sequence, which is a decent summary of what the project cares about in its own source.

## Powercord, legacy Replugged and BetterDiscord plugins all need rewriting

This is the practical cost of the project and the README is clear about it. Replugged was originally based on Powercord but is not anymore, and because of the new plugin and theme format, as well as Discord changes, Powercord plugins and themes have to be rewritten. The same applies to plugins and themes from legacy Replugged: the FAQ says they will need to be rewritten because of Discord changes and changes to the plugin and theme format. BetterDiscord plugins are not supported either. A compatibility layer called BDCompat used to run them, but it has not been rewritten for the Replugged rewrite, and unless someone writes that version, BetterDiscord plugins stay unsupported. So the plugin ecosystem you may already have is not portable, and the burden falls on whoever wants to use it.

## What the repository shows about how the project is built and governed

The layout says a lot about priorities. There is a SECURITY.md, so the project takes reports seriously, and a CONTRIBUTING.md that points to a developer guide for the Replugged itself. Documentation lives outside the repository: a developer guide at guide.replugged.dev and API docs at docs.replugged.dev, with a note that the API docs will be replaced by the guide in the future. That note is a warning about the documentation surface itself: for a project whose whole value is its plugin API, the reference for writing plugins is in transition. There is a Discord invite linked from the README and the project site, which is where support and announcements happen. The i18n directory suggests the interface is translated, so a plugin author has to think about user-facing strings in more than one language.

## No manual HTTP requests means the client looks ordinary on the network

The mechanism behind the README's detection argument is worth isolating, because it is the one technical claim with consequences for anyone writing a plugin. If a modification issues its own requests to Discord's API, the traffic pattern differs from the official client and is visible to the server side. The README says Replugged itself does not make manual HTTP requests, so the client continues to speak to Discord as the legitimate client does, user agent included. Plugins, however, run inside that modified client and can do whatever they want, which is why the README insists plugins must be API-compliant and ethical, and treats that as the reason a user could not be banned for indirect violations. The practical takeaway for a plugin author is that the safest plugin is one that uses the client's own request path rather than opening its own connection.

## MIT licensed code, but releases trail the last push

The licence is MIT, stated in the package.json and covered by the LICENSE file in the repository root, so the code itself is permissive to read, modify and redistribute. The licence of the code and the permission of Discord to run a modified client are separate questions, and the first does not settle the second. On the release side, the published versions are v4.11.4 on 2026-05-16, v4.11.3 on 2026-04-13 and v4.11.2 on 2026-03-04, and the package version in the repository matches 4.11.4. The last push was on 2026-09-19, which is months after the newest tag. So the source tree is ahead of the last published build, and a user who wants the current code has to build it, which for a client mod means dealing with the injection scripts yourself.

## Conclusion

Replugged fits a developer who wants to write a plugin or theme for their own Discord client and can accept carrying a Terms of Service violation on their account. It does not fit a workplace device, a managed account, or anyone who needs a stable plugin ecosystem, since the README states that Powercord, legacy Replugged and BetterDiscord plugins all need rewriting. Before you install it, read the FAQ section about the Terms of Service rather than skimming it, and check the release list against the last push date, because the last push was on 2026-09-19 while the newest published release is v4.11.4 from 2026-05-16.

## FAQ

### Is using Replugged against the Discord Terms of Service?

Yes, the README says so directly. It argues that Discord is not going out of its way to detect client mods, that Replugged makes no manual HTTP requests so the client user agent matches a legitimate client, and that users are unlikely to be banned on sight without warning. The position is still a Terms of Service violation.

### Can I use my Powercord or BetterDiscord plugins with Replugged?

No. Replugged was originally based on Powercord but is not anymore, so Powercord plugins and themes must be rewritten, as must legacy Replugged ones. BetterDiscord plugins are unsupported because the BDCompat bridge has not been rewritten for the Replugged rewrite.

### How do I install Replugged and undo the installation?

The README points to the download page at replugged.dev/download for regular use. Developers can build from the repository with pnpm, and the package.json exposes plug, unplug and replug scripts that inject, remove and reinject the modification in your Discord installation.

## Sources

- [License: MIT](https://github.com/replugged-org/replugged/blob/main/LICENSE)
- [Project website](https://replugged.dev/)
- [README](https://github.com/replugged-org/replugged/blob/main/README.md)
- [Releases](https://github.com/replugged-org/replugged/releases)
- [replugged-org/replugged on GitHub](https://github.com/replugged-org/replugged)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/replugged-org-replugged
