/doctor shows false-positive "Missing environment variables" warning for Slack MCP on every startup

Resolved 💬 0 comments Opened Jun 11, 2026 by kpoduval-cw Closed Jun 11, 2026

Summary

Every TARS user may get this warning on startup / when running /doctor:

[Warning] [slack] mcpServers.slack: Missing environment variables:
SLACK_MCP_ADD_MESSAGE_TOOL, SLACK_MCP_CUSTOM_TLS

It looks like a broken config, but it's a false positive — the Slack MCP server connects and all read tools (conversations_history, conversations_replies, conversations_search_messages, channels_list) work fine.

Root cause

The two variables are referenced in .mcp.json's slack env block:

"SLACK_MCP_ADD_MESSAGE_TOOL": "${SLACK_MCP_ADD_MESSAGE_TOOL}",
"SLACK_MCP_CUSTOM_TLS": "${SLACK_MCP_CUSTOM_TLS}"

…but scripts/setup-env.sh (line 652) intentionally never writes them:

# NOTE: SLACK_MCP_CUSTOM_TLS and SLACK_MCP_ADD_MESSAGE_TOOL are intentionally
# omitted. The Slack MCP server treats any non-empty string (including "false")
# as truthy. Leave them unset to get the correct default behavior.

So .mcp.json references vars that setup deliberately leaves unset → the warning is guaranteed for every user, for an intentional design choice. Claude Code's warning is technically accurate; the inconsistency is in the TARS repo.

Impact

Cosmetic only. Reads work; the unset SLACK_MCP_ADD_MESSAGE_TOOL simply keeps message posting disabled (the intended safe default). But the warning reads like a setup failure and prompts confused "is my Slack broken?" questions.

Suggested fix (pick one)

  1. Drop the two keys from .mcp.json's slack env block — the bare -e VAR docker pass-through args already cover the optional case, so behavior is unchanged.
  2. Have setup-env.sh write them as empty (export SLACK_MCP_ADD_MESSAGE_TOOL=), which clears the warning while preserving default behavior.
  3. At minimum, document it as expected in the Troubleshooting section of CLAUDE.md.

Option 1 is cleanest — removes the noise at the source without changing any runtime behavior.

View original on GitHub ↗