Claude Session Logger
A Claude Code plugin that intercepts all conversation logs and saves them:
- As markdown files - Human-readable, organized by date and session
- Into a SQLite database - Structured, queryable, analytics-ready
Works with both CLI and VS Code extension - they share the same configuration.
Installation
Prerequisites
- Bun runtime (v1.0.0 or later)
# Install Bun if you don't have it
curl -fsSL https://bun.sh/install | bash
Install from GitHub (Recommended)
# Add the marketplace
claude plugin marketplace add davidshq/claude-remember
# Install the plugin
claude plugin install claude-remember@claude-remember
Or use slash commands in Claude Code:
/plugin marketplace add davidshq/claude-remember
/plugin install claude-remember@claude-remember
Install for Development
If you want to modify the plugin or contribute:
# Clone the repository
git clone https://github.com/davidshq/claude-remember.git
cd claude-remember
# Install dependencies
bun install
# Test with the plugin loaded
claude --plugin-dir .
Slash Commands
The plugin provides both deterministic commands (run exact code) and LLM-interpreted commands:
Deterministic commands (handled by hook, always behave the same):
| Command | Alias | Description |
|---|
/claude-remember:disable | /remember:disable | Disable logging for this project |
/claude-remember:enable | /remember:enable | Re-enable logging for this project |
/claude-remember:retry | /remember:retry | Retry any failed logging events |
You can also use natural language: "disable remember logging", "enable remember logging", "retry remember logging"
LLM-interpreted commands (Claude decides how to fulfill the request):
| Command | Description |
|---|
/claude-remember:status | View logging status and recent sessions |
/claude-remember:search <query> | Search past sessions by keyword |
/claude-remember:today | List all sessions from today |
Updating
To get the latest version of the plugin:
claude plugin marketplace update claude-remember
Or use the slash command:
/plugin marketplace update claude-remember
This pulls the latest changes from GitHub. The update takes effect on your next Claude Code session.
Note: Third-party plugins (like this one) don't auto-update by default. You can enable auto-updates for this marketplace in Claude Code settings, or run the update command periodically.
Uninstall
claude plugin uninstall claude-remember@claude-remember
Or use the slash command:
/plugin uninstall claude-remember@claude-remember
This removes the plugin but preserves your log files in ~/.claude-logs/.
First-Time Setup
When you open Claude Code in a project for the first time after installing the plugin, you'll see a setup prompt:
[Claude Remember] Session logging is available for "my-project".
To enable logging, say "enable remember logging".
To disable this prompt, say "disable remember logging".
This is an opt-in consent model - the plugin won't record any conversation data until you explicitly enable it. This ensures you're aware logging is available and have control over which projects are recorded.
- Say "enable remember logging" to start logging. A
.claude-remember.json config file is created with enabled: true.
- Say "disable remember logging" to disable the prompt. A config file is created with
enabled: false.
If you've been using an earlier version of the plugin, your existing projects will continue logging without prompting (the plugin detects you have existing sessions in the database).
Output
Markdown Files
Located at ~/.claude-logs/sessions/YYYY-MM-DD/:
~/.claude-logs/
├── sessions/
│ ├── 2026-01-16/
│ │ ├── 01_093045_abc12345_my-project.md
│ │ └── 02_143022_def67890_other-project.md
│ └── 2026-01-17/
│ └── 01_101530_ghi11111_my-project.md
└── sessions.db
Files are named {sequence}_{HHMMSS}_{session_id}_{project}.md where sequence is the session number for that day, HHMMSS is the start time, and session_id is the first 8 characters of the Claude session ID.
Each markdown file contains:
- Session metadata (project path, start time, status)
- User messages with timestamps
- Tool calls with formatted inputs
- Tool results (success/failure, optional output)
- Assistant responses
SQLite Database
Located at ~/.claude-logs/sessions.db with five tables:
sessions
id - Session ID
project_path - Project directory
started_at / ended_at - Timestamps
status - active/completed/interrupted
interface - cli/vscode/web
markdown_path - Path to the markdown log file