ocgc
Analyze and reclaim storage used by OpenCode sessions, diffs, and snapshots.
OpenCode stores sessions in a SQLite file that grows without limit and has no built-in cleanup. It also writes session diffs and git snapshots to disk. ocgc shows where the space goes and reclaims it.
Install
uv tool install ocgc
Or with pip:
pip install ocgc
Usage
# Dashboard: DB size, session breakdown, storage by part type
ocgc status
# List sessions sorted by size
ocgc sessions --sort size --limit 20
# Deep analysis: top sessions, growth rate, root vs subagent
ocgc analyze
# Preview what a purge would do
ocgc purge --older-than 14d --dry-run
# Delete subagent sessions older than a week
ocgc purge --subagents --older-than 7d
# Strip reasoning tokens only (biggest space win, ~77% of storage)
ocgc purge --strip-reasoning
# Other purge options
ocgc purge --larger-than 50M
ocgc purge --keep-latest 50
ocgc purge --session ses_abc123
# Clean up orphan session diff files (no matching session in DB)
ocgc purge --clean-orphans
# Delete all snapshot directories
ocgc purge --clean-snapshots
# Reclaim disk space after purging
ocgc vacuum
Multiple purge flags combine with AND. --strip-reasoning changes the action from deleting sessions to removing reasoning parts (from matching sessions, or all sessions if no other filters are given). --clean-orphans and --clean-snapshots run independently before any session purge. --dry-run previews without touching anything. --force skips the confirmation prompt.
Filesystem storage
Beyond the SQLite database, OpenCode stores data on the filesystem:
- Session diffs (
~/.local/share/opencode/storage/session_diff/): one JSON file per session containing full file contents. Cleaned automatically when sessions are purged. - Snapshots (
~/.local/share/opencode/snapshot/): git object packs for each project. Use--clean-snapshotsto delete. - Tool output (
~/.local/share/opencode/tool-output/): small files from tool invocations. Shown in stats but no cleanup needed.
ocgc status and ocgc analyze show sizes for all three directories. analyze also reports orphan session diff files (files with no matching session in the DB).
Safety
status, sessions, and analyze are read-only. purge asks for confirmation before deleting. ocgc warns if OpenCode is running.
Custom database path
export OCGC_DB_PATH=/path/to/opencode.db
ocgc status
Default: ~/.local/share/opencode/opencode.db
License
MIT
Metadata
Release files for ocgc 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| ocgc-0.1.0.tar.gz | 35.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ocgc-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 52.8 kB
Release files / ocgc-0.1.0.tar.gz
| Download URL | ocgc-0.1.0.tar.gz |
|---|---|
| Size | 35.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
83ff2de86a0bf12ddac40ff993660240fd1ed9853a954c0f0d9368eda0274b7f
|
|
BLAKE2b-256 checksum How to use checksums |
b5fa5c854b1b4b0b34ddeb366ffc89794b4b61ce65422b30387e70ce0914c3c0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 15, 2026.
Transparency logRelease files / ocgc-0.1.0-py3-none-any.whl
| Download URL | ocgc-0.1.0-py3-none-any.whl |
|---|---|
| Size | 16.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
61ed60fab46e9fd484b59dc98584e983ef0446c1c7ee643c36207e859a20dd7d
|
|
BLAKE2b-256 checksum How to use checksums |
e566f298fbd80be5107078d90a0b4e77a1b7e9ba5c3e43301b5b11366e3a903e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Apr 15, 2026.
Transparency log