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

93 lines
3.6 KiB
Markdown

# 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.