README.md

May 27, 2026 · View on GitHub

Claudebin

Share your Claude Code sessions with teammates.

Website · Plugin · Getting Started

Claudebin - Export and share your Claude Code sessions as resumable URLs | Product Hunt


Web App (this repo) - the Next.js frontend and API at claudebin.com

Plugin - the Claude Code plugin at github.com/wunderlabs-dev/claudebin

What it looks like

Publish any Claude Code session with a single command and get a shareable link - complete with syntax highlighting, tool calls, and the full conversation thread.

Thread view

Getting Started

bun install    # Install dependencies
bun dev        # Start dev server
bun build      # Build for production
bun check      # Lint & format

Environment Variables

NEXT_PUBLIC_SUPABASE_URL=
NEXT_PUBLIC_SUPABASE_ANON_KEY=
SUPABASE_SERVICE_ROLE_KEY=
OPENROUTER_API_KEY=             # For title generation

Local Development with the Plugin

  1. Start the web app: bun dev (runs on port 3000)
  2. Build the plugin:
    cd /path/to/claudebin/mcp && bun install && bun run build
    
  3. Run Claude with the local plugin:
    CLAUDEBIN_API_URL=http://localhost:3000 claude --plugin-dir /path/to/claudebin --dangerously-skip-permissions
    

Architecture

claudebin.com/
├── app/                  # Next.js 16 web application
│   └── src/
│       ├── app/          # Pages and API routes
│       ├── components/   # UI components
│       ├── containers/   # Page containers
│       ├── server/       # Backend logic
│       │   ├── actions/  # Server actions (mutations)
│       │   ├── repos/    # Data access (Supabase)
│       │   ├── services/ # Business logic
│       │   └── api/      # OpenAPI schemas
│       └── context/      # React context providers
└── supabase/             # Database migrations

Routes

RouteDescription
/Homepage with featured threads
/threadsBrowse public threads
/threads/[id]View a session
/threads/[id]/embedEmbeddable version
/profile/[username]User profile
/auth/loginGitHub OAuth

API

OpenAPI spec at /api/openapi.json.

EndpointMethodDescription
/api/auth/startPOSTStart CLI auth flow
/api/auth/pollGETPoll for auth completion
/api/auth/refreshPOSTRefresh access token
/api/auth/validateGETValidate access token
/api/sessions/publishPOSTPublish a session
/api/sessions/pollGETPoll processing status
/api/threads/[id]/messagesGETGet thread messages
/api/threads/[id]/mdGETGet thread as markdown

Session Processing Pipeline

Plugin uploads JSONL ─→ Store in Supabase Storage ─→ Parse into messages ─→ Generate title (LLM) ─→ Ready

Database

PostgreSQL with Row Level Security. Auto-profile creation on signup, denormalized counts via triggers, and full-text search on message content.

TableDescription
profilesUser data synced from auth.users
sessionsPublished threads with view/like counts
messagesParsed conversation messages
session_likesUser likes
cli_auth_sessionsTemporary CLI OAuth tokens

Tech Stack

FrameworkNext.js 16, Turbopack
DatabaseSupabase (PostgreSQL)
AuthSupabase Auth, GitHub OAuth
StylingTailwind CSS, shadcn/ui
ToolingBun, Oxlint, Oxfmt

License

MIT