Share Claude Code, Codex CLI, and Gemini CLI sessions for code review. Encrypted.
# Install globally
bun add -g claudereview
# Or run directly
bunx claudereview# List your Claude Code, Codex, and Gemini sessions
ccshare list
# Share a specific session by ID
ccshare share abc123
# Share your last session
ccshare share --last
# Share with password protection
ccshare share --last --private "your-password"
# Copy session to clipboard as Markdown
ccshare copy --last
# Copy to stdout instead
ccshare copy --last --stdout
# Preview the most recent session in browser
ccshare preview --last
# Export to HTML file
ccshare export --last -o session.html- E2E Encrypted: Sessions encrypted before upload with AES-256-GCM
- Key in URL Fragment: Encryption key never sent to server (
#key=xxx) - Password Protection: Optional PBKDF2-derived keys for private shares
- TUI Aesthetic: Beautiful terminal-style dark/light theme
- Search: Full-text search with ⌘F
- Collapsible Outputs: Expand/collapse tool results
- Syntax Highlighting: Code blocks with language detection
- Diff View: Visual diffs for file edits
- Key Moments: Summary of files created/modified, commands run
- Git Context: Links to repo, branch, and commit
- Deep Linking: Link directly to specific messages
- Token Estimates: Rough usage statistics
- Self-Contained HTML: Exported files work offline
- OG Meta Tags: Rich previews when sharing links
- Clipboard Copy: Copy as formatted Markdown for pasting anywhere
- Claude Code: Sessions from
~/.claude/projects/ - Codex CLI: Sessions from
~/.codex/sessions/ - Gemini CLI: Sessions from
~/.gemini/tmp/*/chats/ - Auto-Detection: Automatically detects and parses all formats
- Source Badges: Shows
[Claude],[Codex], or[Gemini]in session list
Share sessions directly from Claude Code, Codex, or Gemini CLI by adding to ~/.mcp.json:
{
"mcpServers": {
"claudereview": {
"command": "bunx",
"args": ["claudereview-mcp"],
"env": {
"CCSHARE_API_KEY": "your-api-key-here"
}
}
}
}Get your API key from claudereview.com/dashboard after logging in with GitHub.
Then just ask: "Share this session", "List my recent sessions", or "Copy this session as text".
Add a quick slash command by creating ~/.claude/commands/share.md:
Share this session using claudereview.
Run: bunx claudereview share --last
Return the URL to me.Then type /share in any session.
Note: Codex CLI and Gemini CLI don't support slash commands. Use the MCP server instead.
- CLI encrypts session with a random key
- Uploads encrypted blob to claudereview.com
- Returns URL with key in fragment:
claudereview.com/s/abc123#key=xxx - The
#key=xxxfragment is never sent to the server - Browser decrypts client-side
- CLI encrypts session with password-derived key (PBKDF2)
- Uploads encrypted blob + salt
- Returns URL without key:
claudereview.com/s/abc123 - Viewer prompts for password, derives key, decrypts
# Install dependencies
bun install
# Run server locally
bun run dev
# Run CLI
bun run cli listDATABASE_URL: PostgreSQL connection stringBASE_URL: Public URL (default: https://claudereview.com)PORT: Server port (default: 3000)CCSHARE_API_URL: API URL for CLI (default: https://claudereview.com)CCSHARE_API_KEY: API key for authenticated uploads
# Push schema to database (creates tables)
bun run db:push
# Or run migrations manually
psql $DATABASE_URL -f drizzle/0001_make_metadata_nullable.sqlDeploy to Railway:
railway upRequired Railway services:
- PostgreSQL database
MIT