-
Notifications
You must be signed in to change notification settings - Fork 240
downloadFile not implemented on Claude iOS (error -32601) #574
Copy link
Copy link
Open
Description
app.downloadFile() returns JSON-RPC error -32601 (method not found) on Claude iOS. The capability is absent from the host's advertised capabilities.
Environment
- Host:
claude-ios/1.260323.4 - SDK:
@modelcontextprotocol/ext-apps1.2.2 - Desktop/web: works as expected
Host capabilities reported on iOS
{
"openLinks": {},
"serverTools": { "listChanged": true },
"serverResources": { "listChanged": true },
"logging": {},
"updateModelContext": { "text": {}, "image": {} },
"message": { "text": {}, "image": {} }
}No downloadFile entry.
Reproduction
const app = new App({ name: "test", version: "1.0.0" });
await app.connect();
await app.downloadFile({
contents: [{
type: "resource",
resource: {
uri: "file:///test.txt",
mimeType: "text/plain",
text: "hello",
},
}],
});
// → MCP error -32601: ui/download-fileThis is a minimal text payload — the issue is the missing host handler, not payload size or format.
Context
Discovered while building mcp-music-studio, which exports audio files via downloadFile. Both the EmbeddedResource (blob) and plain text variants fail identically. Android is untested but likely the same.
The runtime capability check (app.getHostCapabilities()?.downloadFile) is a clean detection path — apps can gate on this today and automatically pick up the feature when it ships.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels