Video attachment is not included in sent messages and may cause the macOS app to crash when switching chats

Environment

  • Platform: macOS

  • Application: ChatGPT for macOS

  • App version: 1.2026.153 (1780942906)

  • Network connection: Stable

  • Comparison environment: ChatGPT web application

Preconditions

  • The user is registered and logged in

  • A supported short video file is available on the device

  • The user has access to an existing or new chat

Steps to Reproduce

Scenario 1: Sending a video attachment

  1. Open the ChatGPT macOS application

  2. Open an existing chat or create a new chat

  3. Add a short video file to the message Composer

  4. Observe the video attachment preview

  5. Enter a text message

  6. Send the message

  7. Add the video again

  8. Send the video without entering any text

Scenario 2: Switching chats with an unsent video attachment

  1. Open an existing chat

  2. Add a short video file to the message Composer

  3. Wait until the grayed-out video preview is displayed

  4. Do not send the message

  5. Do not remove the attached video

  6. Create or open another chat

  7. Observe crash

Actual Result

Scenario 1

  • The attached video appears grayed out in the preview

  • The video can be played from the preview

  • The application does not display a clear upload progress or successfully uploaded state

  • When the message containing text and the video is sent, only the text is included in the submitted request

  • The video is not available to the AI

  • When the video is sent without any text, the application behaves as though an empty message was submitted

  • The AI generates a response based on the previous conversation context instead of processing the attached video

  • The same video can be uploaded and sent successfully through the ChatGPT web application

Scenario 2

  • When the user switches to another chat while the unsent video remains in the Composer, the application becomes unresponsive

  • The application subsequently crashes

  • The crash report contains:

Exception Type: EXC_BREAKPOINT (SIGTRAP)
Termination Reason: Namespace SIGNAL, Code 5, Trace/BPT trap: 5

  • The application-specific backtrace references AppKit and SwiftUI layout processing, including:

    • NSWindow

    • NSView

    • NSHostingView

    • GraphHost

    • AttributeGraph

    • asynchronous NSItemProvider file loading

Expected Result

  • After a supported video is selected, the application should display a clear upload state

  • The attachment should become available for sending only after the upload is completed successfully

  • When the user sends text with a video, both the text and video should be included in the same request

  • When the user sends only a video, the AI should receive and process the video attachment

  • If the upload fails, the application should:

    • prevent the incomplete request from being sent;

    • display a clear error message;

    • provide retry and remove options

  • When the user switches to another chat with an unsent or still-uploading video:

    • the application should remain responsive;

    • the attachment operation should be safely cancelled, preserved as a draft, or removed according to the intended product behavior;

    • active asynchronous file-loading operations should not invalidate the SwiftUI view hierarchy;

    • the application should not freeze or crash

  • Video attachment behavior should be consistent between the ChatGPT macOS application and the web application

Reproducibility

  • Video is omitted from the sent request: Reproducible

  • Crash when switching chats: Reproducible under the described attachment state

Severity

Critical

The issue causes both:

  • complete failure of the video attachment workflow in the macOS application;

  • an application freeze and crash during normal chat navigation.

The user may also lose the current unsent message or attachment state.

Priority

High

The issue affects a primary multimodal input feature and can terminate the application. Users are not informed that the video was excluded before the request is submitted.

Layer

Frontend / macOS client

The same video works correctly in the web application, while the native macOS client:

  • incorrectly manages or represents the attachment upload state;

  • submits the message without the selected attachment;

  • may retain an invalid attachment state during navigation;

  • crashes during SwiftUI/AppKit layout invalidation while an asynchronous file operation appears to remain active.