When chat stops working — and why it's almost never what you think
You sent a message. Your client says they never got it. Or they reply and you see nothing on your end. Chat visibility issues in coaching platforms are frustrating precisely because they feel random — but they almost always have a specific, fixable cause. This guide walks through every reason clients can't see chat messages in Coachful, ranked from most to least common, with exact steps to resolve each one.
TL;DR:
- Most chat visibility issues come down to enrollment status, squad membership, or a stale browser/app session.
- Clients must be enrolled in a program (for cohort squads) or explicitly added to a community squad to see messages.
- A hard refresh or sign-out/sign-in cycle resolves the majority of real-time sync problems.
- If messages are missing on both sides, check your Stream Chat connection status in the coach dashboard.
How Coachful chat works (the 30-second version)
Coachful's real-time messaging is powered by Stream Chat, using a team-based multi-tenancy model. Every coach workspace is its own isolated team. Clients only gain access to channels that are tied to squads they belong to — there's no global inbox that all users share.
There are two types of squads relevant to chat:
- Cohort squads — automatically created when clients enroll in a program. The squad is scoped to that program's enrollment group.
- Community squads — always-on group spaces that coaches create manually. Clients must be explicitly added or invited.
Understanding this architecture makes troubleshooting straightforward: if a client can't see messages, they almost certainly aren't connected to the right squad channel. Everything below is a variation of that root cause.
The most common reasons clients can't see chat messages
1. The client isn't enrolled in the program
Cohort squads only exist in the context of a program enrollment. If a client was invited but never completed checkout, or if their enrollment was manually removed, they won't have access to the cohort squad — and therefore can't see any messages sent there.
To check this, go to Coach → Programs → [Your Program] → Enrollments and confirm the client's status shows as Active. A status of Pending, Cancelled, or Expired will cut off chat access.
2. The client hasn't been added to the community squad
Community squads don't auto-populate. You need to add members manually, or set up the squad so clients can self-join via a link or enrollment flow. If a client is messaging you directly but can't see the community channel, go to Coach → Squads → [Squad Name] → Members and verify they appear in the list. If they don't, use the Add Member button to invite them by email.
3. A stale session or cached state
Stream Chat maintains a WebSocket connection to push messages in real time. If that connection drops — due to a browser tab going to sleep, a mobile app backgrounding for too long, or an unreliable network — messages sent during the gap may appear to be missing when the client reconnects.
The fix: ask the client to fully sign out of Coachful and sign back in at app.coachful.co/sign-in. On mobile, closing and relaunching the app is usually sufficient. A hard refresh (Ctrl+Shift+R on Windows/Linux, Cmd+Shift+R on Mac) in the browser also works in most cases.
4. The client is looking in the wrong place
This happens more than coaches expect. Clients sometimes confuse the 1:1 direct message thread with the squad group channel, or they navigate to a different program's squad by mistake. Walk them through opening the correct squad: from their client dashboard, they should go to My Programs → [Program Name] → Squad for a cohort squad, or Community → [Squad Name] for a community squad.
5. Role or permission mismatch
Coachful has layered roles: platform-level roles (user, editor, coach, admin, super_admin) and org-level roles (super_coach, coach, member, virtual_assistant). A client added as a virtual_assistant instead of a member, for example, may have unexpected chat access differences. Go to Coach → Team → Members and confirm the client's org role is set to Member.
6. Messages sent before the client joined
By default, clients see messages from the moment they join a squad channel. Older messages sent before they were added may not be visible depending on your squad's history settings. If you want clients to see historical context, you can copy and re-post critical messages, or pin important announcements so they surface prominently regardless of when the client joined.
Running into this constantly? Coaches using Coachful can manage squad membership, enrollment status, and chat access all from one dashboard — no jumping between tools. If setup is taking more than a few clicks, something may be misconfigured. Sign in and check your squad settings now.
Step-by-step: fixing client chat access in Coachful
- Confirm enrollment status. Go to Coach → Programs → [Program Name] → Enrollments. Find the client by name or email. If their status is anything other than Active, click into their record and either re-activate their enrollment or resend the enrollment link.
- Check squad membership. Go to Coach → Squads → [Squad Name] → Members. Search for the client. If they're absent, click Add Member, enter their email address, and confirm. They'll receive an in-app notification and can access the squad immediately.
- Ask the client to refresh their session. Have them sign out at app.coachful.co/sign-in, wait 30 seconds, and sign back in. On the mobile app, close it fully from the app switcher and reopen it.
- Verify they're in the right channel. Share a direct link to the squad or walk them to My Programs → [Program Name] → Squad so there's no ambiguity about where to look.
- Check your own Stream connection. In your coach dashboard, if the chat panel shows a connection error banner or a spinner that never resolves, your workspace's Stream session may need a refresh. Sign out and back in, or contact support if it persists.
- Test with a fresh message. Send a short test message from your coach account. Ask the client to confirm they see it appear in real time. If it appears after sign-in but not before, the issue was a stale session. If it still doesn't appear, escalate to Coachful support.
Troubleshooting: specific scenarios and fixes
Client sees the squad but messages load endlessly
This is almost always a browser cache or service worker issue. Ask the client to open Coachful in an incognito/private window and try again. If messages load in incognito but not in their regular browser, they should clear their browser cache for the coachful.co domain (Settings → Privacy → Clear browsing data → Cached images and files) and reload.
Client on mobile can't see messages the coach sent from desktop
The Coachful mobile app (iOS/Android via the Capacitor shell) syncs in real time, but background app refresh settings can delay this. Make sure the client has background app refresh enabled for Coachful in their phone's settings. On iOS: Settings → General → Background App Refresh → Coachful → On. On Android: Settings → Apps → Coachful → Battery → Unrestricted.
Coach can see the message but the client sees "No messages yet"
This usually means the client is viewing a different channel than the one you posted in — most often a new, empty squad that was auto-created when a duplicate enrollment happened. Go to Coach → Squads and look for any duplicate squads tied to the same program. Archive the empty duplicate, then re-verify the client is in the correct one.
New client enrolled but squad hasn't appeared yet
Cohort squads are created automatically on enrollment confirmation, but there can be a delay of up to 60 seconds during high-traffic periods. If a squad hasn't appeared after 2–3 minutes, go to Coach → Programs → [Program Name] → Squads and click Regenerate Squad if that option is available. Otherwise, manually create a cohort squad and link it to the program from the same screen.
Client removed from squad by mistake
If you or a team member accidentally removed a client from a squad, their message history is preserved on the backend. Simply re-add them via Coach → Squads → [Squad Name] → Members → Add Member. Their previous messages will reappear in the channel once they rejoin.
Virtual assistant or editor can't see client messages
Team members with the virtual_assistant org role have limited chat permissions by design. If you want a VA or editor to monitor and respond to client messages, they need to be elevated to the coach org role within your workspace, or given explicit squad access. Go to Coach → Team → [Member Name] → Edit Role to adjust this.
Pro tips: prevent chat visibility issues before they happen
The best support ticket is the one you never have to open. A few habits at program setup will eliminate 90% of these issues before any client hits them.
- Always test the client experience after setup. Create a test account with a personal email, enroll it in your program as if you were a real client, and walk through the chat flow. You'll catch access issues in minutes rather than hearing about them mid-program.
- Pin a welcome message immediately. As soon as a cohort squad is created, post and pin a welcome message. Clients who join later will see the pinned post regardless of join date, giving them immediate orientation.
- Use Michelle, Coachful's AI assistant, to audit your squad setup. From the coach dashboard, open the Michelle panel and ask "Are all clients in my [Program Name] program assigned to a squad?" — she can surface enrollment gaps without you digging through menus manually.
- Set chat expectations in your onboarding flow. In your program's intake or welcome task, include a short note telling clients exactly where to find the squad chat and how to access it on mobile. A 2-sentence instruction eliminates most "I can't find it" support messages.
- For large cohorts (10+ clients), use community squads instead of relying solely on cohort squads. Community squads give you more control over membership, persistence across program cycles, and the ability to keep conversations alive between cohorts.
Related issues: 1:1 direct messages vs. squad messages
Coachful supports both 1:1 direct messages (between you and a single client) and squad group messages. They live in different parts of the interface. If a client says "I can't see your message," always clarify first: were you messaging them directly, or posting in a squad channel? A message sent to the squad won't appear in their personal DM inbox, and vice versa.
For related guidance, see Starting a direct message with a client and Cohort squads explained.
When to contact Coachful support
If you've worked through all the steps above and a client still can't see messages, it's time to escalate. Gather the following before reaching out — it speeds up resolution significantly:
- The client's email address and enrollment ID
- The squad name and whether it's a cohort or community squad
- A screenshot of the client's chat view showing the issue
- The timestamp of the message(s) they can't see
- The client's device and browser (or app version)
Submit a ticket from help.coachful.co or use the in-dashboard chat widget. Our team monitors the Stream Chat integration logs directly and can identify connection-level issues that aren't visible from the UI.
Ready to run chat that actually works for your clients?
Chat issues almost always trace back to a setup step, not a platform bug. Once your enrollment flow, squad membership, and client onboarding are dialed in, Coachful's Stream-powered messaging runs reliably across web and mobile — for solo coaches with 5 clients and for teams running programs with hundreds of enrollees.
If you're still setting up your coaching workspace or want to build a smoother client experience from day one, start your free trial at Coachful and explore the Programs + Squads setup together. Already a member? Sign in to your workspace and apply the fixes above — most take under two minutes.