diff --git a/.claude-plugin/marketplace.json b/.claude-plugin/marketplace.json
index 7ee38f2a..1f0daced 100644
--- a/.claude-plugin/marketplace.json
+++ b/.claude-plugin/marketplace.json
@@ -10,7 +10,7 @@
"plugins": [
{
"name": "claude-mem",
- "version": "6.3.7",
+ "version": "6.4.0",
"source": "./plugin",
"description": "Persistent memory system for Claude Code - context compression across sessions"
}
diff --git a/CLAUDE.md b/CLAUDE.md
index b8668100..c91cfbf6 100644
--- a/CLAUDE.md
+++ b/CLAUDE.md
@@ -6,7 +6,7 @@
Claude-mem is a Claude Code plugin providing persistent memory across sessions. It captures tool usage, compresses observations using the Claude Agent SDK, and injects relevant context into future sessions.
-**Current Version**: 6.3.7
+**Current Version**: 6.4.0
## Architecture
diff --git a/package.json b/package.json
index 482adf3f..47ed6832 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "claude-mem",
- "version": "6.3.7",
+ "version": "6.4.0",
"description": "Memory compression system for Claude Code - persist context across sessions",
"keywords": [
"claude",
diff --git a/plugin/.claude-plugin/plugin.json b/plugin/.claude-plugin/plugin.json
index 76d0fb92..b472d757 100644
--- a/plugin/.claude-plugin/plugin.json
+++ b/plugin/.claude-plugin/plugin.json
@@ -1,6 +1,6 @@
{
"name": "claude-mem",
- "version": "6.3.7",
+ "version": "6.4.0",
"description": "Persistent memory system for Claude Code - seamlessly preserve context across sessions",
"author": {
"name": "Alex Newman"
diff --git a/plugin/scripts/user-message-hook.js b/plugin/scripts/user-message-hook.js
index a49daf5b..33716741 100755
--- a/plugin/scripts/user-message-hook.js
+++ b/plugin/scripts/user-message-hook.js
@@ -1,5 +1,5 @@
#!/usr/bin/env node
-import{execSync as _}from"child_process";import{join as i}from"path";import{homedir as m}from"os";import{existsSync as x}from"fs";import l from"path";import{homedir as f}from"os";import{existsSync as g,readFileSync as h}from"fs";import{join as t,dirname as p,basename as T}from"path";import{homedir as c}from"os";import{fileURLToPath as u}from"url";function d(){return typeof __dirname<"u"?__dirname:p(u(import.meta.url))}var P=d(),e=process.env.CLAUDE_MEM_DATA_DIR||t(c(),".claude-mem"),s=process.env.CLAUDE_CONFIG_DIR||t(c(),".claude"),A=t(e,"archives"),C=t(e,"logs"),S=t(e,"trash"),I=t(e,"backups"),v=t(e,"settings.json"),b=t(e,"claude-mem.db"),M=t(e,"vector-db"),U=t(s,"settings.json"),j=t(s,"commands"),L=t(s,"CLAUDE.md");function a(){try{let o=l.join(f(),".claude-mem","settings.json");if(g(o)){let n=JSON.parse(h(o,"utf-8")),r=parseInt(n.env?.CLAUDE_MEM_WORKER_PORT,10);if(!isNaN(r))return r}}catch{}return parseInt(process.env.CLAUDE_MEM_WORKER_PORT||"37777",10)}var D=i(m(),".claude","plugins","marketplaces","thedotmack"),y=i(D,"node_modules");x(y)||(console.error(`
+import{execSync as _}from"child_process";import{join as i}from"path";import{homedir as p}from"os";import{existsSync as y}from"fs";import l from"path";import{homedir as f}from"os";import{existsSync as g,readFileSync as h}from"fs";import{join as t,dirname as m,basename as T}from"path";import{homedir as a}from"os";import{fileURLToPath as u}from"url";function d(){return typeof __dirname<"u"?__dirname:m(u(import.meta.url))}var P=d(),e=process.env.CLAUDE_MEM_DATA_DIR||t(a(),".claude-mem"),s=process.env.CLAUDE_CONFIG_DIR||t(a(),".claude"),A=t(e,"archives"),C=t(e,"logs"),S=t(e,"trash"),v=t(e,"backups"),I=t(e,"settings.json"),b=t(e,"claude-mem.db"),M=t(e,"vector-db"),U=t(s,"settings.json"),j=t(s,"commands"),L=t(s,"CLAUDE.md");function c(){try{let o=l.join(f(),".claude-mem","settings.json");if(g(o)){let n=JSON.parse(h(o,"utf-8")),r=parseInt(n.env?.CLAUDE_MEM_WORKER_PORT,10);if(!isNaN(r))return r}}catch{}return parseInt(process.env.CLAUDE_MEM_WORKER_PORT||"37777",10)}var x=i(p(),".claude","plugins","marketplaces","thedotmack"),D=i(x,"node_modules");y(D)||(console.error(`
---
\u{1F389} Note: This appears under Plugin Hook Error, but it's not an error. That's the only option for
user messages in Claude Code UI until a better method is provided.
@@ -17,15 +17,16 @@ Dependencies have been installed in the background. This only happens once.
Thank you for installing Claude-Mem!
This message was not added to your startup context, so you can continue working as normal.
-`),process.exit(3));try{let o=i(m(),".claude","plugins","marketplaces","thedotmack","plugin","scripts","context-hook.js"),n=_(`node "${o}" --colors`,{encoding:"utf8"}),r=a();console.error(`
+`),process.exit(3));try{let o=i(p(),".claude","plugins","marketplaces","thedotmack","plugin","scripts","context-hook.js"),n=_(`node "${o}" --colors`,{encoding:"utf8"}),r=c();console.error(`
\u{1F4DD} Claude-Mem Context Loaded
\u2139\uFE0F Note: This appears as stderr but is informational only
`+n+`
-\u{1F4AC} Community
-https://discord.gg/J4wttp9vDu
+\u{1F4A1} New! Wrap all or part of any message with ... to prevent storing sensitive information in your observation history.
+
+\u{1F4AC} Community https://discord.gg/J4wttp9vDu
\u{1F4FA} Watch live in browser http://localhost:${r}/
`)}catch(o){console.error(`\u274C Failed to load context display: ${o}`)}process.exit(3);
diff --git a/src/hooks/user-message-hook.ts b/src/hooks/user-message-hook.ts
index 1fb11552..94016382 100644
--- a/src/hooks/user-message-hook.ts
+++ b/src/hooks/user-message-hook.ts
@@ -52,7 +52,8 @@ try {
"\n\n📝 Claude-Mem Context Loaded\n" +
" ℹ️ Note: This appears as stderr but is informational only\n\n" +
output +
- "\n\n💬 Community\nhttps://discord.gg/J4wttp9vDu\n" +
+ "\n\n💡 New! Wrap all or part of any message with ... to prevent storing sensitive information in your observation history.\n" +
+ "\n💬 Community https://discord.gg/J4wttp9vDu\n" +
`\n📺 Watch live in browser http://localhost:${port}/\n`
);