v0.4.0
This release expands DataClaw's source coverage and significantly improves export fidelity. It adds Cursor IDE support, preserves much richer structured data from Claude Code, Codex, Gemini CLI, and OpenCode sessions, hardens the review-before-publish flow, and adds Windows support.
56 files changed | 40 commits | 385 tests passing
Headline Features
Windows support
DataClaw now works on Windows as a first-class platform, including platform-specific path handling, project discovery, UTF-8 behavior, and CI coverage. This makes the export flow usable across macOS, Linux, and Windows instead of being effectively Unix-only. Landed in #29.
Broader, richer conversation exports
DataClaw now captures more of what actually happened during coding-agent sessions instead of flattening everything down to plain text.
- Cursor IDE support - DataClaw can now export conversations from Cursor's local
state.vscdb, including user and assistant messages, tool calls, thinking blocks, token counts, and project discovery from workspace metadata. Contributed by @wjessup in #15. - Full tool inputs preserved - Tool calls now keep their original input fields instead of whitelisting a small set of known keys. This improves downstream analysis and makes exports more faithful to the original session data. Landed in #17.
- Claude Code export improvements - Claude exports now include all discovered subagents and raw tool-call JSON, while trimming especially noisy edit payload fields. Landed in #32.
- Gemini CLI export improvements - Gemini exports now preserve structured
content_partsfor complete user inputs such as images, retain tool-call outputs more completely, and dedupe duplicate sessions. Landed in #33. - Codex and OpenCode fidelity upgrades - Codex exports now keep image inputs, and OpenCode exports now include user files referenced in sessions.
Other Features
Safer and more informative publishing flow
- Publish the reviewed file, not a fresh re-export - Hugging Face pushes now reuse the exact local file that was confirmed during review, reducing the risk of publishing data that was not part of the manual privacy check.
- Richer Hugging Face dataset cards and metadata - Export summaries now include sessions, input tokens, and output tokens by model and by project, with additional normalization so metadata aggregates cleanly.
- Clearer 6-step workflow - README, help text, and agent skill docs now consistently guide users through install, prep, source selection, project selection, redaction, local export, review, and publish.
Bug Fixes
- Gemini project-name compatibility - Newer Gemini CLI project layouts with non-hashed names are now recognized correctly.
- Anonymization improvements -
exit_codeis now anonymized, ANSI color sequences are no longer mistaken for binary blobs, and binary or base64 attachments are preserved without being mangled by text redaction.
Refactoring & Internal
- Parser split by provider - The old monolithic parser was broken into dedicated modules for Claude, Codex, Cursor, Gemini, Kimi, OpenClaw, OpenCode, and custom imports, making source-specific fixes easier to ship. Landed in #30.
- CLI split into focused modules - CLI logic now lives in dedicated command, common, export, and review modules instead of one large
cli.py, with tests split the same way. Landed in #31. - Faster JSON handling - DataClaw now uses
orjsoninternally. - Tooling and docs cleanup - Added pre-commit checks, removed the hardcoded package version from
__init__.py, and moved the Claude skill doc to.claude/skills/dataclaw/SKILL.md.
Community
Thanks to @wjessup for contributing Cursor IDE support in #15.