refact0r/system24: a TUI-style Discord theme built on CSS variables
a tui-style discord theme
At a glance
- What is it?
- system24 is a CSS theme for Vencord and BetterDiscord that restyles Discord as a terminal interface. It is a stylesheet, not an application, and its customization surface is a block of variables at the top of one file.
- Who is it for?
- Adopt system24 if you already run Vencord or BetterDiscord and want a terminal look that you are willing to tune by editing CSS variables. Do not adopt it if you expect a plugin with menus, or if you rely on Discord's own appearance settings.
- Can I use it commercially?
- Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository last received commits 17 days ago.
- What is it written in?
- Mainly CSS, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 2, 2026, and from our analysis. They are not legal advice.
Editorial analysis
What system24 changes, and who it is for
system24 is a CSS theme that makes Discord look like a terminal user interface. The README describes it as "a customizable, tui-style discord theme" and credits the spicetify text theme as its primary design inspiration. It does not add commands, bots or client features. It only changes how the existing Discord interface is drawn.
The audience is narrow and specific. You need a Discord client that loads theme files, which in practice means Vencord or BetterDiscord, or any client that supports the same theme format. If you use the standard Discord desktop app with no client mod, system24 has nowhere to attach. The repository topics list betterdiscord-theme, discord-theme and vencord-theme, which matches the install instructions.
The project is not archived, and the last push to the main branch was on 2026-09-16. That is recent enough that the theme is being touched, but the repository ships no releases, so there is no versioned artifact to pin. You install from a file in the repository or from a hosted build URL.
How the theme is assembled: src, build and midnight
The repository is a small Node toolchain wrapped around CSS. Source files live in /src, and a dev script watches those files and combines them into a build file in /build. Both the /src files and the /build output are tracked in git. The contributing section is explicit about the consequence: any change you contribute should exist in both places.
That is an unusual arrangement. Normally a build artifact is generated and ignored. Here it is committed, which means a pull request that edits only /src and not /build will leave the hosted build URL serving older CSS than the source tree. The README warns about this directly, so it is a known cost rather than an oversight.
The theme also depends on midnight for its core styles. The contributing section tells potential contributors to consider which theme they actually want to work on, and to open an issue if unsure. In other words, some of what system24 renders is inherited from another project, and a change that looks like a system24 fix may belong upstream.
package.json names the package systemtheme at version 2.1.0, with scripts for build, dev, serve and screenshot. The only devDependencies are chokidar and dotenv, so the toolchain is two packages deep.
Installing system24 in Vencord or BetterDiscord
The README gives two install paths. The first is a file download. Open the theme file at theme/system24.theme.css in the repository, use the download button at the top right of the page, and drag the downloaded file into your theme folder. Theme settings in your client should include a button that opens that folder. The README marks customization as optional and points at the CSS variables inside the same file.
The second path is an import link. Add the hosted build URL to your theme import links, then copy the theme variables into your quickcss if you want to change anything. That last clause matters: the import link pulls the build, so variable overrides have to live somewhere your client applies on top of it.
https://refact0r.github.io/system24/build/system24.cssIf you would rather run the development loop locally, clone the repository and install dependencies:
git clone https://github.com/refact0r/system24
cd system24
npm iThe dev script reads a .env file in the project root containing the paths of local theme files you want updated, comma separated. The README shows this example:
DEV_OUTPUT_PATH=C:\Users\USERNAME\AppData\Roaming\Vencord\themes\system24-dev.theme.cssThen run the watcher. The README states that the listed local theme files are updated automatically, along with the build file in /build, whenever you change a file in /src or the main theme file.
npm run devFor a first real use, the fastest check is the flavor route. Instead of system24.theme.css, download one of the flavor files, for example theme/flavors/system24-tokyo-night.theme.css, and drop it into the theme folder the same way. If Discord reloads with a dark terminal palette, the theme is loading. If nothing changes, the problem is almost always the client not reading the theme folder, not the CSS.
Flavors are the part most people should start with
A flavor is a preset customization. The README lists light, auto (which follows the system theme), catppuccin mocha, catppuccin macchiato, everforest, rose pine, rose pine moon, tokyo night, nord and vencord. Each is a separate theme file under theme/flavors, and the README says to follow the normal install instructions but download the flavor file instead.
This is a sensible split. The base system24.theme.css exposes variables you can edit, but choosing a palette by hand requires knowing which variable controls which surface. A flavor file hands you a finished set. The auto flavor is the one to look at if you switch between light and dark at the operating system level, since the README describes it as following the system theme.
The vencord flavor is worth noting because it is named after the client rather than a color scheme. That suggests it is tuned for how Vencord renders things rather than for a particular palette, though the README does not explain what it changes.
Where system24 is the wrong tool
The clearest limitation is that system24 is a stylesheet. It cannot change Discord's behavior, only its appearance. If your complaint is about notifications, message grouping, or how the client handles a feature, a theme will not help.
A second limitation is the customization interface. There is no settings panel. Changing anything means opening a CSS file and editing variables, or copying those variables into quickcss when you use the import link. The README calls this optional, which is accurate in the sense that the theme works without it, but anyone who wants a different accent color is editing CSS.
The committed build file is a third constraint, and it affects contributors more than users. Because /build is tracked in git alongside /src, a source-only change does not reach the hosted build URL. Anyone submitting a patch has to update both.
Finally, the dependency on midnight means system24 is not self-contained. If midnight changes, system24 can change with it. The README's own guidance to contributors, asking them to work out which theme they actually want to change, is an admission that the boundary between the two projects is not obvious from the outside.
What to compare it against
The obvious comparison is midnight, the theme system24 depends on for core styles. The difference is scope and direction. midnight is the base layer that supplies core styling. system24 layers a terminal aesthetic on top and packages it with preset flavors. If you want the underlying styling without the TUI treatment, midnight is the layer to look at rather than system24. If you want the terminal look, system24 is the one that ships the flavors and the variable block.
A second comparison is the spicetify text theme, which the README credits as primary design inspiration. That is a Spotify theme, not a Discord one, so it is not a substitute. It matters here because it explains the design intent: the terminal look is borrowed from a music player skin, not from a terminal emulator.
The broader category is Discord themes generally, which the related searches reflect with phrases like "Discord server themes" and "Vencord themes not working". system24 sits inside that category rather than replacing it. Its distinguishing choice is the commit-both-src-and-build workflow and the flavor file system, neither of which is standard for a theme repository.
Licence, maintenance and the upgrade path
system24 is MIT licensed, and package.json declares the same. MIT permits reuse and modification with the licence and copyright notice retained. That is a permissive arrangement, but it is not legal advice, and anyone redistributing a modified build should read the licence text in the repository rather than rely on this summary.
The practical upgrade cost is low for users and moderate for contributors. Users either replace a downloaded theme file or let the import link pull the hosted build, and the README does not document rollback, so keeping a copy of the previous theme file is the only way back. The repository publishes no releases, which means there is no changelog to read before updating and no tagged version to pin against.
For contributors, the cost is the dual-write rule. Every change has to land in /src and in /build. The dev script handles that automatically when you run npm run dev with a populated .env, which is the reason the script exists at all. Skipping it and editing /src alone produces a repository whose committed build does not match its source.
Editorial conclusion
Adopt system24 if you already run Vencord or BetterDiscord and want a terminal look that you are willing to tune by editing CSS variables. Do not adopt it if you expect a plugin with menus, or if you rely on Discord's own appearance settings. Before installing, verify which flavor file matches your preferred background, and check whether you need the standalone theme file or the import link, since the import link cannot carry your variable overrides.
Frequently asked questions
What is system24?
It is a TUI-style Discord theme written in CSS, described in its README as "a customizable, tui-style discord theme" and inspired by the spicetify text theme. It changes how Discord looks, not what it does.
How do I install the system24 Discord theme?
Download theme/system24.theme.css and drag it into your theme folder in Vencord or BetterDiscord, or add the hosted build URL to your theme import links. Flavor files under theme/flavors install the same way.
Can I customize system24 without editing the main theme file?
If you install through the import link, the README says you need to copy the theme variables to your quickcss in order to customize the theme. With the downloaded file, you edit the CSS variables inside it directly.
What flavors does system24 include?
The README lists light, auto (follows system theme), catppuccin mocha, catppuccin macchiato, everforest, rose pine, rose pine moon, tokyo night, nord and vencord. Each is a separate theme file under theme/flavors.
Does system24 work without Vencord or BetterDiscord?
The install instructions target Vencord, BetterDiscord or any client that supports theme files. A standard Discord client with no theme support has no place to load the CSS from.
Official sources
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.
[](https://hysenlabs.com/projects/refact0r-system24)