Skip to main content
Beta.16 is a compatibility patch for template hash portability, task archive inputs, and Claude Code statusLine upgrades after beta.15.

Bug Fixes

Template hash portability

Template hash storage now uses POSIX path keys and LF-normalized content hashes. The .trellis/.template-hashes.json file now uses a versioned envelope:
This fixes Windows checkout cases where backslash hash keys or CRLF line endings made unchanged templates look modified.

task.py archive input contract

task.py archive now accepts the same task inputs as the other task-directory commands. Previously, archive was the only dir-style task command that used slug-only lookup. Passing .trellis/tasks/<slug> failed with Task not found even though other task commands accepted that form.

Existing Claude Code statusLine installs are preserved

Beta.15 stopped installing Claude Code statusLine for new projects. That default is unchanged. The upgrade path is now more conservative: This means beta.16 no longer treats Claude Code statusLine as a cleanup target. Users who no longer want it can delete the file and settings entry manually.

Shared-hook cleanup still applies to orphan platform files

The non-Claude statusline.py cleanup entries remain hash-verified safe deletes. Those platforms have no statusLine event, so the files were never invoked:
  • .cursor/hooks/statusline.py
  • .codex/hooks/statusline.py
  • .gemini/hooks/statusline.py
  • .qoder/hooks/statusline.py
  • .github/copilot/hooks/statusline.py
  • .codebuddy/hooks/statusline.py
  • .factory/hooks/statusline.py
  • .kiro/hooks/statusline.py

Upgrade

Existing projects:
No --migrate flag is required for this patch.