What version of the Codex App are you using (From “About Codex” dialog)?
Codex Desktop 26.727.51351 (bundle 6119), bundled CLI codex-cli 0.145.0.
Official Slack plugin bundle: 0.1.4.
What subscription do you have?
ChatGPT workspace account. The exact plan is not exposed in the local client diagnostics available to me.
What platform is your computer?
Darwin 25.5.0 arm64 arm
What issue are you seeing?
The official Slack plugin applies inconsistent AI-origin attribution depending on the Slack action used.
A normal outbound message sent through slack_send_message is posted with the expected footer:
sigtest-text-only-01
Sent using @ChatGPT
However, a comment posted by slack_complete_file_upload through its initial_comment parameter is posted as the authenticated Slack user with no ChatGPT attribution. I reproduced this with both a PNG image and a TXT attachment:
sigtest-image-caption-01
Files: attribution-test.png
sigtest-file-caption-01
Files: attribution-test.txt
All three controls were sent to the same self-DM, from the same Codex task, authenticated Slack user, workspace, and connector. The only relevant variable was the action path. An earlier PDF upload with an accompanying comment in a different DM showed the same omission.
This is a provenance/transparency gap: an AI-originated Slack message can appear indistinguishable from a manually authored message whenever it is delivered as a file-upload comment.
Private workspace IDs, user IDs, and permalinks are intentionally omitted from this public report, but can be supplied privately if needed.
What steps can reproduce the bug?
- In Codex Desktop, install and connect the official Slack plugin with message-send and file-upload actions enabled.
- Ask Codex to send a benign text-only message to your Slack self-DM.
- Confirm that Slack renders the message with
Sent using @ChatGPT.
- Ask Codex to upload a PNG to the same self-DM and set a benign
initial_comment.
- Read the DM history and observe that the image comment has no ChatGPT attribution.
- Repeat with a TXT attachment and another
initial_comment.
- Observe that the TXT comment also has no ChatGPT attribution.
Observed control matrix:
| Action |
Payload |
Attribution |
slack_send_message |
Text only |
Present |
slack_complete_file_upload |
PNG + initial_comment |
Missing |
slack_complete_file_upload |
TXT + initial_comment |
Missing |
Historical slack_complete_file_upload |
PDF + comment, different DM |
Missing |
The behavior reproduced on 2026-08-03 (Australia/Perth).
What is the expected behavior?
ChatGPT-originated Slack writes should follow one consistent provenance policy regardless of whether text is sent through chat:write or as the initial_comment of a file upload.
Given the current text-message behavior, file-upload comments should also include the same Sent using @ChatGPT attribution. If a different policy is intentional, it should be documented and applied consistently.
Additional information
I checked the available public OpenAI repositories before filing:
openai/plugins is public and contains the Slack plugin manifest, skills, and app registration, but not the Slack action implementation. GitHub Issues are disabled for that repository.
openai/codex describes Codex Apps as a host-owned Apps MCP server and contains generic tool/file-parameter bridging. There is no Slack-specific slack_send_message or slack_complete_file_upload implementation, nor the Sent using footer logic, in the public source.
- The actual action implementation therefore appears to live in the hosted ChatGPT Apps MCP / Plugin Service rather than the open-source Codex client.
Suggested server-side fix:
- Apply the same attribution builder used by
slack_send_message to non-empty initial_comment values in slack_complete_file_upload.
- Resolve the ChatGPT Slack app user ID centrally; do not require model-generated or workspace-specific mention IDs.
- Add integration coverage for text-only messages, image uploads with comments, generic file uploads with comments, and uploads without comments.
- Make the operation idempotent so retries or future client-side formatting do not duplicate the footer.
What version of the Codex App are you using (From “About Codex” dialog)?
Codex Desktop
26.727.51351(bundle6119), bundled CLIcodex-cli 0.145.0.Official Slack plugin bundle:
0.1.4.What subscription do you have?
ChatGPT workspace account. The exact plan is not exposed in the local client diagnostics available to me.
What platform is your computer?
Darwin 25.5.0 arm64 armWhat issue are you seeing?
The official Slack plugin applies inconsistent AI-origin attribution depending on the Slack action used.
A normal outbound message sent through
slack_send_messageis posted with the expected footer:However, a comment posted by
slack_complete_file_uploadthrough itsinitial_commentparameter is posted as the authenticated Slack user with no ChatGPT attribution. I reproduced this with both a PNG image and a TXT attachment:All three controls were sent to the same self-DM, from the same Codex task, authenticated Slack user, workspace, and connector. The only relevant variable was the action path. An earlier PDF upload with an accompanying comment in a different DM showed the same omission.
This is a provenance/transparency gap: an AI-originated Slack message can appear indistinguishable from a manually authored message whenever it is delivered as a file-upload comment.
Private workspace IDs, user IDs, and permalinks are intentionally omitted from this public report, but can be supplied privately if needed.
What steps can reproduce the bug?
Sent using @ChatGPT.initial_comment.initial_comment.Observed control matrix:
slack_send_messageslack_complete_file_uploadinitial_commentslack_complete_file_uploadinitial_commentslack_complete_file_uploadThe behavior reproduced on 2026-08-03 (Australia/Perth).
What is the expected behavior?
ChatGPT-originated Slack writes should follow one consistent provenance policy regardless of whether text is sent through
chat:writeor as theinitial_commentof a file upload.Given the current text-message behavior, file-upload comments should also include the same
Sent using @ChatGPTattribution. If a different policy is intentional, it should be documented and applied consistently.Additional information
I checked the available public OpenAI repositories before filing:
openai/pluginsis public and contains the Slack plugin manifest, skills, and app registration, but not the Slack action implementation. GitHub Issues are disabled for that repository.openai/codexdescribes Codex Apps as a host-owned Apps MCP server and contains generic tool/file-parameter bridging. There is no Slack-specificslack_send_messageorslack_complete_file_uploadimplementation, nor theSent usingfooter logic, in the public source.Suggested server-side fix:
slack_send_messageto non-emptyinitial_commentvalues inslack_complete_file_upload.