Highlights
/forge watch pass against code.claude.com covering Claude Code v2.1.92 → v2.1.119. 14 practices accepted, 6 auto-generated rejects, 1 deferred.
Domain rules refreshed
- Hook event catalogue → 33+ with
UserPromptExpansion(slash-command expansion, blockable) andPostToolBatch(end-of-batch validation, blockable). Documentedmcp_toolas a fifth hook type with\${tool_input.*}substitution (v2.1.118+).PostToolUse/PostToolUseFailurenow carryduration_ms(v2.1.119+).UserPromptSubmitcan returnhookSpecificOutput.sessionTitle(v2.1.94+). - Auto mode
\"\$defaults\"placeholder (v2.1.118+) — extendsautoMode.allow|soft_deny|environmentinstead of replacing them. Removes the all-or-nothing trade-off when shipping custom rules. - Permission tightening (v2.1.113+):
Bash(find:*)allow rules no longer auto-approve-exec/-delete; deny rules now matchenv/sudo/watch/ionice/setsidwrappers; macOS/private/{etc,var,tmp,home}are dangerous removal targets underBash(rm:*). - Native macOS/Linux builds (v2.1.117+) replace
Glob/Grepwith embeddedbfs/ugrepviaBash.Glob(...)/Grep(...)permission specifiers and hook matchers are now platform-dependent. - TUI + idle-return recap:
tuisetting +/tuitoggle (v2.1.110+);awaySummaryEnabled+/recap(v2.1.108+, default-on for telemetry-disabled deployments since v2.1.110). Coexists with dotforge'slast-compact.md— different problems (idle return vs compaction survival). - Git attribution refresh:
attribution.commit/attribution.prsupersedeincludeCoAuthoredBy;prUrlTemplatefor self-hosted GitHub/GitLab/Bitbucket. - CLI surface fully documented in
domain/parallel-sessions.md: 16+ flags and 6 subcommands (claude install,auth,agents,auto-mode,remote-control,setup-token).
Operational fixes
- Audit checklist item 14 — scoring v3 behavior coverage now requires ENFORCEMENT (compiled hook under
.claude/hooks/generated/AND asettings.jsonreference), not just abehaviors/index.yamldeclaration. Closes the false-positive that scored projects 1/1 with no runtime effect. verify-before-doneregex extended to matchbash tests/*.sh,bash <path>/test-*.sh,./tests/*.sh. Fixes legitimategit pushfrom dotforge being soft-blocked afterbash tests/test-*.shruns. Recompiled hook included so the change takes runtime effect (caveat: behavior YAML edits are inert until `scripts/compiler/compile.sh` is rerun).docs/claude-vs-forge.md: `/usage` is the canonical command (`/cost` and `/stats` are aliases since v2.1.118).
Verified
33/33 tests pass — 19 skills + 8 runtime + 1 compiler + 5 behavior CLI.
Catch-up note
Latest published release was v3.0.0 (2026-04-13). Versions v3.1.0 → v3.3.1 shipped between releases — see docs/changelog.md for the full intervening history.
Full diff: v3.0.0...v3.4.0