<div align="center">
<img src="https://capsule-render.vercel.app/api?type=waving&color=0:2E4057,50:048A81,100:54C6EB&height=200&text=RECALL&fontSize=80&fontColor=E8F1F2&fontAlignY=35&desc=find%20your%20way%20back.&descAlignY=55&descSize=22&descAlign=50&animation=fadeIn" width="100%" alt="Recall" />
[](https://rust-lang.org)
[](LICENSE)
</div>
---
## What is Recall?
A TUI session browser for AI coding assistants — [GitHub Copilot CLI](https://github.com/github/copilot-cli), [Claude Code](https://docs.anthropic.com/en/docs/claude-code), and more. Browse, search, preview, and resume your past sessions across providers without memorizing UUIDs or scrolling through `/resume`.
Think of it as the conversation sidebar that ChatGPT and Claude have — but for your terminal.
### Features
| **Multi-provider** | Supports Copilot CLI and Claude Code sessions in one unified view |
| **Session list** | All sessions sorted by last activity, with summary and age |
| **Live preview** | Checkpoints, user messages, completed tasks — at a glance |
| **Search** | Fuzzy filter across summaries, directories, and message content |
| **Resume** | Press Enter to launch `copilot --resume <id>` directly |
| **Delete** | Clean up old sessions with confirmation |
| **CLI mode** | `--list` and `--count` flags for scripting |
### Supported providers
| GitHub Copilot CLI | ✅ Supported | `~/.copilot/session-state/` |
| Claude Code | ✅ Supported | `~/.claude/projects/` |
## Install
```bash
# Homebrew (macOS/Linux)
brew tap OriginalMHV/tap
brew install recall
# Cargo
cargo install recall-cli
# Shell (macOS/Linux)
# From source
git clone https://github.com/OriginalMHV/recall.git
cd recall && cargo install --path .
```
Requires Rust >= 1.85 for building from source.
## Usage
```bash
# launch the TUI
recall
# list sessions as plain text
recall --list
# get session count
recall --count
```
### Keybindings
| `↑` `↓` / `j` `k` | Navigate sessions |
| `Enter` | Resume selected session |
| `/` | Search sessions |
| `d` | Delete session (with confirmation) |
| `Shift+↑↓` / `←` `→` | Scroll preview panel |
| `Tab` | Cycle provider filter (All → Copilot → Claude → All) |
| `g` / `G` | Jump to first / last session |
| `q` / `Esc` | Quit |
### Search mode
| Type | Filter sessions |
| `Enter` / `Esc` | Exit search |
| `Ctrl+U` | Clear search |
## How it works
Recall uses a multi-provider architecture to discover sessions across AI coding assistants:
- **Copilot CLI**: reads from `~/.copilot/session-state/`, parsing `workspace.yaml` for metadata and `events.jsonl` for conversation content. Checkpoint history is pulled from `checkpoints/index.md`.
- **Claude Code**: reads from `~/.claude/projects/`, parsing JSONL conversation files for session metadata, messages, and tool usage.
Nothing is modified unless you explicitly delete a session. Recall is read-only by default.
When you hit Enter on a session, Recall exits cleanly and launches the appropriate CLI tool to resume the session.
## License
MIT. See [LICENSE](LICENSE).
<img src="https://capsule-render.vercel.app/api?type=waving&color=0:54C6EB,50:048A81,100:2E4057&height=120§ion=footer&reversal=true" width="100%" alt="" />