Claude Kept Forgetting Everything. I Fixed It With a Shell Script.

The Ultimate Terminal Stack in 2026: A Cross-Platform Guide for macOS,  Linux, and Windows | by Vidy
TL;DR: claude-echolog is a Claude Code plugin (pure shell scripts) that automatically logs meaningful work to a local markdown file and injects it into every new session. Install: claude plugin marketplace add goyaljai/claude-echolog. Repo: github.com/goyaljai/claude-echolog

Here’s the situation that finally made me build this.

I spent an afternoon debugging a weird nginx + PHP-FPM issue. Claude helped me find it — something subtle about service names varying across Ubuntu versions, and why systemctl list-units is the right discovery command, not guessing. We fixed it. Session ended.

Three days later, different project, same stack. I described the issue. Claude started from scratch and suggested the same wrong commands I’d already tried. Forty minutes, again, on a problem we’d already solved.

Every session is a blank slate. That’s just how Claude works. It has no memory of what you did last week or five minutes ago in a different tab. For one-off questions that’s fine. For ongoing engineering work, it compounds into real lost time.

How claude-echolog works

It’s a Claude Code plugin — entirely shell scripts — that logs meaningful work to ~/claude-echolog.md in a structured format, then injects that log at the start of every new session.

The format is three lines:

  • What: the problem
  • How: the approach
  • Key: the exact command, config, or solution

Real example from my log:

## 2026-05-22
What: PHP-FPM service name on Ubuntu 22 is php8.2-fpm, not php-fpm or php8.1-fpm.
How: Discovered via systemctl list-units --type=service | grep php
Key: Always use systemctl list-units to discover service names, never guess.

Next time I hit nginx + PHP-FPM, Claude reads this at session start and gets it right on the first try. No ramp-up time.

It’s completely passive

You don’t have to remember to log anything. Hooks run automatically — after tool use (file edits, bash commands), before context compaction, on session exit. If something worth remembering happened, it gets captured. If you only asked a quick question, nothing gets written.

Hooks used: UserPromptSubmit, PostToolUse, PreCompact, PostCompact, Stop. All shell scripts, all local.

Setup is one command

claude plugin marketplace add goyaljai/claude-echolog
touch ~/.claude/echolog-consent.flag

The consent flag is intentional — the plugin won’t activate until you explicitly opt in. Everything stays local: no network calls, no telemetry, no cloud sync.

After a few months of use

My knowledge base has about 60 entries covering nginx quirks, Python packaging gotchas, cloud CLI auth flows, and database migration patterns. Claude’s first response on anything I’ve touched before is noticeably better — it’s not starting from scratch, it’s building on what we already worked out together.

If you use Claude Code more than a few times a week, this is worth two minutes to install. Repo at github.com/goyaljai/claude-echolog.

Frequently Asked Questions

What is claude-echolog?

claude-echolog is a Claude Code plugin (pure shell scripts) that automatically logs meaningful work to a local markdown file and injects that log into every new Claude session, giving Claude persistent memory of past solutions.

How do I install claude-echolog?

Run: claude plugin marketplace add goyaljai/claude-echolog — then enable it with: touch ~/.claude/echolog-consent.flag. The consent flag is required; the plugin won’t activate without explicit opt-in.

Does claude-echolog send data anywhere?

No. Everything stays local — ~/claude-echolog.md on your machine. There are no network calls, no telemetry, no cloud sync. Zero privacy concerns.

What kind of work gets logged automatically?

File edits, bash commands, and session work that produced a meaningful outcome. Hooks trigger on PostToolUse, PreCompact, PostCompact, and Stop. Quick Q&A that didn’t involve real work doesn’t generate log entries.

Find more of my work:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *

Share