Skip to content
This repository was archived by the owner on Apr 12, 2026. It is now read-only.
This repository was archived by the owner on Apr 12, 2026. It is now read-only.

Add config option to hide intermediate agent traces in Slack messages #178

@elmarkou

Description

@elmarkou

Add config option to hide intermediate agent traces in Slack messages

Summary

When Agent Mode is enabled, the Slack bot posts intermediate reasoning/tool traces such as Thought, Justification, Action, and Action Input directly into the user thread. This is noisy for end users and exposes internal planner format that should stay internal.

Problem

For production support and business workflows, we only want the final user-facing outcome in Slack.
Current behavior posts multiple intermediate messages before the final answer.

Observed behavior

  • Bot posts lines like:
    • Thought: Do I need to use a tool? Yes
    • Justification: ...
    • Action: ...
    • Action Input: ...
  • These appear as separate Slack messages in the conversation thread.

Expected behavior

  • By default or via configuration, bot should optionally suppress intermediate agent traces.
  • Only final synthesized, user-friendly response should be posted to Slack.

Why this matters

  • Better user experience in Slack
  • Avoid exposing internal prompt/planner structure
  • Reduces message noise and confusion
  • Safer for non-technical users

Proposed change

Add a new config flag in the unified config schema, for example:

  • Path: llm.suppressIntermediateSteps
  • Type: boolean
  • Default: false (to preserve current behavior)

Behavior

  • false: keep current behavior
  • true: do not send intermediate Thought/Action messages to Slack, only final response

Implementation idea

In the agent callback flow, filter intermediate outputs before calling sendMessage, or only emit on final chain completion event intended for end-user output.

Acceptance criteria

  • With useAgent: true and suppressIntermediateSteps: true:
    • No Thought / Action / Action Input messages are posted to Slack
    • Final answer is still posted correctly
  • With suppressIntermediateSteps: false:
    • Existing behavior remains unchanged
  • Config schema and docs are updated with this option

Environment

  • slack-mcp-client latest release
  • OpenAI provider
  • Agent Mode enabled for multi-step tool chaining

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions