{"record":{"id":"436b4b67b789b207","repo":"bytedance/deer-flow","slug":"checkpoint-body-checkpoint-id-not-found","errorCode":null,"errorMessage":"Checkpoint {body.checkpoint_id} not found","messagePattern":"Checkpoint (.+?) not found","errorType":"http","errorClass":"HTTPException","httpStatus":404,"severity":"error","filePath":"backend/app/gateway/routers/threads.py","lineNumber":1257,"sourceCode":"\n    thread_store = get_thread_store(request)\n    if body.checkpoint_id is not None:\n        if not body.checkpoint_id:\n            raise HTTPException(status_code=404, detail=\"Checkpoint not found\")\n        selected_config = {\n            \"configurable\": {\n                \"thread_id\": thread_id,\n                \"checkpoint_ns\": \"\",\n                \"checkpoint_id\": body.checkpoint_id,\n            }\n        }\n        try:\n            checkpoint_tuple = await get_checkpointer(request).aget_tuple(selected_config)\n        except Exception:\n            logger.exception(\"Failed to get state for thread %s\", sanitize_log_param(thread_id))\n            raise HTTPException(status_code=500, detail=\"Failed to get thread state\")\n        if checkpoint_tuple is None:\n            raise HTTPException(status_code=404, detail=f\"Checkpoint {body.checkpoint_id} not found\")\n\n    mutation_node = body.as_node or \"manual_state_update\"\n    # Resolve through the shared boundary (thread metadata -> assistant_id ->\n    # effective schema) so extension middleware channels stay writable.\n    accessor, read_config = await build_thread_checkpoint_state_mutation_accessor(\n        request,\n        thread_id=thread_id,\n        as_node=mutation_node,\n        checkpoint_id=body.checkpoint_id,\n    )\n    values = dict(body.values or {})\n    writable_channels = graph_writable_channels(getattr(accessor, \"graph\", None))\n    if writable_channels is not None:\n        unknown_fields = sorted(set(values) - writable_channels)\n        if unknown_fields:\n            raise HTTPException(\n                status_code=422,\n                detail=f\"Unknown thread-state field(s): {', '.join(unknown_fields)}\",","sourceCodeStart":1239,"sourceCodeEnd":1275,"githubUrl":"https://github.com/bytedance/deer-flow/blob/1dd6ba1acb03700589994b0366c5d1c7d05e2eff/backend/app/gateway/routers/threads.py#L1239-L1275","documentation":"Error \"Checkpoint {body.checkpoint_id} not found\" thrown in bytedance/deer-flow.","triggerScenarios":"Thrown at backend/app/gateway/routers/threads.py:1257 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Use a checkpoint_id from the thread's current checkpoint history.","The checkpoint may have been garbage-collected; pick a newer one."],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"1dd6ba1acb03700589994b0366c5d1c7d05e2eff","analyzedAt":"2026-08-14T21:20:34.804Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}