OSS Tanbou

Chatwoot — a self-hosted omnichannel support desk for web chat, email, WhatsApp, and social conversations

OSS health 100
About these scores

Discovery score is an unbounded weighted, log-compressed index of stars, watchers, forks, and contributors. Growth momentum is its change over the observed period; OSS health is a 0–100 score from available repository recency, Community Health, and release data.

Stars
36,823
Primary language
Ruby
License
Not determined
Repository last updated
Sep 15, 2026

Overview

Chatwoot is a customer-support platform that unifies website live chat, email, Facebook, Instagram, Twitter, WhatsApp, Telegram, LINE, SMS, and other channels in one shared inbox. It combines contact history, routing, automation, a help center, reporting, and the Captain AI agent. Self-hosted deployments run Rails and Sidekiq with PostgreSQL/pgvector and Redis. The latest stable release as of September 15, 2026 is v4.17.1, published August 27. Community code is MIT-licensed, but enterprise/ is governed by a separate commercial license, so the repository should not be treated as uniformly MIT.

Features and best fit

Based on official documentation; not hands-on tested · Content checked:

Unify multiple channels in one support inbox while preserving customer context

Website chat, email, Facebook, Instagram, Twitter, WhatsApp, Telegram, LINE, SMS, and related channels can be handled in one workspace. Contact profiles and interaction history keep support context attached to the customer across channels.

Private notes, mentions, labels, canned responses, auto-assignment, business hours, teams, automation, and agent-capacity management support shared-inbox operations.

Sources: [2]

Extend the inbox with a help center, segmentation, campaigns, reporting, and business integrations

The Help Center Portal supports self-service content, while contact segments, custom attributes, pre-chat forms, and campaigns extend customer engagement. Chatwoot also provides conversation, agent, inbox, label, team, and CSAT reporting.

The README highlights integrations including Slack, Dialogflow, Shopify, Google Translate, Linear, and embedded Dashboard Apps.

Sources: [2]

Combine Captain AI with a Rails/Sidekiq self-host stack

Captain automates routine support and reduces agent workload; v4.17.1 improves its analytics, reasoning, and conversation context. Self-hosted installations configure the OpenAI API key and endpoint through Super Admin settings.

The production Compose runs Rails and Sidekiq with PostgreSQL 16 plus pgvector, Redis, and persistent storage. The source toolchain uses Ruby 3.4.4, Node.js 24.x, pnpm 10.x, and Vue 3.

Sources: [2][3][8][4][9][10]

For teams that want to self-host an Intercom/Zendesk-style support operation

Chatwoot fits organizations that need website chat plus email and messaging channels in a shared desk, with help-center, automation, and reporting capabilities on infrastructure they control. Its value is in self-hosting the support operation rather than merely running a generic chat server.

Self-hosting does not remove third-party channel or AI-provider dependencies

WhatsApp, Meta channels, email, SMS, translation, commerce, and related integrations still depend on provider APIs, credentials, rate limits, and policies. Enabling Captain sends relevant support context to the configured AI endpoint.

Operators should map data and credential boundaries per channel, AI provider, and integration instead of assuming all communication remains local.

Sources: [2][8]

Community is MIT, while enterprise/ uses a commercial license

The root LICENSE places code outside enterprise/ under MIT Expat and delegates enterprise/ to the Enterprise License. Production use of Enterprise code requires a valid subscription for the applicable seat count.

This catalog therefore records NOASSERTION. Forks, commercial deployments, and redistributions need to identify whether the code they use belongs to the Community or Enterprise side.

Sources: [6][7]

Only the latest version receives security support

The Security Policy marks latest as supported and older releases as unsupported. The v4.17.1 release explicitly recommends upgrading for security updates and hardening.

Because Chatwoot handles authentication, customer PII, attachments, and channel credentials on an internet-facing surface, operators should plan database-migration and integration-regression testing around regular stable upgrades.

Sources: [5][3]

The production Compose file is a reference, not a complete hardened deployment

The v4.17.1 Compose expects an operator-supplied PostgreSQL password and binds Rails, PostgreSQL, and Redis to loopback. Public deployments still need reverse-proxy/TLS, mail, file or object storage, backups, and secret management.

The README warns that missing relevant environment variables can break features, and the configuration surface grows as more channels and integrations are enabled.

Sources: [4][2]

Official sources

  1. [1]chatwoot/chatwoot — GitHub repository metadata(2026-09-15)
  2. [2]Chatwoot v4.17.1 — README(2026-09-15)
  3. [3]Chatwoot v4.17.1 release(2026-09-15)
  4. [4]Chatwoot v4.17.1 — Production Docker Compose(2026-09-15)
  5. [5]Chatwoot v4.17.1 — Security policy(2026-09-15)
  6. [6]Chatwoot — Community/Enterprise license boundary(2026-09-15)
  7. [7]Chatwoot — Enterprise License(2026-09-15)
  8. [8]Chatwoot — Captain AI configuration(2026-09-15)
  9. [9]Chatwoot v4.17.1 — Ruby version(2026-09-15)
  10. [10]Chatwoot v4.17.1 — Frontend package metadata(2026-09-15)
Supplemental curator note

We selected Chatwoot as a self-hostable customer-support operation rather than merely a chat widget: channels, contact context, routing, automation, and reporting live in one system. Community/Enterprise licensing, third-party channel dependencies, and latest-only security support are key adoption boundaries.

Try it in 3 steps

  1. 1

    Get the source

    git clone --depth 1 https://github.com/chatwoot/chatwoot.git
  2. 2

    Enter the repository

    cd chatwoot
  3. 3

    Check the official steps

    Continue with the commands in the README Installation, Quick Start, or Getting Started section.

    find . -maxdepth 1 -iname 'README*' -exec sed -n '1,220p' {} \; -quit
Check the official README

Growth

Growth trends · Last 30 days

36,823 Stars

Trend data is still being collected.

Development activity

Last 90 days · weekly

Commits (last 30 days)
152
Open PRs
398

Development activity is still being collected.

Built with

Categories and tags

GitHub data

GitHub dataView detailed GitHub data

GitHub Topics

  • vuejs
  • intercom
  • zendesk
  • rails
  • design
  • sass
  • actioncable
  • opensource
  • livechat
  • javascript
  • docker
  • docker-image
Stars
36,823
Forks
8,927
Watchers
295
Open issues
1,012
Primary language
Ruby
License
Not determined
Repository last updated
Sep 15, 2026
Report incorrect information

Tell us if any listing information is incorrect or outdated.