Run Claude Code on your machine.
Team members watch and collaborate through Slack or Mattermost.

bun install -g claude-threads click to copy
or
npm install -g claude-threads click to copy
Claude Code session in Slack

Features

  • Output streams live to chat as Claude works
  • Sticky to-do lists at the bottom of each thread
  • Works with Slack and Mattermost, multiple workspaces at once
  • Multiple concurrent sessions (one per thread), persisted across bot restarts
  • Three permission modes: prompt every action, let Claude classify, or skip prompts entirely
  • Invite teammates to collaborate on a session; they get added as Co-Authored-By: on Claude's commits
  • Approve file writes and commands via emoji reactions
  • Attach any file (100 MB cap); Claude reads it from disk with full multimodal for images and PDFs
  • Claude posts files back into chat (screenshots, generated PDFs, plots, audio)
  • Share a Slack or Mattermost permalink and Claude follows the thread
  • Git worktrees to isolate changes in branches
  • Round-robin across multiple Claude subscriptions or API keys with automatic rate-limit cooldown

Why I built this

I wanted my team to use Claude Code without everyone needing their own setup. Screen sharing works but only one person can type. With claude-threads, colleagues watch Claude work in Slack and can jump in to help, approve actions, or ask questions. All from chat.

After the first minimal version, I built claude-threads using claude-threads. Colleagues watched, asked questions, and caught bugs in real time. It turns out that multiple people guiding the same AI session actually works.

The bot runs on your machine. You control what projects Claude can access.

Commands

Command Description
!help Show available commands
!context Show context usage
!cost Show token usage and cost
!compact Compress context
!cd <path> Change working directory
!permissions <mode> Switch between default, auto, bypass
!worktree <branch> Create git worktree (also: list, switch, remove, cleanup)
!plugin <cmd> Manage Claude Code plugins
!invite @user Invite user (added as Co-Authored-By: on commits)
!kick @user Remove invited user
!github-email <email> Register your GitHub noreply address for commit attribution
!update Auto-update status (!update now / !update defer)
!release-notes What changed in the running version
!bug <desc> Report a bug (creates a GitHub issue)
!escape Interrupt current task
!stop Stop session

Controls

Permissions

When Claude wants to run a tool:

👍 allow allow all 👎 deny

Plans

When Claude creates a plan:

👍 approve 👎 reject

Questions

Multiple choice:

1️⃣ 2️⃣ 3️⃣ 4️⃣

Session

Interrupt, stop, or resume:

⏸️ interrupt stop ↩️ resume

Permission modes

Three ways to control what Claude can run. Pick per session with !permissions default|auto|bypass, set as a default in config, or pass --permission-mode on the command line.

Mode Behavior
default 🔐 Every tool use prompts the thread for 👍 / ✅ / 👎
auto Claude's classifier auto-approves low-risk actions; high-risk still prompts. Recommended.
bypass ⚠️ No prompts, all tools allowed. Trusted environments only.

Quickstart

Requires Bun or Node 18+ and Claude Code CLI

bun install -g claude-threads    # or: npm install -g claude-threads
cd /your/project
claude-threads
click to copy

The setup wizard will guide you through connecting Slack or Mattermost.