Skip to main content

2x the effective context with smart weight-loss for Claude Code — prune bloated sessions, protect agent teams from compaction, monitor token usage with MCP tools

Project description

Cozempic

Downloads Version License

20,000+ power users trust Cozempic to keep their Claude Code sessions lean.

Context cleaning for Claude Code ��� remove the bloat, keep everything that matters, protect Agent Teams from context loss.

What It Does

Claude Code sessions fill up with dead weight: progress ticks, thinking blocks, stale file reads, duplicate CLAUDE.md injections, base64 screenshots, oversized tool outputs, and metadata bloat. A typical session carries 8-46MB — most of it noise that inflates every API call.

Cozempic removes it with 17 composable strategies across 3 prescription tiers, while your actual conversation, decisions, and working context stay untouched. The guard daemon runs automatically — install once, forget about it.

Key Features

  • 18 pruning strategies — gentle (5), standard (11), aggressive (18)
  • Guard daemon — auto-starts via SessionStart hook, monitors and prunes continuously
  • compact-summary-collapse — 85-95% savings by removing pre-compaction messages already in the summary
  • Agent Teams protection — checkpoints team state through compaction, reactive overflow recovery
  • Behavioral digest — extracts your corrections ("don't do X"), persists them to Claude Code's memory system so they survive compaction
  • 8 doctor checks — diagnose and auto-fix session corruption, orphaned tool results, zombie teams
  • Token-aware diagnostics — exact token counts from usage fields, cache hit rate, context % bar
  • Auto-detects 1M context — correct thresholds for both 200K and 1M models
  • Auto-updates — checks PyPI daily, upgrades in-place

Zero external dependencies. Python 3.10+ stdlib only.

Install

pip install cozempic
cozempic init

That's it. The guard daemon auto-starts on every session via hooks. No second terminal needed.

As a Claude Code Plugin

pip install cozempic

Then inside Claude Code:

/plugin marketplace add Ruya-AI/cozempic
/plugin install cozempic

This gives you MCP tools, skills (/cozempic:diagnose, /cozempic:treat, etc.), and auto-wired hooks.

Quick Start

# Auto-detect and diagnose the current session
cozempic current --diagnose

# Dry-run the standard prescription
cozempic treat current

# Apply with backup
cozempic treat current --execute

# Go aggressive on a specific session
cozempic treat <session_id> -rx aggressive --execute

# Check for session corruption
cozempic doctor

# View behavioral digest rules
cozempic digest show

# Show all strategies & prescriptions
cozempic formulary

Strategies

# Strategy Tier What It Does Expected
1 compact-summary-collapse gentle Remove all pre-compaction messages (already in the summary) 85-95%
2 attribution-snapshot-strip gentle Strip attribution-snapshot metadata entries 0-2%
3 progress-collapse gentle Collapse consecutive and isolated progress tick messages 40-48%
4 file-history-dedup gentle Deduplicate file-history-snapshot messages 3-6%
5 metadata-strip gentle Strip token usage stats, stop_reason, costs 1-3%
6 thinking-blocks standard Remove/truncate thinking content + signatures 2-5%
7 tool-output-trim standard Trim large tool results (>8KB or >100 lines), microcompact-aware 1-8%
8 tool-result-age standard Compact old tool results by age — minify mid-age, stub old 10-40%
9 stale-reads standard Remove file reads superseded by later edits 0.5-2%
10 system-reminder-dedup standard Deduplicate repeated system-reminder tags 0.1-3%
11 tool-use-result-strip standard Strip toolUseResult envelope field (Edit diffs, never sent to API) 5-50%
12 image-strip aggressive Strip old base64 image blocks, keep most recent 20% 1-40%
13 http-spam aggressive Collapse consecutive HTTP request runs 0-2%
14 error-retry-collapse aggressive Collapse repeated error-retry sequences 0-5%
15 background-poll-collapse aggressive Collapse repeated polling messages 0-1%
16 document-dedup aggressive Deduplicate large document blocks (CLAUDE.md injection) 0-44%
17 mega-block-trim aggressive Trim any content block over 32KB safety net
18 envelope-strip aggressive Strip constant envelope fields (cwd, version, slug) 2-4%

Prescriptions

Prescription Strategies Risk Typical Savings
gentle 5 Minimal 85-95% (with compact boundary)
standard 11 Low 25-45%
aggressive 18 Moderate 35-60%

Dry-run is the default. Nothing is modified until you pass --execute. Backups are always created.

Guard — Continuous Protection

The guard daemon monitors your session and prunes automatically:

# Auto-starts via SessionStart hook after cozempic init
# Or run manually:
cozempic guard --daemon

4-tier proactive pruning (every 30s):

Tier Threshold Action Reload?
Soft 25% gentle file cleanup No
Hard 55% standard prune Yes (deferred if agents active)
Emergency 80% aggressive prune Yes (forced)
User 90% manual aggressive Yes

Reactive overflow recovery — kqueue/polling file watcher detects inbox-flood overflow within milliseconds, auto-prunes with escalating prescriptions, circuit breaker prevents loops.

tmux/screen — reload resumes in the same pane via send-keys. Plain terminals open a new window.

Token thresholds auto-detect — 200K and 1M models detected automatically. Override with COZEMPIC_CONTEXT_WINDOW=200000 for Pro plan.

Behavioral Digest

Cozempic extracts your corrections and persists them across compactions:

# View extracted rules
cozempic digest show

# Manually extract from current session
cozempic digest update

# Sync rules to Claude Code's memory system
cozempic digest inject

How it works:

  • Detects correction signals in your messages ("don't do X", "stop adding Y", "always use Z")
  • Explicit corrections activate immediately; implicit corrections need 2 occurrences
  • Rules synced to Claude Code's native memory system (~/.claude/projects/<cwd>/memory/)
  • Claude reads these as feedback memories on every turn — they survive compaction natively
  • PreCompact and Stop hooks auto-extract before context is lost

Agent Teams Protection

When Claude's auto-compaction fires, Agent Teams lose coordination state. Cozempic prevents this with five layers:

  1. Continuous checkpoint — saves team state every N seconds
  2. Hook-driven checkpoint — fires after every Task spawn, TaskCreate/Update, before compaction, at session end
  3. Tiered pruning — soft threshold trims without disruption; hard threshold does full prune + reload
  4. Reactive overflow recovery — detects inbox-flood within milliseconds, auto-recovers (~10s downtime)
  5. is_protected() — compact summaries, compact boundaries, content-replacement entries, and behavioral digest messages are never stripped

Doctor

cozempic doctor        # Diagnose issues
cozempic doctor --fix  # Auto-fix where possible
Check What It Detects Auto-Fix
trust-dialog-hang Resume hangs on Windows Reset flag
claude-json-corruption Truncated/corrupted JSON Restore from backup
corrupted-tool-use tool_use.name >200 chars Parse and repair
orphaned-tool-results tool_result missing matching tool_use — causes 400 errors Strip orphans
zombie-teams Stale team directories with dead agents Remove stale dirs
oversized-sessions Session files >50MB
stale-backups Old .jsonl.bak files wasting disk Delete old backups
disk-usage Session storage exceeding healthy thresholds

Commands

cozempic init                               Wire hooks + slash command into project
cozempic list                               List sessions with sizes and token estimates
cozempic current [-d]                       Show/diagnose current session
cozempic diagnose <session>                 Analyze bloat sources
cozempic treat <session> [-rx PRESET]       Run prescription (dry-run default)
cozempic treat <session> --execute          Apply changes with backup
cozempic strategy <name> <session>          Run single strategy
cozempic reload [-rx PRESET]                Treat + auto-resume in new terminal
cozempic checkpoint [--show]                Save team state to disk
cozempic guard [--daemon]                   Start guard (auto-starts via hook)
cozempic doctor [--fix]                     Check for known issues
cozempic digest [show|update|clear|flush|recover|inject]
cozempic self-update                        Upgrade to latest version from PyPI
cozempic formulary                          Show all strategies & prescriptions

Hook Integration

After cozempic init, these hooks are wired automatically:

Hook When What
SessionStart Session opens Guard daemon + digest inject
PostToolUse[Task] Agent spawn Team checkpoint
PostToolUse[TaskCreate|TaskUpdate] Todo changes Team checkpoint
PreCompact Before compaction Checkpoint + digest flush
Stop Session end Checkpoint + digest flush

Safety

  • Dry-run by default--execute required to modify files
  • Atomic writeswrite → fsync → os.replace() — no partial writes
  • Strict session resolution — refuses to act on ambiguous matches
  • Timestamped backups — automatic .jsonl.bak before any modification
  • is_protected() — compact summaries, boundaries, marble-origami state, content-replacement, behavioral digest entries are never removed
  • parentUuid re-linking — conversation chain integrity maintained after removals
  • Sibling tool_use protection — tool_use blocks are kept when their tool_result is kept
  • Team messages protected — Task, TaskCreate, SendMessage never pruned
  • Strategies compose sequentially — each runs on the output of the previous

Example Output

  Prescription: aggressive
  Before: 158.2K tokens (29.56MB, 6602 messages)
  After:  121.5K tokens (23.09MB, 5073 messages)
  Freed:  36.7K tokens (23.2%) — 6.47MB, 1529 removed, 4038 modified
  Context: [============--------] 61%

  Strategy Results:
    compact-summary-collapse       8.17MB saved (85.2%)  (4201 removed)
    progress-collapse              1.63MB saved  (5.5%)  (1525 removed)
    metadata-strip                693.9KB saved  (2.3%)  (2735 modified)
    tool-use-result-strip          1.44MB saved  (4.9%)  (891 modified)
    thinking-blocks                1.11MB saved  (3.8%)  (1127 modified)
    tool-output-trim               1.72MB saved  (5.8%)  (167 modified)
    ...

Changelog

v1.6.x

  • 4-tier pruning: soft (25%, no reload) → hard (55%, reload) → emergency (80%, aggressive reload) → user (90%, manual)
  • Agent-aware reload: defers reload at 55% when agents are running, forces at 80%
  • Same-terminal resume: tmux/screen users get /exit + claude --resume in the same pane
  • Clean messaging: only shows strategies that did something, 1-line hook status output
  • 1M default: Opus/Sonnet 4.5/4.6 default to 1M context (CC doesn't use [1m] suffix)
  • Auto-upgrade everywhere: SessionStart hook backgrounds pip install --upgrade cozempic on every session. MCP/plugin use uv run --upgrade. npm install.js always upgrades.
  • cozempic self-update: force-upgrade from PyPI regardless of install method (pip, uv, editable, clone)
  • Auto-updater fixed: removed TTY check (was blocking hook-triggered updates), tries uv → pip → pipx

v1.5.0

  • tool-result-age strategy — age-based tool result compaction. Recent results stay verbatim, mid-age get JSON minified and diff context collapsed, old replaced with compact stubs. Claude can re-read any file. 10-40% additional savings targeting the 45% of session size that tool results occupy.
  • 18 strategies total, standard prescription 11, aggressive 18
  • Tests: 273 → 283

v1.4.0 / v1.4.1

  • Track 1 — Bug fixes: is_protected() guard on all strategies, isSidechain preserved in envelope-strip, output_tokens in token formula, parentUuid re-linking, sibling tool_use protection
  • Track 2 — New strategies: compact-summary-collapse (85-95%), attribution-snapshot-strip, microcompact-aware tool-output-trim
  • Behavioral digest: extract corrections, sync to Claude Code memory, CLI commands, hook wiring
  • Context window detection: MCP server and plugin now auto-detect 200K/1M (was hardcoded 200K)
  • Cache efficiency metrics: cozempic diagnose shows cache hit rate
  • transcript_path: hooks parse session path from payload for faster resolution
  • Tests: 165 → 273

v1.3.0 / v1.3.1

  • Writer-safe live prune + sidecar session store
  • Guard startup cleanup, updater fixes, MCP maintenance

v1.2.0 — v1.2.8

  • Atomic file writes, strict session resolution, schema-first team detection
  • tool-use-result-strip strategy (5-50% on edit-heavy sessions)
  • image-strip strategy (keep last 20%)
  • Auto-update, install tracking, npm package
  • Safety improvements: SIGTERM handler, backup cleanup, permission error handling

Contributing

Contributions welcome. To add a strategy:

  1. Create a function in the appropriate tier file under src/cozempic/strategies/
  2. Decorate with @strategy(name, description, tier, expected_savings)
  3. Return a StrategyResult with a list of PruneActions
  4. Add to the appropriate prescription in src/cozempic/registry.py

License

MIT — see LICENSE.

Built by Ruya AI.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cozempic-1.6.11.tar.gz (126.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

cozempic-1.6.11-py3-none-any.whl (99.1 kB view details)

Uploaded Python 3

File details

Details for the file cozempic-1.6.11.tar.gz.

File metadata

  • Download URL: cozempic-1.6.11.tar.gz
  • Upload date:
  • Size: 126.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for cozempic-1.6.11.tar.gz
Algorithm Hash digest
SHA256 eb9408d1136f50d193880def5b6b7aacebdc51bc24ec95ccc2d3156146ff3eb8
MD5 139a784ac8392a461168e9defceee8ed
BLAKE2b-256 a5d7b9c0c456859f65b0f96be98bb45990975fb6ef6fa1f555caf00b85478f40

See more details on using hashes here.

File details

Details for the file cozempic-1.6.11-py3-none-any.whl.

File metadata

  • Download URL: cozempic-1.6.11-py3-none-any.whl
  • Upload date:
  • Size: 99.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.3

File hashes

Hashes for cozempic-1.6.11-py3-none-any.whl
Algorithm Hash digest
SHA256 dcb3220feea009881d0af9c36ae2b3855fbcb28cdc98dd16b2e37d79ccca3f98
MD5 a5a2263deb891c7d48436f356e05f25f
BLAKE2b-256 116469892e8b71e557317ef086f1aea8e0c000a716ccc0ed4bd85348b66458fb

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page