format v4 error: producer-owned source kind fix

TroubleshootingPublished 2026-11-01Author: DeepSeek Plugin Market
format v4source kindsession formatDSH pluginerror
The format v4 error appears under three prefixes. Trace the write and read paths, then upgrade, change the source kind, or uninstall the writer.

The format v4 error looks like three versions, but there is one cause: the message source kind is not producer-owned. Determine whether it is a write or read failure, then follow three recovery steps.

Three prefixes, one cause

One admission failure surfaces in three forms.

PrefixWhereMeaning
format v4 message requires a producer-owned source kindRaw errorAdmission failed
This turn failed + raw errorChinese UITurn-level wrapper
this turn failed + raw errorEnglish UI or logSame, English wording

The fix is identical. The prefix only changes where you see it; diagnose the raw error, then apply the same steps.

"This turn failed" does not mean the session is corrupted. It means this write or read failed; history usually remains (source).

Why reads fail too

format v4 validates source kind on both encode and decode.

Write path: when a plugin writes a message, v4 admission checks the source shape and rejects the old plugin wrapper.

Read path: when a session opens, decoding runs the same check; an invalid source makes the message unreadable, which looks like a session that will not open.

Both paths accept only producer-owned kinds. A generic wrapper is rejected, not a permission or corruption issue.

Fix the writer, not the reader. The unreadable state is a result; the cause is an invalid source written earlier (source).

Step one: find the writer

Find the plugin that writes to the session. Not every plugin writes.

  1. Recall which plugins were installed or upgraded recently, especially session, message, summary, or panel plugins.
  2. Check the Installed list for recent versions and update times.
  3. Read the stack or context in system logs to identify the package.
  4. Disable the suspect and repeat the operation; if the error disappears, the writer is found.

"What changed recently" beats "what the error says." These failures track recent changes; narrow to one or two plugins first.

Do not disable everything. It removes the error but not the cause; disable one at a time.

Step two: three recovery paths

From cheapest to most expensive.

  1. Upgrade the plugin. Prefer a version built for format v4; restart and retest both write and read. Most cases end here.
  2. Change the source kind. If the plugin exposes the source type, replace the generic plugin wrapper with a producer-owned value; retest the same message.
  3. Uninstall. If neither works, remove the plugin so it stops writing invalid shapes; affected sessions need migration or cleanup.

Upgrade before hand-editing configuration. Authors usually ship a v4 fix; manual kind changes may conflict with later versions.

Uninstall is damage control, not repair. It stops new invalid messages; existing data still needs migration or cleanup.

Step three: verify both paths

After the fix, verify write and read, not just one.

  1. Open a new session and run a write operation with the suspect plugin.
  2. Close and reopen the session; confirm content is complete.
  3. Read an old session and confirm the same error does not return.
  4. Check logs for remaining source-kind records; if present, another plugin still writes old shapes.
  5. Record the fixed version and steps.

Verifying only writes misses decoding. A successful write with a failed read means historical data still has invalid sources.

Old sessions do not fix themselves. Upgrading the plugin does not rewrite existing data; migrate or clean when necessary.

Difference from migration refusal

Both involve session format, in opposite directions.

ErrorWhereEssence
format v4 message requires a producer-owned source kindWrite/decode admissionInvalid source shape
session format migration refusalOld-session migrationMissing manifest entry

One is "the new format rejects old sources"; the other is "the migration manifest rejects old data." Fix the writer for the first and the manifest for the second.

Check for source kind in the message. Present means the first; only migration, manifest, or missing entries means the second.

They can occur together. Fix source kind first, then migration; reversing the order makes migration fail repeatedly.

Prevention: check compatibility before upgrading

The error is avoidable at the cost of reading one line before upgrading.

  1. Check the compatible version. v4-ready plugins usually state support.
  2. Upgrade core before plugins. Core reaches v4 first; reversing it creates plugins writing a format the core does not accept.
  3. Run a minimal write after upgrading. One message verifies the chain.
  4. Keep a pre-upgrade snapshot. Session directory and plugin list, for rollback.

Compatibility statements matter more than version numbers. Version order does not guarantee support.

Upgrade one plugin at a time. One change makes diagnosis easy; ten changes force disabling everything.

Next steps

Find the writer, upgrade or change kind, verify both paths. For the full root cause, read format v4 producer-owned source kind. For migration refusal, read Session format migration refusal. For session storage, read Where DeepSeek Harness sessions live.

Sources: deepseek-ai/deepseek-harness, DeepSeek Harness docs - Web UI guide, Community plugin dsh-tui-compact-carry

FAQ

The format v4 error appears with three prefixes. Is the fix different?

The three prefixes of the format v4 message share one root cause and one fix. The prefix only shows where it surfaced: raw admission, a Chinese turn-level message, or an English turn-level message.

Why can the same DeepSeek Harness session neither write nor read?

A session that cannot write or read is not two bugs: format v4 validates source kind on both encode and decode in DeepSeek Harness. An incompatible plugin triggers both a write rejection and a read rejection.

The plugin is upgraded but the format v4 error remains. What should I check first?

When the format v4 error remains after an upgrade, confirm you upgraded the plugin that actually writes to the session. Then check the session format and whether the plugin declares v4 support.

Is the format v4 error the same as session format migration refusal?

The format v4 error and session format migration refusal are different. The first is new-format admission of source kind, while the second rejects legitimate old data because the migration manifest is incomplete.

Related Terms

source kind
source kind identifies the origin of a session event; format v4 requires a producer-owned value and no longer accepts a generic plugin wrapper.— deepseek-ai/deepseek-harness
format v4
format v4 is a generation of the DeepSeek Harness session schema with stricter message-source admission checked on both encode and decode.— deepseek-ai/deepseek-harness
producer-owned kind
A producer-owned kind is a source type declared by the message producer; third-party plugins use a prefixed value and official components use official types.— deepseek-ai/deepseek-harness
migration refusal
Migration refusal happens when an old session is upgraded and the migration manifest misses an entry, so legitimate data is rejected as invalid format.— deepseek-ai/deepseek-harness

Sources