Skip to content

Conversation

@blackgirlbytes
Copy link
Contributor

@blackgirlbytes blackgirlbytes commented Dec 19, 2025

Summary

The append prop was not being passed from BaseChat to ProgressiveMessageList, which meant MCP UI buttons that send prompt type postMessages were calling an empty default function () => {} instead of actually submitting to the chat.

Problem

When an MCP UI (rendered via MCPUIResourceRenderer) sends a prompt message like:

window.parent.postMessage({
  type: 'prompt',
  payload: { prompt: 'Some action' }
}, '*');

The message was received by @mcp-ui/client, which called appendPromptToChat(prompt) in MCPUIResourceRenderer. However, since append was not passed down through the component chain, it defaulted to an empty function and nothing happened.

Fix

Added the missing append prop to ProgressiveMessageList in BaseChat.tsx:

append={(text: string) => handleSubmit(text)}

Testing

  • Tested with a custom MCP UI server that has interactive buttons
  • Clicking buttons now properly sends prompts to the chat

Related

This fix is also required for the MCP Apps feature branch (feat/add-mcp-app-renderer) to work properly, as it also relies on the append prop flowing down from BaseChat.

Broken version

Screen.Recording.2025-12-19.at.5.37.47.PM.mov

Fixed version

Screen.Recording.2025-12-19.at.5.35.57.PM.mov

watch on 2x speed

Copilot AI review requested due to automatic review settings December 19, 2025 22:38
@blackgirlbytes blackgirlbytes requested a review from a team as a code owner December 19, 2025 22:38
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR fixes a critical bug where MCP UI prompts were not being submitted to the chat. The append prop was missing from the ProgressiveMessageList component in BaseChat, causing interactive buttons in MCP UI resources to call an empty default function instead of actually submitting prompts. Additionally, the MCP Elicitation documentation page is being made publicly visible.

  • Wires up the append prop to enable MCP UI prompt submission
  • Removes unlisted: true from MCP Elicitation documentation

Reviewed changes

Copilot reviewed 2 out of 2 changed files in this pull request and generated no comments.

File Description
ui/desktop/src/components/BaseChat.tsx Adds missing append prop to ProgressiveMessageList component, linking it to handleSubmit
documentation/docs/guides/mcp-elicitation.md Removes unlisted: true to make the MCP Elicitation guide publicly visible

@github-actions
Copy link
Contributor

PR Preview Action v1.6.3

🚀 View preview at
https://block.github.io/goose/pr-preview/pr-6207/

Built to branch gh-pages at 2025-12-19 22:43 UTC.
Preview will be ready when the GitHub Pages deployment is complete.

@blackgirlbytes blackgirlbytes changed the title fix(ui): wire up append prop to ProgressiveMessageList for MCP UI prompts fix(ui): enable MCP UI to send a prompt message when an element is clicked Dec 19, 2025
…mpts

The append prop was not being passed from BaseChat to ProgressiveMessageList,
which meant MCP UI buttons that send 'prompt' type postMessages were calling
an empty default function instead of actually submitting to the chat.

This fix enables MCP UI interactive buttons to work properly by connecting
the prompt action handler to handleSubmit.
Copy link
Collaborator

@zanesq zanesq left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM!

@blackgirlbytes blackgirlbytes merged commit 04a849a into main Dec 19, 2025
19 of 20 checks passed
@blackgirlbytes blackgirlbytes deleted the fix/mcp-ui-append-prop branch December 19, 2025 23:18
wpfleger96 added a commit that referenced this pull request Dec 23, 2025
* main: (155 commits)
  remove Tool Selection Strategy preview (#6250)
  fix(cli): correct bash syntax in terminal integration functions (#6181)
  fix : opening a session to view it modifies session history order in desktop (#6156)
  test: fix recipe and audio tests to avoid side effects (#6231)
  chore: Update gemini versions in test_providers.sh (#6246)
  feat: option to stream json - jsonl really (#6228)
  feat: add mcp app renderer (#6095)
  docs: update skills extension to support .agents/skills directories (#6199)
  Add YouTube short to Chrome DevTools MCP tutorial (#6244)
  docs: Caveats for privacy information in logs documentation (#6218)
  move goose issue solver to opus (#6233)
  feat: improved UX for tool calls via execute_code (#6205)
  Blog: Code Mode Doesn't Replace MCP (#6227)
  fix: prevent keychain requests during cargo test (#6219)
  test: fix test_max_turns_limit slow execution and wrong message type (#6221)
  Skills vs MCP blog (#6220)
  Add blog post: Does Your AI Agent Need a Plan? (#6209)
  fix(ui): enable MCP UI to send a prompt message when an element is clicked (#6207)
  docs: param option for recipe deeplink/open (#6206)
  docs: edit in place or fork session (#6203)
  ...
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants