Slack

Slack's 90-day message history limit, explained

What Slack's 90-day limit does to your messages, whether old ones are deleted, what upgrading restores, and your options if you'd rather not pay.

· 4 min read

There's a specific moment where a team discovers Slack's free plan has an opinion about the past. Someone searches for the thread where you decided on the deploy process, finds nothing, searches again with different words, finds nothing, and then notices the little banner explaining that the workspace can see the last 90 days.

The conversation that follows is always the same. Wait, is it gone? No. So where is it? Right there. Can I read it? No.

What the limit actually is

On Slack's free plan, a workspace can access approximately the most recent 90 days of message history and file uploads. Anything older stops appearing in channels, in search results, and in permalinks.

The crucial detail — the one that decides how you should feel about it — is that the older content is not deleted. It's retained on Slack's side and becomes visible again if the workspace moves to a paid plan. Nothing is destroyed. It's escrowed.

Plan terms change. Check slack.com/pricing for the current position before making decisions; this article describes the shape of the limit, not a guaranteed contract.

What the limit breaks, in order

Teams tend to hit these in a predictable sequence, and each one is worse than the last.

1. Search quietly stops being search

A search box is worth roughly as much as its reach. Capped at 90 days, from:@priya has:link stops being a research tool and becomes a recent-activity filter. Most people don't consciously notice this — they just gradually stop searching, which is worse, because they stop noticing what they've lost.

2. Onboarding gets more expensive

The honest explanation of why your architecture looks the way it does isn't in the wiki. It's in a channel, in March, across forty messages and two arguments. New hires can't read it, so they ask, so someone senior reconstructs it from memory — badly, because everyone's memory of a decision is a bit self-flattering.

3. Decisions get relitigated

“Didn't we already talk about this?” is a question with no answer once the talking is behind the wall. So you talk about it again. Sometimes you reach a different conclusion, which is its own special kind of expensive.

4. Incident history evaporates

Your best runbook is the thread from the last time it broke — the real one, with the wrong guesses still in it. That's the single highest-value artifact a chat log produces, and it has a 90-day shelf life.

5. People start hoarding

Screenshots pasted into docs. Threads copied into Notion. A personal folder called important-slack-stuff. This is what an archive looks like when the archive doesn't work, and it's how the same information ends up in five places with four versions.

What upgrading does and doesn't fix

Moving to a paid Slack plan restores access to the full history, and that genuinely solves the problem. It also introduces a different one: the cost is per person, per month, indefinitely, and it scales with hiring rather than with usage.

So the decision isn't “history or no history.” It's “is unlimited history worth a permanent per-head subscription?” For a lot of teams the answer is yes and that's a perfectly rational purchase. For a lot of others, it's an odd thing to be renting.

Team sizeWhat you're buyingWhat you're buying it for
10 people10 seats, monthly, foreverReading things you already wrote
25 people25 seats, monthly, foreverReading things you already wrote
50 people50 seats, monthly, foreverReading things you already wrote

Put uncharitably, yes. But it's worth noticing the shape: you're not paying for storage — text is famously cheap — you're paying for access.

Your actual options

  1. 1Pay for Slack. Fastest path, no migration, permanent per-seat cost. Genuinely the right answer if you need huddles, Slack Connect or SSO anyway.
  2. 2Export regularly and keep the archive elsewhere. Slack's export gives you JSON, which is searchable if someone builds the searching. This preserves data but not usability.
  3. 3Move to a tool without a history limit. Self-hosted or open source chat generally has no limit, because your disk is your disk.
  4. 4Accept the limit and change habits. Push durable decisions into docs and ADRs, and treat chat as ephemeral. This is a legitimate strategy and more disciplined teams than yours have done it, but it fights human nature every day.

Or just don't have a history limit.

Fluid Chat keeps every message readable and searchable on the free plan, hosted or self-hosted, because there is no paid plan to move up to.

The uncomfortable summary

The 90-day limit is good business design and a bad experience, and both of those things are true at once. It costs Slack almost nothing to keep your messages and produces enormous pressure to upgrade at exactly the moment your team has accumulated enough history to care.

If you're going to pay it, pay it deliberately — knowing that what you're buying is access to your own writing. And if that framing makes you twitch slightly, that twitch is worth listening to.

FAQ

Questions people actually ask.

Does Slack delete messages older than 90 days on the free plan?

No. On the free plan, messages and files older than roughly 90 days become inaccessible — they stop appearing in channels, search and permalinks — but they are retained rather than deleted, and access is restored if the workspace moves to a paid plan.

Can I search messages older than 90 days on Slack Free?

No. Search is bounded by the same window as the rest of the workspace, so anything outside it won't appear in results even if you know it exists.

How do I get my old Slack messages back?

Upgrading the workspace to a paid Slack plan restores access to the full history. Alternatively, a workspace export preserves what you can access, and moving to a chat tool without a history limit avoids the problem going forward.

Why does Slack limit history on the free plan?

It's a conversion mechanism rather than a storage constraint — text costs very little to store. Restricting access to history creates upgrade pressure at the point where a team has accumulated enough archive to depend on it.

Which chat tools have unlimited message history for free?

Fluid Chat keeps unlimited history on its free plan, hosted or self-hosted, and searches all of it. Self-hosted Mattermost, Rocket.Chat and Zulip also keep unlimited history because the database is yours, though each reserves some admin features for paid tiers.

Something not covered? Open an issue.

Your archive, without the velvet rope.

Unlimited history isn't a feature in Fluid Chat, it's the absence of a limit. Start a free workspace, or run it on your own Postgres.