bytedance/deer-flow · error · HTTPException
Unknown thread-state field(s): {', '.join(unknown_fields)}
Error message
Unknown thread-state field(s): {', '.join(unknown_fields)} What it means
Error "Unknown thread-state field(s): {', '.join(unknown_fields)}" thrown in bytedance/deer-flow.
Source
Thrown at backend/app/gateway/routers/threads.py:1273
raise HTTPException(status_code=500, detail="Failed to get thread state")
if checkpoint_tuple is None:
raise HTTPException(status_code=404, detail=f"Checkpoint {body.checkpoint_id} not found")
mutation_node = body.as_node or "manual_state_update"
# Resolve through the shared boundary (thread metadata -> assistant_id ->
# effective schema) so extension middleware channels stay writable.
accessor, read_config = await build_thread_checkpoint_state_mutation_accessor(
request,
thread_id=thread_id,
as_node=mutation_node,
checkpoint_id=body.checkpoint_id,
)
values = dict(body.values or {})
writable_channels = graph_writable_channels(getattr(accessor, "graph", None))
if writable_channels is not None:
unknown_fields = sorted(set(values) - writable_channels)
if unknown_fields:
raise HTTPException(
status_code=422,
detail=f"Unknown thread-state field(s): {', '.join(unknown_fields)}",
)
reducer_fields = graph_reducer_channels(getattr(accessor, "graph", None))
if reducer_fields is None:
reducer_fields = THREAD_STATE_REDUCER_FIELDS
updates = {key: Overwrite(value) if key in reducer_fields else value for key, value in values.items()}
try:
async with reserve_checkpoint_write(request, thread_id, user_id=get_effective_user_id()):
updated_config = await accessor.aupdate(
read_config,
updates,
as_node=mutation_node,
)
snapshot = await accessor.aget(updated_config)
except ConflictError:
raise HTTPException(status_code=409, detail="Thread has a run in flight. Update state after the run finishes.") from None
except _CHECKPOINT_MODE_ERRORS as exc:View on GitHub (pinned to 1dd6ba1acb)
Solutions
- Remove the unknown fields listed in the error from the state update payload.
- Check the thread-state API schema for the allowed field names.
When it happens
Trigger: Thrown at backend/app/gateway/routers/threads.py:1273 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of bytedance/deer-flow@1dd6ba1acb (2026-08-14).
Data as JSON: /api/errors/8bc3050cf715f3cb.
Report an issue: GitHub.