HuddleUp HuddleUp GitHub

HuddleUp
Hand off work-in-progress AI sessions. Instantly.

Open-source CLI tool that snapshots your Cursor, Claude Code, or Windsurf session and lets teammates resume in one command. No more lost context, re-explaining, or "what were you working on?".

HuddleUp CLI taking a snapshot

Everything your team needs for seamless AI handoffs

Open-source CLI tool that snapshots your Cursor, Claude Code, or Windsurf session and lets teammates resume in one command. No more lost context, re-explaining, or "what were you working on?".

Terminal showing huddleup snapshot command

Snapshot in seconds

Capture git diff, your one-line note, last AI messages, inferred open files, and the active branch into a per-thread markdown file. The AI tool config files HuddleUp generates carry a Token Exhaustion Protocol so the AI itself runs `huddleup snapshot` when context is about to overflow.

Terminal showing huddleup resume command

Resume instantly

Teammates run one `huddleup resume` command and get a YOU ARE HERE briefing, the relevant files opened in the editor, and a context file the AI tool reads on its next prompt.

VS Code sidebar showing HuddleUp extension panel

VS Code companion

The extension adds a sidebar panel with Snapshot, Resume, and Standup buttons plus a per-thread Resume/Archive list. Every action is also in the command palette.

Multi-tool capture

Works with Cursor, Claude Code, Windsurf, GitHub Copilot, and OpenAI Codex CLI. detectAllAdapters() captures messages from every detected tool and merges them into one snapshot — the thread's Tools field lists everyone who contributed.

Portable & private

The whole .huddleup/ folder is plain markdown plus JSONL history — commit it to git, paste it in Slack, attach it to a Linear ticket. No cloud, no accounts, no data leaves your machine. Optional handoffWebhook posts a JSON payload when you explicitly call `huddleup handoff <teammate>`.

No lock-in

Open source (AGPL-3.0), CLI-first, Node.js 20+. Dependencies are intentionally small (commander, inquirer, chalk, simple-git, conf). Uninstall any time — your .huddleup/ folder is still useful as plain markdown.

Five commands to go from "hold on" to "got it"

No config files, no YAML, no platform accounts. Just a CLI that does one thing well.

1

Install

$ npm install -g huddleup

Requires Node.js 20+. Also available as a VS Code extension once published to the Marketplace.

2

Initialise in your project

$ cd your-project
huddleup init

Scaffolds .huddleup/ (charter, threads, history) and generates one config file per AI tool: CLAUDE.md, .cursor/rules/huddleup.mdc, AGENTS.md, .windsurfrules.

3

Snapshot your AI session

$ huddleup snapshot

Captures git diff, last AI messages from every detected tool (Claude Code, Cursor, Codex, Copilot, Windsurf), the active branch, your one-line note, and a list of inferred open files. Writes to .huddleup/threads/<name>.md.

4

Share with your team

$ git add .huddleup/
git commit -m "wip: handoff"
git push

The whole .huddleup/ folder is plain markdown plus JSONL — meant to be committed. Or use `huddleup handoff <teammate>` to snapshot + auto-commit + fire a Slack/Discord webhook in one shot.

5

Resume in one command

$ huddleup resume streaming-chat-endpoint

Prints a "YOU ARE HERE" briefing, opens the inferred files in your editor, and writes a context file the AI tool reads on its next prompt. Zero re-explanation.

Works with the AI tools you already use

HuddleUp auto-detects every tool installed on the machine. Multiple adapters can match; their messages and open-file lists merge into a single snapshot.

Cursor

Reads ~/.cursor/{sessions,chats}/ and the workspaceStorage folders under VS Code-style globalStorage on macOS, Linux, and Windows.

Claude Code

Reads ~/.claude/projects/<hash>/*.jsonl (modern) and ~/.claude/sessions/*.jsonl (legacy). Writes CLAUDE.md with the Token Exhaustion Protocol.

Windsurf

Detects ~/.windsurf/, ~/.codeium/, and the Windsurf/Codeium application data folders across platforms.

GitHub Copilot

Reads VS Code globalStorage (github.copilot-chat) for Code, Code Insiders, and Cursor; also ~/.github/copilot/ and ~/.vscode/copilot/.

Codex CLI

Detects ~/.codex/ and the Codex app data folders on macOS, Linux, and Windows. Parses JSON, JSONL, and plain-log session files.

Custom

Add a new adapter in src/adapters/ — implement detect() + capture() and call registerAdapter(). About 80 lines. See docs/adapters.md.

Three commands to your first handoff

No sign-up, no account, no backend. Just Node.js, git, and a terminal.

# 1. Install the CLI
$ npm install -g huddleup

# 2. Set up HuddleUp in your project (creates .huddleup/ + CLAUDE.md, .cursor/rules/huddleup.mdc, AGENTS.md, .windsurfrules)
$ cd your-project
$ huddleup init
→ HuddleUp is ready! Edit .huddleup/charter.md and run "huddleup sync".

# 3. Save your AI session before a break
$ huddleup snapshot
? Where did you leave it? Streaming /chat broken, suspect CORS
→ Snapshot saved to threads/streaming-chat-endpoint.md

# 4. Your teammate picks up - in whichever AI tool they use
$ huddleup resume streaming-chat-endpoint
→ YOU ARE HERE briefing prints, relevant files open, AI tool gets full context

Distributed via npm · Open source on GitHub · AGPL-3.0 licensed

Stop re-explaining. Start shipping.

HuddleUp is free, open source, and ready to use. No accounts, no data uploads, no strings attached.