Every time I start a new Claude Code session, I spend 10 minutes re-explaining what I was doing. What files matter, what I tried that didn't work, what the current state is. It's tedious and Claude forgets all of it when the session ends.
This tool fixes that. Run claude-remember save when you're done working, claude-remember load when you start again, paste the output into Claude, done.
No API calls. No LLM. Just reads your git log, project files, and recently modified files, then formats it as markdown you can paste into a new session.
Quick (no install needed):
curl -o claude_remember.py https://raw.githubusercontent.com/GenesisClawbot/claude-remember/main/claude_remember.py
python3 claude_remember.py saveOr pip install (runs as claude-remember):
pip install .Or just copy the script wherever you want it. It's one file, no dependencies.
From your project directory:
# At end of session - scan project and save context
python3 claude_remember.py save
# At start of next session - print saved context, ready to paste
python3 claude_remember.py load
# See all saved projects
python3 claude_remember.py listRuns from your current directory. It will:
- Read your last 10 git commits (if this is a git repo)
- Run
git diff --stat HEAD~5..HEADto show recent file changes - Find key files: README.md, CLAUDE.md, TODO.md, package.json, pyproject.toml, Cargo.toml, etc.
- Include the full contents of README.md and CLAUDE.md (first 50 lines each)
- List every file modified in the last 7 days
- Stitch it all into a structured markdown file saved to
~/.claude-remember/[hash].md
The hash is derived from the project's absolute path, so each project gets its own file.
Example output:
Scanning /home/jamie/projects/myapp...
Saved to /home/jamie/.claude-remember/a3f91c2b4d8e.md
Project hash: a3f91c2b4d8e
Edit the 'Current State' and 'Next Steps' sections if you want to add notes.
Run 'claude-remember load' to retrieve it.
Prints the saved summary with a clear header, formatted for copy-paste:
============================================================
=== Claude Code Session Context ===
=== Project: myapp ===
=== Saved: 2024-03-15 17:42 ===
============================================================
# Claude Code Context: myapp
_Generated: 2024-03-15 17:42_
_Project path: /home/jamie/projects/myapp_
## Project Overview
- Branch: `main`
- Remote: git@github.com:jamie/myapp.git
- Path: `/home/jamie/projects/myapp`
## Key Files
- `README.md` (3421 bytes)
- `CLAUDE.md` (892 bytes)
- `pyproject.toml` (1204 bytes)
## Recent Changes
### Git diff stat (HEAD~5..HEAD)
src/api.py | 47 ++++++++++++++++++++++++++++++++-
src/auth.py | 12 +++------
tests/test_api.py| 38 +++++++++++++++++++++++++++
### Recent commits (last 10)
a1b2c3d add rate limiting to /api/search
e4f5a6b fix auth token expiry bug
...
## Recently Modified Files (last 7 days)
- `src/api.py` - 2024-03-15 17:30
- `tests/test_api.py` - 2024-03-15 16:55
...
Paste that into your new Claude Code session and you're back up to speed in seconds.
After running save, open the file and fill in the "Current State" and "Next Steps" sections manually. The tool leaves placeholders there for you. That's where you put things like "auth is working but the rate limiter is broken" or "was in the middle of refactoring the database layer".
# Find and edit the file for current project
HASH=$(python3 claude_remember.py save 2>&1 | grep "hash:" | awk '{print $3}')
nano ~/.claude-remember/$HASH.mdOr just run python3 claude_remember.py list to see the filenames.
CLAUDE.md is for static project context - instructions that don't change much. This is for the ephemeral stuff: what you were doing today, which branch you're on, what just changed in the last week. They work well together. Put the permanent stuff in CLAUDE.md, run claude-remember for the session-specific context.
Everything goes in ~/.claude-remember/. One .md file per project. Easy to read, edit, or delete.
ls ~/.claude-remember/
rm ~/.claude-remember/a3f91c2b4d8e.md # delete one project
rm -rf ~/.claude-remember/ # nuke everythingPython 3.6+. That's it. No external packages.
Git is optional - the tool works fine without it, just skips the commit history sections.