OpenClaw merged a Slack session-state fix that makes thread replies smarter after a reset boundary. The change landed in PR #97100, titled "fix: seed Slack thread context after reset," and was merged on June 28 at 06:36 UTC.
The issue was subtle but important for teams that rely on long Slack threads as operational context. If an existing Slack thread had a stored session row, OpenClaw could treat the next reply as part of an already-seeded thread even when the configured reset policy was about to roll the conversation into a new session. That meant the new model turn might see the fresh reply and route metadata, but miss the prior Slack replies that made the request make sense.
What Changed
The Slack prepare path now asks the session-store runtime whether the existing thread entry is still fresh under the effective reset policy. If the row exists but is stale, OpenClaw fetches the initial Slack thread history again before starting the new session.
The PR describes the user-facing case directly: with channels.slack.thread.initialHistoryLimit=10 and thread.inheritParent=true, operators expected the first turn after a daily or idle reset to include the surrounding Slack thread. That expectation now matches the runtime behavior.
The implementation also centralizes reset freshness checks for plugin callers. That matters because channel plugins should not each invent their own interpretation of daily, idle, or provider-owned session behavior.
Why Operators Should Care
Slack threads often serve as lightweight incident rooms, support trails, or project task histories. In those workflows, a reset should give the model a fresh session without making it forget the thread context that humans still see on screen.
The fix preserves both sides of that contract:
- Fresh existing Slack threads still avoid repeated history injection.
- Stale thread sessions now receive initial thread history when the reset policy says a new session is needed.
- Setting
initialHistoryLimit=0still disables the history fetch. - Provider-owned implicit reset behavior is preserved unless a reset policy is explicitly configured.
That is a better default for long-running team chat. The model gets the context it needs at the moment a new session begins, but OpenClaw still avoids stuffing every reply with duplicate history.
Validation
The PR included focused Slack, session-store, plugin SDK surface, and build validation. The author also noted that Codex review and local autoreview passed after a provider-owned session semantics fix.
For OpenClaw Chronicles readers, the headline is practical: if you run Slack-connected agents with daily or idle resets, thread replies after a reset should now behave more like a human expects. The visible Slack thread remains the source of continuity, and OpenClaw now reseeds that continuity when the underlying session changes.