@@ -31,6 +31,7 @@ import (
31 agenttools "github.com/charmbracelet/crush/internal/agent/tools"
31 agenttools "github.com/charmbracelet/crush/internal/agent/tools"
32 "github.com/charmbracelet/crush/internal/agent/tools/mcp"
32 "github.com/charmbracelet/crush/internal/agent/tools/mcp"
33 "github.com/charmbracelet/crush/internal/app"
33 "github.com/charmbracelet/crush/internal/app"
34+ "github.com/charmbracelet/crush/internal/clipboard"
34 "github.com/charmbracelet/crush/internal/commands"
35 "github.com/charmbracelet/crush/internal/commands"
35 "github.com/charmbracelet/crush/internal/config"
36 "github.com/charmbracelet/crush/internal/config"
36 "github.com/charmbracelet/crush/internal/fsext"
37 "github.com/charmbracelet/crush/internal/fsext"
@@ -3856,7 +3857,7 @@ func (m *UI) handleFilePathPaste(path string) tea.Cmd {
3856// creates an attachment. If no image data is found, it falls back to
3857// creates an attachment. If no image data is found, it falls back to
3857// interpreting clipboard text as a file path.
3858// interpreting clipboard text as a file path.
3858func (m *UI) pasteImageFromClipboard() tea.Msg {
3859func (m *UI) pasteImageFromClipboard() tea.Msg {
3859− imageData, err := readClipboard(clipboardFormatImage)
3860+ imageData, err := clipboard.Read(clipboard.FormatImage)
3860 if int64(len(imageData)) > common.MaxAttachmentSize {
3861 if int64(len(imageData)) > common.MaxAttachmentSize {
3861 return util.InfoMsg{
3862 return util.InfoMsg{
3862 Type: util.InfoTypeError,
3863 Type: util.InfoTypeError,
@@ -3873,7 +3874,7 @@ func (m *UI) pasteImageFromClipboard() tea.Msg {
3876− textData, textErr := readClipboard(clipboardFormatText)
3877+ textData, textErr := clipboard.Read(clipboard.FormatText)
3877 if textErr != nil || len(textData) == 0 {
3878 if textErr != nil || len(textData) == 0 {
3878 return nil // Clipboard is empty or does not contain an image
3879 return nil // Clipboard is empty or does not contain an image