windback
v1.0.6
Published
AI agent session viewer and unified session workspace
Maintainers
Readme
Windback
Unified AI session store and MCP server for Claude Code, Cursor, GitHub Copilot, and Windsurf — all on a single device.
Every conversation you have with any AI agent gets captured and stored in one place at ~/.windback/workspace/. Each session gets a memorable name like dark-ocean or swift-falcon. Any agent with MCP access can load any past session by name and continue from where it left off.
What it does
- Scans all AI agent sessions on your machine (Claude Code, Cursor, Copilot, Windsurf)
- Stores them in a single local store at
~/.windback/workspace/ - Assigns each session a memorable name (e.g.
dark-ocean,swift-falcon) - Exposes a local MCP server so any agent can read, search, and load sessions
- Stores learnings that agents can sample at the start of future sessions
Quick Start
No install needed. Run any command directly with npx:
npx windback sessions
npx windback mcp
npx windback autoOr install globally once and use windback anywhere:
npm install -g windbackThen run:
windback sessions
windback mcp
windback autoCommands
windback sessions
Browse all AI agent sessions in a terminal UI.
windback sessionsNavigate with arrow keys or j/k. Open any session to read its full conversation.
Keys inside a session:
| Key | Action |
|-----|--------|
| s | Save session to the unified workspace store |
| l | Save a learning from this session |
| e | Export as Markdown to ~/Documents/windback-exports/ |
| E | Export as a system prompt (paste into any agent to continue) |
| r | Refresh messages from disk |
| esc / h | Go back |
| q | Quit |
When you press s, the session is saved with a name like "dark-ocean" shown in the status bar. Use that name to load the session from any agent.
windback mcp
Start the MCP server. Add this to your agent's MCP config so it can access the unified session store.
windback mcpMCP config (Claude Code, Cursor, Windsurf, etc.):
Using npx (no install required):
{
"mcpServers": {
"windback": {
"command": "npx",
"args": ["-y", "windback", "mcp"]
}
}
}Or if installed globally (npm install -g windback):
{
"mcpServers": {
"windback": {
"command": "windback",
"args": ["mcp"]
}
}
}windback auto
Watch all agent session directories and auto-sync them to the store in the background.
windback autoUses fs.watch with a 2-second debounce, and falls back to polling every 30 seconds. Run this as a background process if you want sessions kept continuously up to date without pressing s manually.
MCP Tools
Once the MCP server is running, any connected agent can call these tools:
Sessions
| Tool | Description |
|------|-------------|
| list_sessions | List all stored sessions. Pass agent to filter (claude, cursor, copilot, windsurf). Returns workspace-matching sessions first. |
| read_session | Load full message history. Accepts a session ID or name (e.g. "dark-ocean"). |
| save_session | Save or upsert a session with its messages. |
| delete_session | Remove a session by ID. |
| search_sessions | Full-text search across workspace path, agent name, session name, and message content. |
Learnings
| Tool | Description |
|------|-------------|
| save_learning | Store a piece of knowledge — a pattern, preference, or insight. Pass agentKey, content, optional tags, and optional workspace. |
| sample_learnings | Get a sample of stored learnings to inject into your context at session start. Workspace-specific learnings come first. Call this at the beginning of each session. |
| list_learnings | List learnings filtered by agent, workspace, or tags. |
| search_learnings | Full-text search across learning content and tags. |
| delete_learning | Remove a learning by ID. |
Loading a past session in another agent
When a session is saved, it gets a name like dark-ocean. To continue that session in any agent:
# Tell the agent:
Use the windback MCP tool to load the session named "dark-ocean" and continue from where we left off.The agent calls read_session("dark-ocean"), gets the full message history, and can resume immediately.
Session store location
All data is stored locally on your device at:
~/.windback/workspace/
index.json # session metadata + names
learnings.json # stored learnings
sessions/
<id>.json # full message history per sessionNothing is sent to any server. Everything stays on your machine.
Supported agents
| Agent | Sessions source |
|-------|----------------|
| Claude Code | ~/.claude/projects/**/*.jsonl |
| Cursor | %APPDATA%\Cursor\User\workspaceStorage\ |
| GitHub Copilot (VS Code) | %APPDATA%\Code\User\workspaceStorage\ |
| Windsurf | %APPDATA%\Windsurf\User\workspaceStorage\ |
On macOS, replace %APPDATA% with ~/Library/Application Support/. On Linux, ~/.config/.
To add a new agent, edit src/lib/data.ts and add an entry to the AGENTS array.
License
MIT
