BigPizzaV3/CodexPlusPlus · error · anyhow::Error
unsupported Dream Skin theme schema
Error message
unsupported Dream Skin theme schema
What it means
Sentinel validation guard in validate_theme_draft: theme drafts carry a schema_version field, and only version 1 is understood by this code. Any draft (or imported package theme) declaring a newer/other schema_version is rejected up front rather than parsed with wrong field assumptions.
Source
Thrown at crates/codex-plus-core/src/dream_skin_library.rs:518
if !metadata.file_type().is_dir() || metadata.file_type().is_symlink() {
bail!("Dream Skin theme path is not a safe directory");
}
let stored = load_stored_dream_skin_theme(state_dir, id)?;
if stored.config.id == DreamSkinThemeConfig::default().id {
bail!("built-in Dream Skin theme cannot be deleted");
}
remove_known_theme_directory(&directory)
}
fn validate_theme_draft(draft: &DreamSkinThemeDraft) -> anyhow::Result<()> {
if draft.builtin {
bail!("built-in Dream Skin theme is read-only");
}
if !valid_theme_id(&draft.config.id) {
bail!("invalid Dream Skin theme id");
}
if draft.config.schema_version != 1 {
bail!("unsupported Dream Skin theme schema");
}
if draft.config.name.trim().is_empty() {
bail!("Dream Skin theme name is empty");
}
if !draft.config.style_preset.is_empty() && !valid_theme_id(&draft.config.style_preset) {
bail!("invalid Dream Skin style preset");
}
if let Some(colors) = &draft.config.colors {
for color in [
&colors.background,
&colors.panel,
&colors.panel_alt,
&colors.accent,
&colors.accent_alt,
&colors.secondary,
&colors.highlight,
&colors.text,
&colors.muted,View on GitHub (pinned to f2074595a2)
Solutions
- Export or re-save the theme with schema_version = 1
- Upgrade CodexPlusPlus to a version that supports the theme's schema_version
- Regenerate the theme JSON from the current built-in theme as a template
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at crates/codex-plus-core/src/dream_skin_library.rs:518 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of BigPizzaV3/CodexPlusPlus@f2074595a2 (2026-08-23).
Data as JSON: /api/errors/d2a8eb3350a3bb36.
Report an issue: GitHub.