sessions
openclaw sessions
Section titled “openclaw sessions”List stored conversation sessions.
openclaw sessionsopenclaw sessions --agent workopenclaw sessions --all-agentsopenclaw sessions --active 120openclaw sessions --jsonScope selection:
- default: configured default agent store
--agent <id>: one configured agent store--all-agents: aggregate all configured agent stores--store <path>: explicit store path (cannot be combined with--agentor--all-agents)
openclaw sessions --all-agents reads configured agent stores. Gateway and ACP
session discovery are broader: they also include disk-only stores found under
the default agents/ root or a templated session.store root. Those
discovered stores must resolve to regular sessions.json files inside the
agent root; symlinks and out-of-root paths are skipped.
JSON examples:
openclaw sessions --all-agents --json:
{ "path": null, "stores": [ { "agentId": "main", "path": "/home/user/.openclaw/agents/main/sessions/sessions.json" }, { "agentId": "work", "path": "/home/user/.openclaw/agents/work/sessions/sessions.json" } ], "allAgents": true, "count": 2, "activeMinutes": null, "sessions": [ { "agentId": "main", "key": "agent:main:main", "model": "gpt-5" }, { "agentId": "work", "key": "agent:work:main", "model": "claude-opus-4-6" } ]}Cleanup maintenance
Section titled “Cleanup maintenance”Run maintenance now (instead of waiting for the next write cycle):
openclaw sessions cleanup --dry-runopenclaw sessions cleanup --agent work --dry-runopenclaw sessions cleanup --all-agents --dry-runopenclaw sessions cleanup --enforceopenclaw sessions cleanup --enforce --active-key "agent:main:telegram:direct:123"openclaw sessions cleanup --jsonopenclaw sessions cleanup uses session.maintenance settings from config:
-
Scope note:
openclaw sessions cleanupmaintains session stores/transcripts only. It does not prune cron run logs (cron/runs/<jobId>.jsonl), which are managed bycron.runLog.maxBytesandcron.runLog.keepLinesin Cron configuration and explained in Cron maintenance. -
--dry-run: preview how many entries would be pruned/capped without writing.- In text mode, dry-run prints a per-session action table (
Action,Key,Age,Model,Flags) so you can see what would be kept vs removed.
- In text mode, dry-run prints a per-session action table (
-
--enforce: apply maintenance even whensession.maintenance.modeiswarn. -
--active-key <key>: protect a specific active key from disk-budget eviction. -
--agent <id>: run cleanup for one configured agent store. -
--all-agents: run cleanup for all configured agent stores. -
--store <path>: run against a specificsessions.jsonfile. -
--json: print a JSON summary. With--all-agents, output includes one summary per store.
openclaw sessions cleanup --all-agents --dry-run --json:
{ "allAgents": true, "mode": "warn", "dryRun": true, "stores": [ { "agentId": "main", "storePath": "/home/user/.openclaw/agents/main/sessions/sessions.json", "beforeCount": 120, "afterCount": 80, "pruned": 40, "capped": 0 }, { "agentId": "work", "storePath": "/home/user/.openclaw/agents/work/sessions/sessions.json", "beforeCount": 18, "afterCount": 18, "pruned": 0, "capped": 0 } ]}Related:
- Session config: Configuration reference