v0.5.2 — say what the host actually said
The panel was being told why, and threw it away
A refused MCP call comes back as isError: true with the reason in its text blocks — not a thrown rejection. Both the claim loop and the attach path read only structuredContent, found none, and carried on. The result was thirty seconds of retries ending in "asking for one kept coming back empty", while the host had been answering with the actual reason ten times a second.
It is the same mistake as the loading screen that swallowed its own error, one layer further down: that fix displayed failure and left the code below still discarding it.
editor_pending gave one answer to two questions
"No proposal is open" means the panel asked before the server finished creating it — or it means several are open and none matched the path the host handed back. Opposite responses. It now reports how many are open and which paths it holds, and the panel repeats the server's own words instead of inventing a summary.
207 tests. Reinstall the .mcpb below.