Description
Captain Live Chat is a powerful, fully self-hosted live chat plugin for WordPress. Unlike cloud-based services such as Tawk.to, Zendesk, or Crisp, Captain Live Chat keeps every message in your own WordPress database. No monthly subscription, no external calls, no data leaving your server.
Whether you run a small business site, a support-heavy SaaS product, or an agency managing chat for multiple clients, Captain Live Chat gives you a lightweight, self-hosted inbox that works out of the box on any host.
YouTube | X | Facebook Community | Free Support
💬 A Real Chat Widget, Not a Contact Form
A floating chat bubble on the front end opens into a real-time conversation: pre-chat form, quick-reply chips, typing indicators, read receipts, and a dedicated offline lead-capture screen (with configurable name/email fields) when no agent is online.
📥 Facebook Messenger–Style Agent Inbox
A modern, React-based dashboard with a thread list and chat panel side by side. Agents switch themselves online or offline from their Profile, stay online while any WordPress admin tab is open (also in the background), and go away automatically a couple of minutes after closing the admin. A short “Get your live chat ready” checklist helps new users send their first test message. Reopening a closed conversation – by the visitor or an agent – leaves a permanent, timestamped marker in the transcript, not just a temporary notice.
🔔 Notifications That Actually Reach Agents
A live red badge next to the plugin’s menu item shows how many visitors are waiting, on every admin screen. Sound, browser push, in-app notifications (ticket reassignment, @mentions), and rate-limited email alerts make sure a new visitor message doesn’t sit unseen. A separate “Unanswered message reminder” re-emails agents if a conversation still hasn’t been answered after a configurable delay – including messages left through the offline lead-capture form.
👥 Role & User-Based Agent Permissions
Decide exactly who can act as a chat agent – by WordPress role (e.g. all Editors) or by picking individual users, regardless of role. Every agent’s own Team Access row is protected from accidental self-lockout – you can’t remove your own access or restrict your own page/action permissions, even by mistake.
📊 Built-in Analytics & History
Track chat volume, response times, and agent performance from the dashboard, with full conversation history. Optional data retention erases old closed conversations automatically.
⚡ Lightweight & Shared-Hosting Friendly
Real-time-feeling updates via AJAX polling (not WebSockets), so it works on shared hosting exactly as well as on managed WordPress hosting.
Perfect for:
- Small businesses that want live chat without a monthly subscription
- Support teams who need conversation history and analytics in their own database
- Agencies managing chat for multiple client sites
- Any WordPress site that wants visitor data to stay on their own server
Key Features
- 💬 Floating Chat Widget : Pre-chat form, quick-reply chips, typing indicator, read receipts, and a dedicated offline lead-capture screen
- 📥 Agent Inbox : Messenger-style thread list and chat panel, real-time polling, visitor info panel (browser, device, live current URL)
- 👥 Role & User Permissions : Grant agent access by WordPress role or by individual user, with self-lockout protection built in
- 🔔 Notifications : Live unread badge in the admin menu, sound, browser push, in-app @mentions/reassignment alerts, and rate-limited email for new and unanswered messages
- 🟢 Online Status & Auto-Away : Online/offline switch in Profile, presence that stays live across every admin page and background tab, automatic away after the admin is closed
- 📴 Offline Experience : A configurable lead-capture screen (welcome message, optional name/email fields, custom button text) shown when no agent is online
- 🔁 Persistent Conversation Timeline : Closed/reopened events are saved permanently in the transcript – in the widget and the Inbox – not just a temporary on-screen notice
- 📊 Analytics & History : Chat volume, response times, agent performance, and full conversation history (CSV and transcript export with Pro)
- 💡 Canned Replies : Quick, reusable responses for agents
- 🎨 Widget Designer : 4-step wizard – appearance, content (welcome screen, chat view and offline experience as tabs), widget settings, and display rules, all with a live preview
- 🎯 Display Rules : Show or hide the chat per device (Desktop, Tablet, Mobile), per page type, or on specific pages, posts and products. One switch turns the whole widget off, and it never shows inside page builder editors
- 🗑️ Data Retention : Optionally erase closed conversations automatically after a number of days you choose
- 🔒 Self-Hosted : All conversations stay in your own WordPress database – no external calls
- ⚡ Lightweight : AJAX polling instead of WebSockets – works on any shared host
YouTube Tutorials
- Captain Live Chat – Plugin Overview : See the whole plugin in action – the chat widget on your site, the agent Inbox, notifications, Widget Settings with display rules, canned responses, analytics and history.
🌟 Our Products
🥇 Captain Feed for YouTube : Display customizable YouTube feeds for channels, playlists, Shorts, search results, and individual videos.
🥇 Captain Funnel : Automate WhatsApp messages for WooCommerce orders and form submissions using the official WhatsApp Cloud API by Meta.
🥇 Captain Advance Filter : Create powerful filters for WordPress with advanced filtering options, flexible layouts, and easy customization.
🥇 Captain Widgets Kit : Extend your WordPress website with a collection of powerful Elementor widgets and elements.
🥇 Captain Social Review : Display reviews and testimonials from multiple platforms with beautiful layouts and easy customization.
Source Code
The admin dashboard is a React application built with @wordpress/scripts (npm + webpack). The published build/index.js and build/index.css are the compiled output of the human-readable source (JSX/SCSS), which is publicly available at:
https://github.com/devangvachheta/captain-live-chat
To rebuild from source:
- Clone the repository above (it includes the
src/folder andpackage.json). - Run
npm installto install dependencies. - Run
npm run buildto produce a freshbuild/index.jsandbuild/index.cssfrom thesrc/source. - For active development with automatic rebuilds, use
npm run startinstead.
Usage
After activation:
- Set up agents – Under Settings, allow specific WordPress roles or individual users as chat agents.
- Customize the widget – Use the Widget Settings wizard to set accent color, welcome screen, chat view, and the offline lead-capture experience.
- Go online – Turn on the Online Status switch on your Profile page so visitors see an active agent. You stay online while WordPress admin is open.
- Reply in real time – New visitor messages appear in the Inbox within a few seconds via polling.
- Review performance – Check the Analytics tab for chat volume, response times, and history.
External Services
Captain Live Chat makes no external network calls of any kind. Every feature (widget, inbox, notifications, analytics, canned replies) runs entirely on your own WordPress database, and no visitor or site data is sent to any third-party server.
Screenshots







Installation
- Upload the
captain-live-chatfolder to/wp-content/plugins/, or install the plugin directly from the WordPress Plugins screen. - Activate the plugin from the Plugins screen.
- Go to Captain Live Chat Settings and configure who can act as an agent.
- Visit your site and click the chat bubble (bottom-right) to start a test conversation.
- Return to Captain Live Chat Inbox, switch yourself to Online on the Profile page, and reply. The “Get your live chat ready” checklist in the Inbox walks you through these steps.
FAQ
-
Does this plugin require a paid subscription?
-
No. Captain Live Chat is 100% free and self-hosted. All data stays on your server. An optional Pro add-on exists for teams that want extras like unlimited canned replies, transcript/history export, and White Label branding.
-
Yes. The plugin uses AJAX polling (not WebSockets), which works on all shared hosting providers including Hostinger, Bluehost, SiteGround, and Kinsta.
-
Is data stored on your servers?
-
Yes, entirely. All chat data is stored exclusively in your WordPress database. Captain Live Chat itself makes no external network calls and sends data to no third-party service.
-
Does Captain Live Chat send my visitors’ data anywhere?
-
No. This plugin has no AI or third-party integrations of its own and makes no external network calls of any kind.
-
Can multiple agents reply to chats?
-
Yes. You can grant chat access by WordPress role (e.g. all Editors) or by selecting individual users. Every agent’s own row in Team Access is protected – you can’t accidentally lock yourself out by removing your own access or restricting your own permissions.
-
What happens if no agent is online when a visitor writes in?
-
The widget shows a dedicated offline screen instead of the normal welcome screen: your configured offline message, optional name/email fields, and a custom-text submit button. The message is saved as a real conversation in your Inbox just like any other, so the “Unanswered message reminder” email and normal reply flow both still apply.
-
Can I customize what the offline lead-capture form asks for?
-
Yes. Under Widget Settings Offline, you can edit the welcome message, toggle the name and email fields on or off, and change the submit button text – all with a live preview.
-
Will my visitors’ messages be safe?
-
All visitor inputs are sanitized server-side using WordPress functions. All AJAX endpoints are protected by nonces. Visitor-facing endpoints are rate-limited to prevent spam.
-
Can I change the widget colours?
-
Yes, through the Widget Settings wizard’s Appearance step (accent color, launcher icon, position, and panel size), with a live preview on both desktop and mobile.
-
Does the widget show a “Powered by Captain Live Chat” credit to my visitors?
-
No, not unless you turn it on. It is off by default. If you’d like to help others discover the plugin, you can enable “Show ‘Powered by Captain Live Chat’ badge” under Settings Notifications – entirely optional, and you can customize the badge text to whatever you like. It’s always rendered as plain text with no external link, regardless of what text you enter.
-
Why does the chat widget say “Offline” when I test it?
-
Visitors see “Online” while at least one agent is switched online. Turn on the Online Status switch on your Profile page (the Inbox checklist also has a “Go online” button). You stay online while any WordPress admin tab is open, also in the background, so you can test the widget in another tab. About two minutes after you close WordPress admin you are shown as away.
-
How do I hide the chat widget for a while?
-
Open Widget Settings and use the “Live on website” switch at the top. The chat button disappears from your site straight away; your Inbox and conversations stay as they are. While the widget is off, the Inbox shows a notice with a button to turn it back on.
-
Does the chat widget show inside Elementor or other page builders?
-
No. The widget is hidden inside the editors of Elementor, Beaver Builder, Divi, Bricks and Oxygen, so it never covers the page you are editing and a stray click cannot start a real conversation. It shows normally in previews and on the live site. Developers can change this with the captlc_is_page_builder_editor filter.
-
Can old conversations be deleted automatically?
-
Yes. In Settings Uninstall, set “Auto-delete old conversations” to a number of days. Closed conversations with no activity for that long are permanently erased once a day (messages, attachments, notes and activity log). The default is 0, which keeps conversations forever.
-
What happens to data when I uninstall?
-
By default, your data is kept so you don’t lose anything if you reinstall later. If you want a clean removal, turn on “Delete data on uninstall” in Settings before deleting the plugin – this removes all plugin database tables, options, and transients when you click Delete on the Plugins screen. A “Preserve settings on uninstall” option is also available if you want your role/notification preferences to survive a future reinstall while everything else is wiped.
-
Can I hide the chat on mobile, on archive pages or on certain pages?
-
Yes. Go to Widget Settings and open step 4, Display Rules. You can switch the chat off per device (Desktop, Tablet, Mobile), hide it on page types such as archives, search results or the 404 page, and hide or show it on specific pages, posts or products that you pick by title.
-
Can AI assistants manage my chats?
-
Optionally, yes. On WordPress 6.9 or newer, the plugin registers a set of read/management actions as WordPress Abilities via core’s Abilities API. With a separate MCP bridge plugin installed, AI assistants can use those abilities. Every ability requires the “manage_options” capability, is off until you switch it on, and can be individually switched on or off from the plugin’s MCP page (under AI & Automation). This is entirely optional and unrelated to any third-party AI provider – the plugin itself makes no AI API calls.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Captain Live Chat” is open source software. The following people have contributed to this plugin.
Contributors“Captain Live Chat” has been translated into 2 locales. Thank you to the translators for their contributions.
Translate “Captain Live Chat” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.1.1 (07/10/2026)
- Added : Display Rules : New step in Widget Settings to choose where the chat widget shows – per device (Desktop, Tablet, Mobile), per page type (Home, Blog, Posts, Pages, Archives, Search results, 404, WooCommerce Shop and Products), or on specific pages, posts and products picked by title.
- Added : Live Unread Badge : A red number next to the plugin’s menu item (and next to Inbox) shows how many visitors are waiting for a reply, on every admin screen, and updates by itself.
- Added : Data Retention : New “Auto-delete old conversations” setting permanently erases closed conversations after the number of days you choose. Off by default.
- Added : Pop-up Alerts Card : Profile now has a card for pop-up alerts on new messages (each agent can switch them on or off with Captain Live Chat Pro).
- Added : Getting Started Checklist : New sites see a short “Get your live chat ready” checklist in the Inbox (turn on the widget, go online, send a test message) until the first conversation arrives.
- Added : Widget On/Off Switch : A “Live on website” switch is always visible at the top of Widget Settings, and the Inbox shows a notice with a “Turn on” button while the widget is off.
- Added : Session Expiry Notice : The Inbox tells you to reload the page when your login or security token has expired, instead of silently failing.
- Improved : Background Polling : The chat widget and the Inbox check for new messages less often while the browser tab is in the background, which greatly reduces server load.
- Improved : Inbox Performance : The Inbox loads faster with many conversations. It lists the most recent ones and keeps the open conversation in the list; older ones are in History.
- Improved : Widget Assets : The chat widget files are minified and load with defer, so the widget no longer slows down page speed.
- Improved : Widget Settings : Now 4 steps, with Welcome Screen, Chat View and Offline as tabs inside one “Content” step and a single live preview.
- Improved : Menu : MCP now sits under AI & Automation, next to AI Agent and Canned Responses. WordPress menu items now use the same names as the plugin sidebar (Widget Settings, Canned Responses), and AI Agent shows a “Pro” tag when Pro is not active.
- Improved : Agent Presence : Agents stay online while any WordPress admin tab is open, also in the background, instead of going offline as soon as they switch tabs. They are shown as away about two minutes after closing the admin.
- Improved : Page Builders : The chat widget is no longer shown inside the Elementor, Beaver Builder, Divi, Bricks and Oxygen editors.
- Improved : Automatic Reply Label : The offline message sent when the AI cannot answer is labelled “Automatic reply” instead of looking like an AI answer.
- Improved : Settings Page : A short description explains what is in Settings and links to Widget Settings for the chat’s look.
- Improved : Message Length : Chat messages are limited to 5000 characters to keep conversations fast and stable.
- Improved : Translations : Widget texts, error messages, default welcome texts and quick replies can now be translated.
- Improved : Admin Styles : Stylesheets are refreshed in the browser after every update.
- Security : Public Widget Hardening : File uploads need an active conversation, attachment links must point to the plugin’s own uploads folder, and blocked visitors can no longer send messages or start a new conversation.
- Security : Permissions : Deleting a conversation requires the “Permanently delete conversations” permission. MCP abilities are now off until the site owner switches them on.
- Security : Rate Limiting : The FAQ list in the chat widget is rate limited like the other public chat actions, and limits also apply to logged-in visitors.
- Security : History : The History screen no longer receives the visitor’s private conversation id.
- Fix : Rate Limiter : Visitors who kept a chat open for a few minutes were locked out with “Too many requests” and could no longer chat.
- Fix : Deleted Conversations : A visitor whose conversation was deleted (by an agent or by data retention) can now start a new chat instead of being stuck on “Resume chat”.
- Fix : Inbox Notes : Sample notes from the design mockup no longer appear on conversations without notes.
- Fix : Inbox Messages : Messages no longer show twice, and the “Conversation reopened” note now appears right away when an agent replies to a closed conversation.
- Fix : Inbox Errors : Adding or deleting notes and tags, and deleting messages, now show an error when the server refuses instead of a false success message.
- Fix : Visitor Location : The Inbox no longer shows “India” as the location of every visitor.
- Fix : Polling Interval : The Widget Settings field now shows the real minimum (2000 ms) that is saved.
- Fix : Widget Order : The “Conversation reopened” note now appears above the visitor’s reply that reopened the chat.
- Fix : Pro Detection : “Upgrade to Pro” prompts, PRO tags and the Upgrade menu item are hidden when Captain Live Chat Pro is active.
- Fix : Canned Responses : Starter replies no longer contain sample usage numbers, prices or an unsupported {pricing_link} tag.
- Fix : Reminder Emails : Conversations removed from the Inbox no longer trigger reminder emails.
- Fix : Invalid Data : Malformed requests to save settings, FAQs, schedules or canned replies return “Invalid data” instead of a PHP error.
- Fix : Uninstall : With “Delete data on uninstall” turned on, all plugin data is removed, including notifications, activity log, notes, tags and uploaded chat attachments.
- Fix : Profile : “Last active” shows correct singular and plural wording in translations.
- Fix : Permission Message : The permission-denied message shows proper punctuation instead of raw code characters.
1.1.0 (28/09/2026)
- Added : Knowledge Base Refresh : The AI Agent Knowledge Base has a “refresh” action to update saved link sources in place without re-adding them.
- Improved : Admin Loading : Admin app pages load their JavaScript in separate chunks on demand instead of a single large bundle, for a lighter first load.
- Improved : RTL Styles : CSS stays bundled in a single file so right-to-left (RTL) swapping works on every page.
- Fix : Auto-Assign : New conversations are assigned to the first agent (or MCP tool) that replies, with no manual claim needed.
- Fix : Stability : Minor bug fixes and overall improvements for better stability and performance.
1.0.0 (24/09/2026)
- Added : First Release : First stable release.
- Added : Chat Widget : Self-hosted floating chat widget with pre-chat form, quick-reply chips, typing indicators, read receipts, and an offline lead-capture screen shown when no agent is online.
- Added : Agent Inbox : Messenger-style agent Inbox with real-time polling and a visitor info panel.
- Added : Agent Permissions : Role- and user-based agent permissions with self-lockout protection.
- Added : Notifications : Sound, browser, in-app, and email notifications with an unanswered-message reminder.
- Added : Analytics & History : Chat analytics and conversation history.
- Added : Canned Responses : Saved replies agents can insert with a shortcut.
- Added : Widget Settings : 5-step Widget Settings wizard with a live preview.
- Added : MCP : Abilities API support for AI assistants.
- Added : Conversation Timeline : Closed/reopened markers are saved permanently in the conversation timeline.
- Added : Pro Hooks : Hooks for the Pro add-on (unlimited Canned Responses, transcript/history export, and White Label branding).
