Files
claude-mem/plugin/hooks/bugfixes-2026-01-10.md
Alex Newman a2ab45a461 feat: move development commands to plugin distribution (#666)
* feat: move development commands to plugin distribution

Move /do, /make-plan, and /anti-pattern-czar commands from project-level
.claude/commands/ to plugin/commands/ so they are distributed with the
plugin and available to all users as /claude-mem:do, /claude-mem:make-plan,
and /claude-mem:anti-pattern-czar.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

* chore: Update CLAUDE.md and package version; fix bugs and enhance tests

- Updated CLAUDE.md to reflect changes and new entries for January 2026.
- Bumped package version from 9.0.2 to 9.0.3 in package.json.
- Refactored worker-service.cjs for improved error handling and process management.
- Added new bugfix documentation for critical issues identified on January 10, 2026.
- Cleaned up integration test logs and removed outdated entries in tests/integration/CLAUDE.md.
- Updated server test documentation to reflect recent changes and removed old entries.
- Enhanced hook response patterns and added new entries in hooks/CLAUDE.md.

* fix: keep anti-pattern-czar as internal dev tool

The anti-pattern-czar command relies on scripts that only exist in
the claude-mem development repository, so it shouldn't be distributed
with the plugin. Moving it back to .claude/commands/ for internal use.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-10 18:22:08 -05:00

3.6 KiB

Bugfix Sprint: 2026-01-10

Critical Priority (Blocks Users)

#646 - Plugin bricks Claude Code - stdin fstat EINVAL crash

  • Impact: Plugin completely bricks Claude Code on Linux. Users cannot recover without manual config editing.
  • Root Cause: Bun's stdin handling causes fstat EINVAL when reading piped input
  • Related Discussion: Check if this is a Bun upstream issue
  • Investigate stdin handling in hook scripts
  • Test on Linux with stdin piping
  • Implement fix

#623 - Crash-recovery loop when memory_session_id not captured

  • Impact: Infinite loop consuming API tokens, growing queue unbounded
  • Root Cause: memory_session_id not captured, causes repeated crash-recovery
  • Add null/undefined check for memory_session_id
  • Add circuit breaker for crash-recovery attempts

High Priority

#638 - Worker startup missing JSON output causes hooks to appear stuck

  • Impact: UI appears stuck during worker startup
  • Ensure worker startup emits proper JSON status
  • Add progress feedback to hook output

#641/#609 - CLAUDE.md files in subdirectories

  • Impact: CLAUDE.md files scattered throughout project directories
  • Note: This is a documented feature request that was never implemented (setting exists but doesn't work)
  • Implement the disableSubdirectoryCLAUDEmd setting properly
  • Or change default behavior to not create subdirectory files

#635 - JSON parsing error prevents folder context generation

  • Impact: Folder context not generating, breaks context injection
  • Root Cause: String spread instead of array spread
  • Fix the JSON parsing logic
  • Add proper error handling

Medium Priority

#582 - Tilde paths create literal ~ directories

  • Impact: Directories named "~" created instead of expanding to home
  • Use path expansion for tilde in all path operations
  • Audit all path handling code

#642/#643 - ChromaDB search fails due to initialization timing

  • Impact: Search fails with JSON parse error
  • Note: #643 is a duplicate of #642
  • Fix initialization timing issue
  • Add proper async/await handling

#626 - HealthMonitor hardcodes ~/.claude path

  • Impact: Fails for users with custom config directories
  • Use configurable path instead of hardcoded ~/.claude
  • Respect CLAUDE_CONFIG_DIR or similar env var

#598 - Too many messages pollute conversation history

  • Impact: Hook messages clutter conversation
  • Reduce verbosity of hook messages
  • Make message frequency configurable

Low Priority (Code Quality)

#648 - Empty catch blocks swallow JSON parse errors

  • Add proper error logging to catch blocks in SessionSearch.ts

#649 - Inconsistent logging in CursorHooksInstaller

  • Replace console.log with structured logger
  • Note: 177 console.log calls across 20 files identified

Won't Fix / Not a Bug

#632 - Feature request for disabling CLAUDE.md in subdirectories

  • Note: Covered by #641 implementation

#633 - Help request about Cursor integration

  • Note: Documentation/support issue, not a bug

#640 - Arabic README translation

  • Note: Documentation PR, not a bugfix

#624 - Beta testing strategy proposal

  • Note: Enhancement proposal, not a bugfix

Already Fixed in v9.0.2

  • Windows Terminal tab accumulation (#625/#628)
  • Windows 11 compatibility - WMIC to PowerShell migration
  • Claude Code 2.1.1 compatibility + path validation (#614)

Recommended Approach: Fix #646 first (critical blocker), then #623 (crash loop), then work through high priority issues in order of impact.