zeroclaw-labs/zeroclaw · error

Refusing incompatible migrated JSONL session {}

Error message

Refusing incompatible migrated JSONL session {}

What it means

Error "Refusing incompatible migrated JSONL session {}" thrown in zeroclaw-labs/zeroclaw.

Source

Thrown at crates/zeroclaw-infra/src/session_sqlite.rs:737

                    &sessions_dir,
                    &mut mutation_guard,
                )
                .context("Failed to deactivate JSONL after committed SQLite import")?;
                drop(conn);
                return Err(sync_error).with_context(|| {
                    format!("JSONL import for {name} committed before sync mode restore failed")
                });
            }
            crate::session_store::mark_session_directory_migrated(
                &sessions_dir,
                &mut mutation_guard,
            )
            .context("Failed to deactivate JSONL after committed SQLite import")?;
            drop(conn);

            if migrated_path.exists() {
                if Self::source_fingerprint(&migrated_path, &name)? != expected {
                    bail!(
                        "Refusing incompatible migrated JSONL session {}",
                        migrated_path.display()
                    );
                }
                Self::sync_parent_directory(&migrated_path)?;
                std::fs::remove_file(&staged_path)
                    .with_context(|| format!("Failed to finish staged JSONL handoff for {name}"))?;
                Self::sync_parent_directory(&staged_path)?;
            } else {
                archive(&staged_path, &migrated_path, &expected)
                    .with_context(|| format!("Failed to archive imported JSONL session {name}"))?;
            }
            if live_path.exists() {
                bail!(
                    "JSONL session {} reappeared during migration",
                    live_path.display()
                );
            }

View on GitHub (pinned to 88bb9c8533)

Solutions

  1. Inspect the migrated JSONL session's metadata for incompatibility; fix or remove it before migration.

When it happens

Trigger: Thrown at crates/zeroclaw-infra/src/session_sqlite.rs:737 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of zeroclaw-labs/zeroclaw@88bb9c8533 (2026-08-23). Data as JSON: /api/errors/9077bbf27f0ed484. Report an issue: GitHub.