Cross-session memory, cross-project lessons and measured hours. A plugin, not a copy-pasted CLAUDE.md. You already write good instructions — the problem is that they die with the session, stay trapped in one repo, and nobody can tell you how many hours went where.
MIT licence · no account · no telemetry · zero dependencies · refund within 14 days, no questions.
Four hooks, five skills and four small scripts. Plain, unminified Node — read it before you run it; reading it is the point.
Say "let's wrap up" and the handoff skill writes the note the next session opens with: where we stopped · what is open, with what was already tried · the next command · what not to repeat. One line goes into the memory index, because that index is loaded whole every session and it is capped — so it holds pointers, never content.
Record a lesson when something bites you. Repetition decides what happens next:
| Seen | What happens |
|---|---|
| 1× | Filed. Nothing else — most lessons are noise; let them prove otherwise. |
| 2× | One line injected at the start of every session, in every project. |
| 3× | Promoted to a rule file that loads automatically — and stops being injected. |
A promoted rule can be path-scoped (--paths ".github/**,deploy/**"): it loads only when a matching file is read and costs nothing the rest of the time. Measured, not assumed — see below.
Every hook event is timestamped to a local file. Work blocks are derived from those events, never kept as a running timer, so a crashed session or a closed laptop cannot inflate your hours. Folders map to lines ("product", "client"); a folder that maps to nothing is counted separately as ? — never quietly assigned.
Today (2026-09-08): 2h 33m — A 1h 23m · B 1h 10m
web-app: 1h 23m
billing-api: 1h 10m
Five skills (handoff · lesson · status · retro · skill-writer), three path-scoped rule packs, seven templates, an auditable installer, and three working example repos you can run before you change a line.
Everything on this page was run on Windows 11 with Claude Code CLI 2.1.263 and Node 24. Each claim says where its number comes from, so you can reproduce it after installing.
| Claim | Proof |
|---|---|
| The five skills cost ~770 tokens always-on; hooks cost zero | claude plugin details — run it yourself after installing |
| Rule packs, templates and examples add nothing to your context | Same command, before and after |
| Path-scoped rules load only on a matching file | Checked three ways: matching file → loads · no file read → does not · non-matching file → does not |
| Session-start injection actually reaches the model | A fresh session was asked to repeat it back, with no file reads |
| No network calls anywhere in the shipped scripts | grep -rnE "fetch|https?" scripts/ → 0. Grep it yourself |
| Zero npm dependencies | package.json does not exist. Node built-ins only |
| The three example repos work | Each exits 0 as shipped |
claude -p) sessions the CLI does not fire SessionEnd, so a scripted one-shot may not record its end. Interactive sessions record everything.
Three ways, all of them reversible. No curl | bash, no post-install script, no account.
claude --plugin-dir carryover.zip # try it; nothing is written to your settings
node scripts/install.mjs # prints exactly what it would write
node scripts/install.mjs --apply # writes it, after a timestamped backup
Or paste four hook entries into settings.json yourself — the README gives them in exec, bash and PowerShell form. The installer is dry-run by default because you should read what a tool does to your config before it does it, and --uninstall removes exactly what it added and nothing else.
Requirements: Node ≥ 20 · Claude Code (any recent version) · Windows, macOS or Linux (see the note above) · a terminal you are willing to paste one command into.
MIT licence. Fork it, change it, use it inside client work and commercial projects, ship your own derivative. You are buying the work, not permission. Every 1.x release is free, downloaded from the same link. Refund within 14 days for any reason — no form, no questions.
Buy Carryover — $39Checkout and invoicing by Polar (merchant of record). Price includes VAT where it applies. Sold by Cemdalf — Sece Bilişim İthalat İhracat Ticaret Ltd. Şti., İzmir.
No. There is no network code in the shipped scripts — grep for it; that is why the source is plain and unminified. Hours, lessons and handoffs are files on your disk, under ~/.carryover/, in Markdown and JSONL you can read and delete.
The four hooks are harness-only and cost no model context at all. The five skills cost ~770 tokens always-on between them; a skill's body is only read when it fires. Measure it on your own machine with claude plugin details.
The installer merges. It preserves other hooks, permissions and settings, backs the file up before writing, is idempotent, and refuses to touch a settings.json it cannot parse.
The kit rides four documented hook events and the plugin manifest. When something breaks, 1.x updates are free — and measure-example.mjs tells you that it broke rather than letting it fail silently, which is the part most tooling gets wrong.
Nothing is sent anywhere. There is no account, no key, no callback, and I cannot see your usage. If you want me to see something, you have to send it.
Yes. MIT.
Ask, within 14 days, for any reason. No form, no questions. Write to support@cemdalf.com.
Yes — with Claude Code, using the same hooks, skills and memory patterns it ships. That is stated in the README and here, and it is the reason the kit exists in this shape.
No. Carryover is an independent plugin for Claude Code, made by Cemdalf. Claude and Claude Code are trademarks of Anthropic, PBC; there is no affiliation or endorsement.