Skip to content

[Bug]: Slack requireMention: true is bypassed for thread replies after prior bot participation #64277

@santosh-setu

Description

@santosh-setu

Bug type

Behavior bug (incorrect output/state without crash)

Beta release blocker

No

Summary

With Slack channel config requireMention: true, OpenClaw still replies to untagged messages in a thread after it has previously participated in that thread.

This appears to happen because Slack thread participation is treated as an implicit mention, which effectively bypasses strict mention gating.

Steps to reproduce

  1. Configure Openclaw with Slack (with requireMention: true config against that channel on openclaw config)
  2. Add the Openclaw Bot user on any Slack channel with multiple users
  3. In that Slack channel, start a thread and explicitly mention the bot in the first message (or in any thread reply), so OpenClaw replies once.
  4. After OpenClaw has replied in that thread, send another reply in the same thread without mentioning the bot.
  5. Observe that OpenClaw may still reply, even though requireMention: true is set for that channel.

Expected behavior

If channels.slack.channels.<channel>.requireMention = true:

• OpenClaw should only reply when explicitly mentioned
• prior participation in the thread should not count as a mention
• replying inside the same Slack thread without tagging the bot should still be ignored

Actual behavior

After OpenClaw replies once in a Slack thread, later untagged messages in the same thread can still trigger responses.

OpenClaw version

2026.3.23-2

Operating system

Amazon Linux 2023.10.20260302

Install method

npm global

Model

openai/gpt-5.4

Provider / routing chain

openclaw > Openai + OAuth > GPT 5.4

Additional provider/model setup details

no complicated setup.
Open AI with OAuth using GPT-5.4

Logs, screenshots, and evidence

Impact and severity

Affected: No impact
Severity: Annoying
Frequency: Each time - reported it multiple times to the bot to not respond unless tagged explicitly.
Consequence: Responding on behalf of others, unnecessary noise on the slack thread/messages

Additional information

As per Openclaw, the issue is due to Slack integration code within the openclaw

/usr/lib/node_modules/openclaw/dist/runtime-api-BI9wNO54.js

const implicitMention = Boolean(
!isDirectMessage &&
ctx.botUserId &&
message.thread_ts &&
(
message.parent_user_id === ctx.botUserId ||
hasSlackThreadParticipation(account.accountId, message.channel, message.thread_ts)
)
);
const mentionGate = resolveMentionGatingWithBypass({
isGroup: isRoom,
requireMention: Boolean(shouldRequireMention),
canDetectMention,
wasMentioned,
implicitMention,
...
});
function resolveMentionGating(params) {
const implicit = params.implicitMention === true;
const bypass = params.shouldBypassMention === true;
const effectiveWasMentioned = params.wasMentioned || implicit || bypass;
return {
effectiveWasMentioned,
shouldSkip: params.requireMention && params.canDetectMention && !effectiveWasMentioned
};
}
if (anyReplyDelivered && participationThreadTs)
recordSlackThreadParticipation(account.accountId, message.channel, participationThreadTs);

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingbug:behaviorIncorrect behavior without a crash

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions