Overview
Claude-mem uses asettings.json
file located in ~/.claude-mem/settings.json
to configure its behavior. This file controls various aspects of memory compression, project settings, and integration features.
Settings File Location
The settings file is automatically created when you first runclaude-mem install
. It’s located at:
Available Settings
Setting Details
Core Settings
autoCompress
- Type:
boolean
- Default:
false
- Description: Automatically compress transcripts when Claude Code sessions end
- Example:
projectName
- Type:
string
- Default: Auto-detected from current directory
- Description: Override the project name used for memory organization
- Example:
installed
- Type:
boolean
- Default:
false
- Description: Tracks whether claude-mem hooks are properly installed
- Note: This is automatically managed by the installation process
Backend Configuration
backend
- Type:
string
- Default:
"chroma"
- Description: Vector database backend for memory storage
- Options:
"chroma"
(only supported option currently) - Example:
embedded
- Type:
boolean
- Default:
true
- Description: Use embedded Chroma database vs. external server
- Example:
Memory Management
saveMemoriesOnClear
- Type:
boolean
- Default:
true
- Description: Preserve memories when clearing transcript data
- Example:
Integration Settings
claudePath
- Type:
string
- Default:
"claude"
- Description: Path to the Claude Code CLI executable
- Use Cases:
- Custom installation paths
- Multiple Claude versions
- Debugging with specific builds
- Example:
Configuration Best Practices
Project-Specific Settings
While settings are global by default, you can create project-specific configurations:- Global settings in
~/.claude-mem/settings.json
- Project overrides detected from environment and context
Development vs Production
Managing Settings
Reading Settings Programmatically
Claude-mem provides utilities to read settings:Updating Settings
Settings are automatically updated by claude-mem commands, but you can manually edit the JSON file:Troubleshooting
Settings Not Loading
If settings aren’t being read properly:-
Check file permissions:
-
Validate JSON syntax:
-
Reset to defaults:
Common Issues
Invalid JSON Format
Path Resolution
ForclaudePath
, use absolute paths or ensure the binary is in your PATH:
Migration Guide
From v3.5.x to v3.6.x
No breaking changes in settings format. New settings added with defaults:saveMemoriesOnClear
: Defaulttrue
- Enhanced
projectName
auto-detection
Upgrading Settings
When upgrading claude-mem versions:-
Backup current settings:
-
Run installation:
- Restore custom settings if needed
Advanced Configuration
Environment Variable Overrides
Some settings can be overridden with environment variables:Custom Backend Configuration
Future versions will support additional backend options. Current structure:Security Considerations
File Permissions
Ensure proper permissions on the settings file:Sensitive Data
Avoid storing sensitive information in settings:- Use environment variables for secrets
- Keep paths relative when possible
- Use secure defaults
Related Documentation
- Installation Guide - Setting up claude-mem
- Hook Configuration - Customizing hooks
- CLI Reference - Managing settings via CLI