claude-mem 10.3.2 → 10.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-mem",
3
- "version": "10.3.2",
3
+ "version": "10.4.0",
4
4
  "description": "Memory compression system for Claude Code - persist context across sessions",
5
5
  "keywords": [
6
6
  "claude",
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-mem",
3
- "version": "10.3.2",
3
+ "version": "10.4.0",
4
4
  "description": "Persistent memory system for Claude Code - seamlessly preserve context across sessions",
5
5
  "author": {
6
6
  "name": "Alex Newman"
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-mem-plugin",
3
- "version": "10.3.2",
3
+ "version": "10.4.0",
4
4
  "private": true,
5
5
  "description": "Runtime dependencies for claude-mem bundled hooks",
6
6
  "type": "module",
@@ -12,7 +12,7 @@
12
12
  * Fixes #818: Worker fails to start on fresh install
13
13
  */
14
14
  import { spawnSync, spawn } from 'child_process';
15
- import { existsSync } from 'fs';
15
+ import { existsSync, readFileSync } from 'fs';
16
16
  import { join } from 'path';
17
17
  import { homedir } from 'os';
18
18
 
@@ -54,6 +54,24 @@ function findBun() {
54
54
  return null;
55
55
  }
56
56
 
57
+ // Early exit if plugin is disabled in Claude Code settings (#781).
58
+ // Sync read + JSON parse — fastest possible check before spawning Bun.
59
+ function isPluginDisabledInClaudeSettings() {
60
+ try {
61
+ const configDir = process.env.CLAUDE_CONFIG_DIR || join(homedir(), '.claude');
62
+ const settingsPath = join(configDir, 'settings.json');
63
+ if (!existsSync(settingsPath)) return false;
64
+ const settings = JSON.parse(readFileSync(settingsPath, 'utf-8'));
65
+ return settings?.enabledPlugins?.['claude-mem@thedotmack'] === false;
66
+ } catch {
67
+ return false;
68
+ }
69
+ }
70
+
71
+ if (isPluginDisabledInClaudeSettings()) {
72
+ process.exit(0);
73
+ }
74
+
57
75
  // Get args: node bun-runner.js <script> [args...]
58
76
  const args = process.argv.slice(2);
59
77