Self-improving Claude Code

Run claude — it gets smarter the more you use it.

opencrow is a thin wrapper around the Claude Code CLI. Launch opencrow instead of claude: your session is the normal terminal claude — but now it recalls relevant work from past sessions, and when the conversation ends, it learns in the background.

No extra API key. Your Claude subscription stays the core.


How it works

opencrow has two faces

The building blocks already ship with Claude Code — hooks, skills, memory files, MCP. opencrow uses them to add what isn't built in: automatic cross-session recall, and a learning loop on every exit.

FOREGROUND · your terminal

The claude you already use

opencrow spawns claude with stdio inherited — a normal interactive session — and quietly attaches the learning layer:

  • A UserPromptSubmit hook prefetches related past work into the prompt, each turn.
  • An MCP server exposes recall_search and skill_save to the model.
BACKGROUND · unattended

It learns when you leave

When the session ends — /exit, Ctrl-D, Ctrl-C — a detached process runs one learning pass, then gets out of the way.

  • Indexes the conversation so it stays searchable.
  • Extracts how you work, and turns recurring tasks into reusable skills.
The learning pass

Two steps, every time you exit

01

Recall index

Transcripts become SQLite + FTS5, so everything you've ever done stays full-text searchable — and surfaces itself into future prompts.

02

Learning loop

It extracts durable facts about how you work and generates or merges skills, a few items at a time, by driving a headless claude over a PTY. Still on your subscription — no API key, no SDK.


Where things accumulate

Inspectable, reversible, and yours

opencrow does the learning, but what it produces lands in places you control — and you can view or remove any of it from the terminal.

~/.claude/skills/

Generated skills are written into your global claude — usable in any claude session, whether or not you launched it through opencrow.

~/.opencrow/recall.db

The recall index and remembered preferences (user-model.json) live in opencrow's own directory, surfaced live via the hook and MCP.

opencrow memory · skills

List what's been learned, clear preferences, or archive a skill — non-destructive, every step reversible from the CLI.


Principles

What opencrow refuses to do

The core is the interactive claude. A logged-in claude is launched as-is. No claude -p, no SDK, no API key.
The foreground stays your normal claude. opencrow doesn't intercept or re-render your session — it just attaches the hooks and MCP server.
Automatic, incremental, non-destructive. Generation needs no approval, runs a few items per pass, and skills are archived — never hard-deleted.
Management is visible and reversible. opencrow memory and opencrow skills let you view and remove what was learned.

Install

Run opencrow instead of claude

Requires Node 20+ and a claude CLI you've already logged into. Primary target is macOS (arm64).

setup
git clone https://github.com/opencrow-ai/opencrow.git
cd opencrow
npm install
npm run build
npm link # put opencrow on your PATH
everyday use
opencrow                 # launch claude + learning
opencrow recall <query>  # search past sessions
opencrow memory          # what it remembers
opencrow skills          # auto-generated skills
opencrow status          # recall store dashboard
Node.js ≥ 20 a logged-in claude CLI macOS arm64 · primary target MIT licensed

The claude that remembers.

No new key, no new habits. Just run opencrow — and let it get smarter while you work.