Uninstalling themes
Themes can be uninstalled to free up space, declutter the Themes list, or roll back a misbehaving install.
What's uninstallable
- External themes (uploaded by you via Install theme) → uninstallable
- Built-in non-default themes (
magazine,corporate) → also uninstallable. Treated as externalised at build time, so they go through the same uninstall flow as third-party themes. - Default theme → NOT uninstallable. Always present as the fallback when other themes are uninstalled.
How to uninstall
- Open Themes in the sidebar.
- Find the theme's card.
- The card must NOT be active — uninstalling the active theme is blocked. Switch to a different theme first.
- Click Uninstall (red button, only visible on uninstallable themes).
- Confirmation: "This will remove the theme's files from Flexweg. Are you sure?"
- Confirm → the admin:
- Removes the entry from Firestore (
settings/externalRegistry.themes) - Calls
flexwegApi.deleteFolder("admin/themes/<id>")to delete the bundle files from Flexweg - Reloads the page
- Removes the entry from Firestore (
After reload, the theme is gone from the Themes list.
What's preserved
- Theme settings in Firestore (
settings/site.themeConfigs.<theme-id>) → kept, NOT deleted. Re-installing the same theme later restores your saved customisations. - Theme CSS on Flexweg at
/theme-assets/<theme-id>.css→ not auto-deleted by uninstall. Stays as an orphan until you delete it manually via Flexweg or until the theme is re-installed (which would overwrite it on Sync). - Posts that use this theme's blocks → kept untouched. The block markers stay in the post markdown. If you later re-install the theme, the blocks render again. If you switch to a different theme, the markers are ignored at publish (visitors see empty
<div>s).
What's deleted
- The theme's bundle folder on Flexweg:
/admin/themes/<theme-id>/manifest.json,bundle.js,theme.css, plus any other files the install ZIP carried (READMEs, icons, etc.) - The theme's runtime registration in the admin (after reload, the theme isn't loaded)
Why uninstalling the active theme is blocked
If the active theme were uninstalled, the next page load couldn't resolve the active theme id → admin would crash or fall back to default abruptly. The CMS prevents this by:
- Disabling the Uninstall button for the active theme
- Showing a tooltip / hint: "Switch to another theme before uninstalling this one"
To uninstall the currently-active theme:
- Go to Themes → activate a different one (e.g.
default) - The previous theme's card now has Uninstall enabled
- Uninstall
Reinstalling a built-in theme you uninstalled
You can reinstall a previously-uninstalled built-in theme via the Reinstall bundled defaults feature:
- Open Themes → Install theme
- The install modal includes a "Bundled defaults available" section listing every built-in theme that's currently uninstalled
- Click Restore → the admin re-adds the entries to the Firestore registry and reloads
- The theme appears in the Themes list again
The bundle files for these defaults are already on Flexweg from the most recent admin deploy — the Restore action only updates the registry. No re-upload is needed.
For external themes (third-party): you'd need to re-upload the ZIP via Install theme.
Bulk uninstall
Not currently in v1. To uninstall multiple themes, click each one individually.
Continue
- Installing external themes — adding new themes
- Switching themes — change the active theme
- Themes overview