BigPizzaV3/CodexPlusPlus · error · anyhow::Error

Dream Skin image is not managed by Codex++

Error message

Dream Skin image is not managed by Codex++

What it means

Guard in managed_dream_skin_image_backup: the given image path is not the Dream Skin image Codex++ manages (fails is_managed_dream_skin_image against the state dir), so Codex++ refuses to back it up or overwrite it — protecting arbitrary user files from being treated as theme images.

Source

Thrown at apps/codex-plus-manager/src-tauri/src/commands.rs:2078

        runtime: codex_plus_core::dream_skin_runtime::dream_skin_status(debug_port).await,
        saved_for_next_launch: false,
    }
}

fn empty_dream_skin_image_payload() -> DreamSkinImagePayload {
    DreamSkinImagePayload {
        path: String::new(),
        content_type: String::new(),
        size_bytes: 0,
    }
}

fn managed_dream_skin_image_backup(
    path: &Path,
    state_dir: &Path,
) -> anyhow::Result<ManagedDreamSkinImageBackup> {
    if !codex_plus_core::dream_skin::is_managed_dream_skin_image(path, state_dir) {
        anyhow::bail!("Dream Skin image is not managed by Codex++");
    }
    Ok(ManagedDreamSkinImageBackup {
        path: path.to_path_buf(),
        bytes: fs::read(path)?,
    })
}

fn restore_managed_dream_skin_image_backup(
    backup: ManagedDreamSkinImageBackup,
) -> anyhow::Result<()> {
    codex_plus_core::settings::atomic_write(&backup.path, &backup.bytes)
}

fn dream_skin_content_type(path: &Path) -> &'static str {
    match path
        .extension()
        .and_then(|extension| extension.to_str())
        .map(str::to_ascii_lowercase)

View on GitHub (pinned to f2074595a2)

Solutions

  1. Point the operation at the managed image path under the Codex++ state dir
  2. Import the image through the Dream Skin UI instead
  3. Verify state_dir matches the one used at install time
Defensive patterns

Strategy: validation

When it happens

Trigger: Thrown at apps/codex-plus-manager/src-tauri/src/commands.rs:2078 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/0d14b955961f3719. Report an issue: GitHub.