尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Think of it as screen-sharing for AI pair programming, but everyone can type.
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
Run Claude Code from your team's chat. The bot lives on your machine, next to your checkout and your local tools. Sessions stream live into Slack or Mattermost threads where teammates watch and steer what Claude does. No cloud sandbox and no enterprise plan required: it works with the Claude subscription or API key you already have.
Think of it as screen-sharing for AI pair programming, but everyone can type.
Slack
Mattermost檢視完整 README ↗Run Claude Code from your team's chat. The bot lives on your machine, next to your checkout and your local tools. Sessions stream live into Slack or Mattermost threads where teammates watch and steer what Claude does. No cloud sandbox and no enterprise plan required: it works with the Claude subscription or API key you already have.
Think of it as screen-sharing for AI pair programming, but everyone can type.
@claude fix the flaky test in ci.ymldefault prompts the thread for every tool use (👍/✅/👎), auto lets Claude's classifier approve low-risk actions, bypass skips prompts entirely. Switch per session with !permissions!invite teammates into a session; commits Claude makes get Co-Authored-By: trailers for everyone involved!worktree feature/foo isolates Claude's changes on a branch!remember saves shared team notes every session sees, sessions distill durable facts when they end, and Claude's native auto-memory keeps per-repo project knowledge — all scoped per channel (docs)!routine every weekday at 9am, summarize open threads schedules recurring work; runs post as new threads in the channel, confirmed before saving and managed with !routines (docs)!watch when someone reports an incident, triage it reacts to matching channel messages: a free keyword prefilter plus a semantic check fire a session right in the triggering thread (docs)send_file (100 MB cap)transcription: configured (ElevenLabs Scribe), an audio clip is transcribed before Claude sees it and the transcript is echoed into the thread; see Configuration!mentions on makes a session respond only when mentioned; session headers and the channel sticky each have full/minimal/hidden modes!update now applies one from chatEach session runs its own MCP server, giving Claude tools that act on the chat platform. Every tool carries its own guardrail; nothing reaches beyond the channels the bot can already see.
| Tool | What Claude does with it | Guardrail |
|---|---|---|
send_file | Post a file from the working directory into the thread | Path validated against the session working directory |
read_post | Resolve a Slack or Mattermost permalink to its content | Bot's channel plus public channels only |
list_thread | Read the current thread, or a permalinked one | Same channel scoping |
read_channel_history | Read recent messages from a channel | Bot's channel plus public channels, capped at 100 messages |
search_messages | Search messages | Mattermost only, capped at 25 results |
react_to_post | Add an emoji reaction | Defaults to the message that triggered it |
update_own_post | Edit one of its earlier posts | Bot-authored posts only |
send_dm | Send a direct message to a channel member | 3 per recipient per session; the thread approves each one |
permission_prompt | Ask the thread to approve a tool use | This one is the approval flow (👍/✅/👎) |
The full reference, including inputs and scoping rules, is in docs/MCP-TOOLS.md.
# Install (pick one)
bun install -g claude-threads # with Bun (recommended)
npm install -g claude-threads # with npm
# Run the setup wizard
cd /your/project
claude-threads
The interactive wizard configures your Slack or Mattermost bot, tests the credentials, and gets you running in minutes. For creating the bot account itself, follow the Setup Guide.
Prerequisites
claude --version (needs a subscription or API key)Then mention the bot in your channel:
@claude help me fix the bug in src/auth.ts
Type !help in any session thread:
| Command | Description |
|---|---|
!help | Show available commands |
!release-notes | Show what changed in the running version |
!context | Show context usage |
!cost | Show token usage and cost |
!compact | Compress context to free up space |
!cd <path> | Change working directory (restarts Claude) |
!permissions <mode> | Set permission mode: default / auto / bypass |
!mentions [on|off] | Quiet mode: only respond when @mentioned (bare !mentions toggles) |
!worktree <branch> | Create and switch to a git worktree (also: list, switch, remove, cleanup, off) |
!plugin <list|install|uninstall> [name] | Manage Claude Code plugins (restarts Claude) |
!invite @user | Invite a user to this session (added as Co-Authored-By: on commits) |
!kick @user | Remove an invited user |
!github-email <email> | Register your GitHub noreply email so !invite can attribute commits to you |
!remember <text> | Save a note to the channel's shared memory |
!memory | Show channel memory (forget <n|text> removes entries) |
!routine <schedule, task> |
Unknown !commands are checked against Claude Code's own slash commands and passed through when they match.
Permission approval - When Claude wants to run a tool:
Plan approval - When Claude presents a plan: 👍 approve, 👎 request changes
Questions - React with 1️⃣ 2️⃣ 3️⃣ 4️⃣ to answer multiple choice
Session control - ⏸️ interrupt, ❌ or 🛑 stop, 🔄 resume a timed-out session
Housekeeping - 🔽 collapses long task lists and subagent output; 🐛 on an error post opens a bug report
!invite @colleague # Let them participate
!kick @colleague # Remove access
Messages from users outside the session can be approved one at a time by the session owner with a 👍 reaction.
Invited collaborators end up as Co-Authored-By: trailers on commits Claude makes during the session. Each collaborator runs !github-email <their-noreply-address> once (find yours at https://github.com/settings/emails) and the bot remembers it across sessions.
Keep your main branch clean while Claude works on features:
@claude on branch feature/add-auth implement user authentication
Or mid-session: !worktree feature/add-auth
Restrict who can use the bot during setup, or reconfigure later with claude-threads --setup. An empty allowlist lets anyone in the channel start sessions, so leave it empty only in channels you trust.
Who may do what (start sessions, react to permission prompts, approve guest messages) is written down in the authorization model.
Driving a coding agent from chat is a busy space: Anthropic, OpenAI, Cursor, and Cognition each ship their own integration, and other open-source projects exist too — several of them excellent. The main difference is where the session actually runs.
| Product | Sessions run on | Chat platforms | Account |
|---|---|---|---|
| claude-threads (open source, Apache-2.0) | Your machine — local checkout, your MCP servers and plugins | Slack + Mattermost, multiple workspaces at once | Any Claude subscription or API key |
| Claude Code in Slack / Claude Tag (Anthropic) | Anthropic's cloud, against GitHub repos | Slack | Claude Pro/Max; Claude Tag on Team/Enterprise |
| Codex in Slack (OpenAI) | OpenAI's Codex cloud | Slack | ChatGPT plan |
| Cursor in Slack | Cursor's cloud agents | Slack | Cursor plan |
| Devin (Cognition) | Cognition's cloud | Slack (also Linear and Jira tickets) | Devin plan |
| Community bots such as claude-code-slack-bot | Your machine | Slack | Claude subscription or API key |
The cloud products share a working style: you delegate from a thread, the work runs in a vendor-hosted sandbox, and progress updates and a pull request come back — Claude Tag additionally stays in the conversation as a shared teammate the whole channel can talk to. If your repositories live on GitHub and you want nothing to host, they are a good choice; Anthropic's own integration in particular runs the same Claude Code this bot does.
claude-threads makes the opposite choice: the whole session stays in the thread and on your hardware. Output streams live, permission prompts land as emoji reactions, invited teammates type into the same session, and Claude works against a local checkout with whatever MCP servers and plugins you already configured. That fit matters when chat is self-hosted Mattermost, when code cannot leave the building, or when you want a session in chat to behave exactly like the one at your desk. The trade-off: you run the bot yourself, on a machine that has the repository.
A few more things set it apart. The full Claude Code permission model lives in the thread: every tool use can prompt for 👍/✅/👎 approval, with three modes switchable mid-session. Sessions are multiplayer: !invite teammates while Claude works, messages from uninvited users are gated behind approval, and commits credit everyone involved as co-author. An optional account pool routes each new session to the Claude subscription with the most headroom and cools down rate-limited ones. And nothing assumes GitHub — the session works against any local checkout, whatever its host.
This table is current as of August 2026. All of these products move quickly — if it has gone stale, open an issue.
config.yaml option, environment variables, CLI flagsProjects built beside claude-threads that talk to it through the channel, never through the daemon:
If you build one, add it here.
npm install -g claude-threads
The bot checks npm for new versions on its own and offers the update in chat.
claude-threads is free and open source, and will stay that way. It is developed and maintained by Axolotl Systems. If the bot is useful to you, consider sponsoring on GitHub — even a small amount helps keep development going.
Using claude-threads at work? If your team relies on this bot day-to-day, ask whether your organization can sponsor it. Many organizations (especially in the public sector) have policies that encourage supporting the open source they depend on, and a single organizational sponsorship goes a long way. Need an invoice or a different payment route? Open an issue or reach out.
Apache-2.0
claude-threads is an Axolotl Systems project.
| Schedule a recurring routine in natural language (confirmed with 👍) |
!routines | List routines (pause|resume|delete|run <n>, approval <n> on|off to manage) |
!watch <when ..., task> | Create an event trigger in natural language (confirmed with 👍) |
!watches | List event triggers (pause|resume|delete <n>, approval <n> on|off to manage) |
!update | Show auto-update status (!update now / !update defer) |
!bug <desc> | Report a bug with context (creates a GitHub issue) |
!approve | Approve pending plan (alternative to 👍; also !yes) |
!escape | Interrupt current task, session stays active (also !interrupt) |
!stop | Stop this session (also !cancel) |
!kill | Emergency shutdown (kills ALL sessions and exits the bot) |