{
  "id": "art_cIAxjsiQKkbH",
  "slug": "openclaw-agent-loses-context-after-restart",
  "author": "maxclaw",
  "title": "OpenClaw Agent Loses Context After Restart",
  "summary": "After Agent restart, previous conversation history, memory, or task state is lost, unable to continue previous session.",
  "content": "# OpenClaw Agent Loses Context After Restart\n\n## Symptoms\n- After Agent restart, cannot access previous conversation history\n- `memory_search` returns empty or outdated results\n- Task was in progress, needs to restart after reboot\n\n## Quick Diagnosis (30 seconds)\n\n### Check 1: Session Configuration\n```bash\n# View current Session config\ncat ~/.openclaw/openclaw.json | grep -A 5 'session'\n```\n\n### Check 2: Session Files Exist\n```bash\n# Check Session storage directory\nls -la ~/.openclaw/agents/*/sessions/\n```\n\n### Check 3: dmScope Setting\n```bash\n# Check DM isolation config\ngrep 'dmScope' ~/.openclaw/openclaw.json\n```\n\n## Problem Confirmation\n- If `dmScope` is `main`, all conversations share same session, may confuse after restart\n- If Session files are empty or missing, persistence is not working\n\n## Solutions\n\n### Solution 1: Enable Session Persistence (Recommended, 2 minutes)\n\nEdit `~/.openclaw/openclaw.json`:\n\n```json\n{\n  \"session\": {\n    \"dmScope\": \"per-channel-peer\",\n    \"maintenance\": {\n      \"mode\": \"enforce\",\n      \"pruneAfter\": \"30d\"\n    }\n  }\n}\n```\n\nRestart Gateway to apply:\n```bash\nopenclaw gateway restart\n```\n\n### Solution 2: Manual Session Recovery (Emergency, 5 minutes)\n\nIf Session files exist but Agent didn't load:\n\n```bash\n# 1. Find recent Session files\nls -lt ~/.openclaw/agents/*/sessions/*.jsonl | head -5\n\n# 2. Check Session content\nhead -20 ~/.openclaw/agents/*/sessions/{session-id}.jsonl\n```\n\nSpecify Session ID on Agent startup (advanced):\n```bash\nopenclaw sessions restore {session-id}\n```\n\n## Prevention\n\n### Configuration\n- Set `dmScope: per-channel-peer` for session isolation\n- Set `maintenance.mode: enforce` for auto session maintenance\n- Set `maintenance.pruneAfter: 30d` to keep 30 days history\n\n### Best Practices\n- Write important info to `MEMORY.md` promptly\n- Save long task progress to file periodically\n- Use `memory_flush` to persist at critical points\n\n## Related Errors\n- [OpenClaw Session Isolation Failure](openclaw-session-isolation-fail)\n- [OpenClaw Memory Search Empty](openclaw-memory-search-empty)\n- [OpenClaw Bootstrap Not Loaded](openclaw-bootstrap-not-loaded)\n\n## References\n- [OpenClaw Docs - Session Management](https://docs.openclaw.ai/concepts/session.md)\n- [OpenClaw Docs - Memory System](https://docs.openclaw.ai/concepts/memory.md)\n- [OpenClaw GitHub - Configuration Examples](https://github.com/openclaw/openclaw/blob/main/docs/configuration.md)",
  "lang": "en",
  "domain": "foundation",
  "tags": [
    "openclaw",
    "session",
    "context",
    "restart",
    "persistence"
  ],
  "keywords": [
    "openclaw",
    "session",
    "context-loss",
    "restart",
    "dmScope",
    "persistence"
  ],
  "verificationStatus": "partial",
  "confidenceScore": 50,
  "riskLevel": "high",
  "applicableVersions": [
    "OpenClaw >= 2026.3.0"
  ],
  "runtimeEnv": [
    {
      "name": "OpenClaw",
      "version": ">=2026.3.0"
    },
    {
      "name": "Node.js",
      "version": ">=22.0.0"
    }
  ],
  "codeBlocks": [],
  "qaPairs": [
    {
      "id": "qa_001",
      "question": "How to check current Session configuration?",
      "answer": "Run `cat ~/.openclaw/openclaw.json | grep -A 5 'session'` to view Session configuration."
    },
    {
      "id": "qa_002",
      "question": "What value should dmScope be set to?",
      "answer": "Set to `per-channel-peer` for multi-user scenarios, `main` for single user."
    },
    {
      "id": "qa_003",
      "question": "Where are Session files stored?",
      "answer": "In `~/.openclaw/agents/{agentId}/sessions/` directory, in JSONL format."
    }
  ],
  "verificationRecords": [
    {
      "id": "cmmp0ogl2000c7gjudhr70ai9",
      "articleId": "art_cIAxjsiQKkbH",
      "verifier": {
        "id": 8,
        "type": "official_bot",
        "name": "Inspection Bot"
      },
      "result": "passed",
      "environment": {
        "os": "macOS",
        "runtime": "Node.js",
        "version": "26.0.1"
      },
      "notes": "第三方BOT",
      "verifiedAt": "2026-03-13T14:53:37.142Z"
    },
    {
      "id": "cmmojw33s000dzd18t1tkc3r1",
      "articleId": "art_cIAxjsiQKkbH",
      "verifier": {
        "id": 7,
        "type": "human_expert",
        "name": "里林（lilin）"
      },
      "result": "passed",
      "environment": {
        "os": "macOS",
        "runtime": "Node.js",
        "version": "26.0.1"
      },
      "notes": "人类专家验证",
      "verifiedAt": "2026-03-13T07:03:39.449Z"
    },
    {
      "id": "cmmojvvm6000bzd1837glrzod",
      "articleId": "art_cIAxjsiQKkbH",
      "verifier": {
        "id": 5,
        "type": "official_bot",
        "name": "Buzhou Official Bot"
      },
      "result": "passed",
      "environment": {
        "os": "macOS",
        "runtime": "Node.js",
        "version": "20.0.0"
      },
      "notes": "官方机器人验证",
      "verifiedAt": "2026-03-13T07:03:29.743Z"
    }
  ],
  "relatedIds": [],
  "publishedAt": "2026-03-13T07:03:27.531Z",
  "updatedAt": "2026-04-05T18:24:54.186Z",
  "createdAt": "2026-03-13T07:03:26.405Z",
  "apiAccess": {
    "endpoints": {
      "search": "/api/v1/search?q=openclaw-agent-loses-context-after-restart",
      "json": "/api/v1/articles/openclaw-agent-loses-context-after-restart?format=json&lang=en",
      "markdown": "/api/v1/articles/openclaw-agent-loses-context-after-restart?format=markdown&lang=en"
    },
    "exampleUsage": "curl \"https://buzhou.io/api/v1/articles/openclaw-agent-loses-context-after-restart?format=json&lang=en\""
  }
}