[BUG] Projects (beta) threads: card widgets have no input schemas and bad input fails silently
Preflight Checklist
- [x] I have searched existing issues 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?
In a thread in the new Projects (beta), Claude posts display cards through a single post_widget tool. That tool lists the card names (chart_display_v0, comparison_card_display_v0, featured_card_display_v0, itinerary_display_v0, link_preview_display_v0, options_card_display_v0, places_list_display_v0, product_carousel_display_v0, step_card_display_v0, writing_draft_v0) but gives the model no input schema for any of them except the writing draft. Claude told me it had to guess the fields.
The tool also accepts any non-empty object and returns success, so wrong guesses fail silently. I asked for one sample of each card and got:
- Chart, comparison, link preview, featured item, itinerary: no card at all, only the one-line fallback caption.
- Options: a title and three empty boxes.
- Product carousel: names and prices, no descriptions.
- Step list, places list, writing draft: fine.
Claude could not tell any of this had happened until I sent screenshots.
What Should Happen?
Thread sessions should get the same per-card input schemas that regular Claude sessions have (there they are separate mcp__widgets__* tools with full schemas), and post_widget should reject input that does not match so Claude can correct itself.
I confirmed the renderer itself works: I asked a regular Claude session to print the exact schemas for the same cards, pasted them into the thread, and Claude reposted all seven broken cards. Every one rendered correctly.
Error Messages/Logs
_No response_
Steps to Reproduce
- In the Claude desktop app, open a project (the new Projects beta) and start a thread. Mine was a local thread running on my own Mac.
- Ask: "Post one sample of every card type you can show here."
- Look at the result. Several cards show only a caption line, or draw with empty sections.
- Ask Claude what fields each card expects. It only knows the card names.
- Paste in the real schemas from a regular Claude session and ask it to retry. All cards now render.
Claude Model
Opus
Is this a regression?
I don't know
Last Working Version
_No response_
Claude Code Version
2.1.288 (Claude Code)
Platform
Anthropic API
Operating System
macOS
Terminal/Shell
Other
Additional Information
Screenshots of before and after below:
Before:
<img width="1914" height="764" alt="Image" src="https://github.com/user-attachments/assets/0200d9a8-1af1-4ef8-ba6b-342118a6f18d" />
After:
<img width="1898" height="1576" alt="Image" src="https://github.com/user-attachments/assets/ce0e4892-63ec-4e33-9004-eec107428e08" />
Observed on 2.1.283, updated to 2.1.288 before filing. macOS 27.0. Tested Oct 2, 2026.
Related gaps I noticed in Projects (beta) threads while testing (happy to file separately):
- Threads lack several cards that regular sessions have:
message_compose_v1(email and message draft),places_map_display_v0,quiz_display_v0,recipe_display_v0,translation_display_v0,weather_fetch,fetch_sports_data,image_search. - The writing draft card does not show the title Claude gives it.
- The options card always shows a medical disclaimer, even for non-health topics.
- There is no thumbs up or thumbs down button in project threads, so there is no in-app way to report any of this.
This issue has 1 comment on GitHub. Read the full discussion on GitHub ↗