Files
openclaw/docs/cli/commitments.md
morluto 1a34950d9c fix(commitments): keep heartbeats responsive with large queues (#105780)
* fix(commitments): migrate store to sqlite

Replace steady-state JSON persistence with typed shared-state rows and a doctor-only verified import for shipped legacy data.

Co-authored-by: morluto <76467478+morluto@users.noreply.github.com>

* fix(commitments): satisfy migration gates

* fix(commitments): type sqlite counts defensively

---------

Co-authored-by: Peter Steinberger <steipete@gmail.com>
2026-07-15 03:58:03 -07:00

96 lines
2.3 KiB
Markdown

---
summary: "CLI reference for `openclaw commitments` (inspect and dismiss inferred follow-ups)"
read_when:
- You want to inspect inferred follow-up commitments
- You want to dismiss pending check-ins
- You are auditing what heartbeat may deliver
title: "`openclaw commitments`"
---
List and manage inferred follow-up commitments.
Commitments are opt-in (`commitments.enabled`), short-lived follow-up memories
created from conversation context and delivered by heartbeat. See
[Inferred commitments](/concepts/commitments) for the conceptual guide and config.
With no subcommand, `openclaw commitments` lists pending commitments.
## Usage
```bash
openclaw commitments [--all] [--agent <id>] [--status <status>] [--json]
openclaw commitments list [--all] [--agent <id>] [--status <status>] [--json]
openclaw commitments dismiss <id...> [--json]
```
## Options
- `--all`: show all statuses instead of only pending commitments.
- `--agent <id>`: filter to one agent id.
- `--status <status>`: filter by status. Values: `pending`, `sent`,
`dismissed`, `snoozed`, or `expired`. Unknown values exit with an error.
- `--json`: output machine-readable JSON.
`dismiss` marks the given commitment ids as `dismissed` so heartbeat will not
deliver them.
## Examples
List pending commitments:
```bash
openclaw commitments
```
List every stored commitment:
```bash
openclaw commitments --all
```
Filter to one agent:
```bash
openclaw commitments --agent main
```
Find snoozed commitments:
```bash
openclaw commitments --status snoozed
```
Dismiss one or more commitments:
```bash
openclaw commitments dismiss cm_abc123 cm_def456
```
Export as JSON:
```bash
openclaw commitments --all --json
```
## Output
Text output prints the commitment count, the shared SQLite database path, any active filters,
and one row per commitment:
- commitment id
- status
- kind (`event_check_in`, `deadline_check`, `care_check_in`, or `open_loop`)
- earliest due time
- scope (agent/channel/target)
- suggested check-in text
JSON output includes the count, the active status and agent filters, the
shared SQLite database path, and the full stored records.
## Related
- [Inferred commitments](/concepts/commitments)
- [Memory overview](/concepts/memory)
- [Heartbeat](/gateway/heartbeat)
- [Scheduled tasks](/automation/cron-jobs)