Folks, I really need your help. The problem is that claude-mem captures session data (visible in the web UI at localhost:37700) but never generates observations, the observations table in claude-mem.db stays empty. Environment:
- Claude Code running in WSL2 (Ubuntu) on Windows 11
- Custom API endpoint via ANTHROPIC_BASE_URL pointing to a DeepSeek API (DeepSeek-v4-flash model)
- claude-mem plugin v13.3.0 installed on both Windows and WSL sides Observed behavior:
- The claude-mem worker starts and runs without crashing
- Session data (user prompts, tool calls) appears in the web UI
- But no observations are ever stored in the SQLite database
- The worker log repeatedly shows: SDK returned non-XML/empty response — ignoring queued batch Root cause analysis: claude-mem’s observation generation uses the Claude Agent SDK internally, which sends prompts to the configured Anthropic API endpoint and expects structured XML responses (wrapped in <observation> tags). Since ANTHROPIC_BASE_URL is pointed at a DeepSeek-compatible API, the SDK receives responses in DeepSeek’s format rather than the expected Claude XML format. The parser fails to extract structured observations and discards the batch. What I’ve tried:
- Verified uvx is installed — ChromaDB connectivity is now healthy
- Checked the SQLite database directly — observations table has zero rows
- Confirmed the worker process is running and the web UI is accessible Is there a way to make claude-mem generate observations when using a non-Anthropic API provider (like DeepSeek), or is the Claude Agent SDK’s XML response parsing a hard requirement? Any workaround to decouple observation generation from the Claude API dependency? submitted by /u/Creative-Carpenter33
Originally posted by u/Creative-Carpenter33 on r/ClaudeCode
You must log in or # to comment.
