[BUG] Slack MCP slack_search_public returns corrupted timestamps

Resolved 💬 2 comments Opened Apr 27, 2026 by mtocce Closed May 30, 2026

Summary

mcp__claude_ai_Slack__slack_search_public returns messages whose displayed timestamps are mangled. Search content and filters work correctly, but the timestamp field is unreadable, breaking any workflow that uses search to build a timeline or assess recency.

slack_read_channel and slack_read_thread return correct timestamps for the same messages — the bug is isolated to slack_search_public's output formatter.

Environment

  • Claude Code CLI on macOS, Opus 4.7 (1M context)
  • MCP namespace: mcp__claude_ai_Slack__* (claude.ai-connected Slack)
  • Verified: 2026-04-27

Reproduction

The same message returned by both slack_read_channel and slack_search_public has different timestamp formatting:

Via slack_read_channel (channel C0AQM6JGY1H, #ndas-plan-group):

Changyu Gao: "Hi, team. When I tried to 'connect to jira', it doesn't work for me." [2026-04-23 01:52:50 PDT]

Via slack_search_public with query in:#ndas-plan-group:

Changyu Gao: "Hi, team. When I tried to 'connect to jira', it doesn't work for me." 56310778-08-11

The 56310778-08-11 value is rendered in YYYY-MM-DD form, but year 56,310,778 is nonsense. The value is not:

  • A Unix epoch (would be ~1.78 billion in 2026)
  • A real Slack ts (would be a float like 1745384000.123456)
  • Any consistent transform of either

The pattern across results suggests a numeric Slack message ID is being split on punctuation and emitted as date components by the search-results formatter. Other search results showed similarly mangled values: 56322999-08-18, 56267808-06-27, 56303312-01-20.

Impact

  • Cannot use slack_search_public to build a timeline or assess recency.
  • Cannot tell when a search-found message was sent without re-fetching via slack_read_channel.
  • after: / before: date filters in the query string DO appear to filter correctly — verified by cross-checking against slack_read_channel. Only the displayed timestamps in the response are wrong.

What works

  • slack_read_channel — proper [YYYY-MM-DD HH:MM:SS TZ] timestamps
  • slack_read_thread — proper timestamps
  • slack_read_user_profile — works
  • slack_search_channels — works
  • slack_search_public query semantics (in:, after:, from:) — work; only timestamps corrupted

Workaround

Use slack_read_channel (or slack_read_thread) for any timestamp-sensitive workflow. Treat slack_search_public result timestamps as opaque; re-fetch via channel-read for the real time.

🤖 Generated with Claude Code

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗