Skip to content

v0.8.0

Choose a tag to compare

@coder-pm coder-pm released this 12 Apr 20:52
· 287 commits to main since this release

Per-project session isolation — each project gets its own Claude history.

Previously, all containers shared a single ~/.claude directory. cleat resume for project A showed Claude's conversation history from project B. Now each container mounts a per-project session directory so sessions, tasks, and project memory are isolated. Auth and global settings remain shared.

Features

  • Per-project sessions — each project's Claude Code sessions are stored under ~/.claude/projects/<basename>-<hash>/ on the host, mounted as an overlay at /home/coder/.claude/projects/-workspace inside the container. --continue finds the correct latest session for each project
  • Hash-based session keys — project paths are mapped to <lowercase-basename>-<md5-8char> keys, avoiding collisions from similar path names and normalizing case for macOS HFS+ compatibility

Fixes

  • Session key collision — the initial tr '/' '-' approach mapped /a-b/c and /a/b-c to the same key, mixing sessions between unrelated projects. Switched to hash-based keys
  • macOS case sensitivity — session key basename is lowercased so MyProject and myproject share the same key on case-insensitive filesystems

Changes

  • cmd_rm and cmd_nuke preserve session directories on the host (only container temp dirs are cleaned)
  • 520 (+9) behavioral tests (19 mutations caught)