anthropics / anthropics/claude-code

[BUG] Slack MCP draft messages do not format lists, while sent messages do

Open
#93,026 0 comments 0 reactions 0 assignees View on GitHub
area:mcp bug platform:macos
Dominant language
Python
Stars
145k
Forks
23.1k
PR merge metrics
PR metrics pending

Description

### Preflight Checklist

- [x] I have searched [existing issues](https://github.com/anthropics/claude-code/issues?q=is%3Aissue%20state%3Aopen%20label%3Abug) and this hasn't been reported yet
- [x] This is a single bug report (please file separate reports for different bugs)
- [x] I am using the latest version of Claude Code

### What's Wrong?

Slack connector: `slack_send_message_draft` flattens all list formatting; `slack_send_message` does not.
Any draft-for-human-review workflow loses list formatting, forcing manual re-formatting before sending.

- Feedback ID: 59cbd311-43de-4edc-8953-1a06f469ccfc

**Errors**
Draft renders literal "•" text characters (numbered lists also flatten). Passing a Block Kit {"blocks":[...]} payload as the message string renders as literal JSON.

### What Should Happen?

Draft should contain a native Slack bulleted list, like the sent message does.

### Steps to Reproduce

1. have a Slack MCP setup
2. Call `slack_send_message_draft` tool with markdown: `- item one\n- item two`. You can just ask Claude to "send `- item one\n- item two` to myself as a draft Slack message.
3. Look at Slack and note that the draft message only shows raw unicode bullets, not a real list. You can easily see it by editing the draft to add a real list below; the alignment isn't the same.

### Claude Model

Other

### Is this a regression?

No, this never worked

### Last Working Version

_No response_

### Claude Code Version

2.1.236

### Platform

Anthropic API

### Operating System

macOS

### Terminal/Shell

iTerm2

### Additional Information

_No response_

Contributor guide

No contributing guide indexed for this repository

Research direction

Start with the `slack_send_message_draft` MCP tool and reproduce the markdown list behavior described in the issue, then compare it with `slack_send_message`. Trace how each tool converts message content for Slack and verify that draft output preserves bulleted and numbered lists as native Slack formatting rather than literal bullets or JSON.

Written by the indexing model from the issue text.

Assessment

Domain
api, backend
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
55/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.