feat: checkpoint list/info CLI commands#5319
Merged
Merged
Conversation
…ders - Rename CheckpointConfig.directory to location — the field means a directory for JsonProvider and a database file path for SqliteProvider, so the generic name fits both - Add max_checkpoints to BaseProvider protocol - Add max_checkpoints and pruning to JsonProvider, matching SqliteProvider - Remove prune logic from checkpoint_listener since providers own cleanup
crewai checkpoint list [location] — lists all checkpoints with timestamp, size, and task completion summary. crewai checkpoint info [path] — shows details of a single checkpoint or the latest in a directory, including per-task status.
iris-clawd
approved these changes
Apr 7, 2026
iris-clawd
left a comment
Contributor
There was a problem hiding this comment.
Review: Checkpoint CLI
Clean, read-only CLI addition. Nice dual JSON/SQLite support with auto-detection via magic bytes.
Minor notes (non-blocking)
_info_json_latestand_info_json_filewill propagate exceptions uncaught (unlike_list_jsonwhich has a try/except).info_checkpointcatches for specific file but not for latest-in-directory. Consistency thing._SELECT_ALLdeserializes every checkpoint'sjson(data)to build the list. For large DBs with big payloads this could be slow. ASELECT id, created_at, length(data) FROM checkpointswould be lighter for the list view, then only deserialize when showing info. Fine for now.json(data)in the SQL assumes the column stores JSON text. If it's JSONB (per PR #5318's mention of JSONB), you may needjson_extractor just read the raw column.
All minor — good to land. ✅
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 2 potential issues.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 7ccf811. Configure here.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Summary
crewai checkpoint list [location]— lists all checkpoints with timestamp, size, and task completion summarycrewai checkpoint info [path]— shows details of a single checkpoint or the latest in a directory, including per-task statusDepends on #5318.
Test plan
crewai checkpoint list ./checkpointsshows all filescrewai checkpoint listdefaults to./.checkpointscrewai checkpoint info ./checkpointsshows latestcrewai checkpoint info ./checkpoints/specific.jsonshows that fileNote
Low Risk
Low risk: additive, read-only CLI functionality that inspects local JSON/SQLite checkpoint files without modifying runtime behavior or persisted data.
Overview
Introduces a new
crewai checkpointCLI group withlistandinfocommands for inspecting saved checkpoints.The implementation adds
checkpoint_cli.py, which detects whether a location is a JSON directory or a SQLite DB, extracts lightweight metadata (timestamp, event count, trigger type, and per-entity task completion), and prints either a summary list or detailed per-task status for the latest checkpoint or a specifieddb_path#checkpoint_id.Reviewed by Cursor Bugbot for commit 7ccf811. Bugbot is set up for automated code reviews on this repo. Configure here.