The terminal interface

Your memory, scriptable

One small command puts your Overlay memory in the terminal — and in the hands of the coding agents that work there. Upload, download, and search from scripts, pipes, and CLAUDE.md.

Install

npm i -g @overlay-one/cli
overlay login        # one browser click

01The commands

Five verbs, pipe-friendly

Human output is a quiet ledger — numbered rows, no UUIDs. --json is the machine contract: data on stdout, messages on stderr, honest exit codes.

overlay upload paper.pdf               # into your memory
cat notes.md | overlay upload - --name notes.md
overlay search "prompt caching"        # hybrid search over everything
overlay files                          # recent sources
overlay download 2 --annotated         # row 2; PDFs keep your highlights

02For coding agents

Give Claude Code your memory

Agents that live in the terminal can use the same five verbs. Paste this into your project's CLAUDE.md or AGENTS.md — the agent recalls your past decisions before asking you to re-explain them, and files what it learns back into your memory.

## Memory — Overlay CLI

This machine is authorized against my personal memory (overlay.one).
Use it instead of asking me to re-explain past work.

- Recall context first:  overlay search "<topic>" --json
- List recent sources:   overlay files --json
- Read a stored file:    overlay download <id or row #> -o /tmp/<name>
- Save what you learn:   overlay upload <file>
  (or pipe: echo "decision: ..." | overlay upload - --name decision.md)

Contract: --json prints raw API payloads on stdout; messages go to
stderr; exit code 3 means run `overlay login`.

03Authorized once, revocable always

overlay login hands this machine a token after one explicit click in your browser. It lives in ~/.config/overlay, refreshes itself, and overlay logout revokes it. Your account, your memory, your receipts.

Overlay - Personal AI context