v2.21.0

Released August 23, 2026 · View on GitHub →

Agents you delete on the dashboard now disappear from your machines, sync says when it failed instead of going quiet, and a dependency advisory is closed.

Added

the pull loop only iterated what the server returned, so a bot removed on the dashboard stayed on every client forever. The server now sends an explicit tombstone list and the CLI applies it — backing each file up to ~/.codeep/backups/personalities/ before removing it. Absence from the payload still means nothing at all: an expired session, the wrong account or a truncated response all produce an empty payload, and deleting on absence would wipe every local agent. Project-scoped agents in .codeep/personalities/ are not cloud-owned and are never touched.

Changed

null and the caller printed only when something changed, so a dead network, an expired token and "nothing new" were all the same silence. Pulls and pushes now report which of the four happened — not linked, unreachable, rejected, or a response this version can't read — and say "already up to date" when that is the truth.

Fixed

The CLI's production dependencies now report zero advisories.

Removed

unreachable since. Its component and tests went with it — 142 lines that looked alive and had passing tests. noUnusedLocals is now on: it is the check that would have caught reportTurnStats shipping dead in 2.18.1, and it caught an unwired function inside an hour of being enabled.

Downloads

Install with npm install -g codeep@2.21.0 or brew install vladoivankovic/codeep/codeep.