anthropics / anthropics/claude-code

execute_zapier_write_action / execute_zapier_read_action fail with "Invalid input: expected record, received string" (path: params)

Open
#92,301 0 comments 0 reactions 0 assignees View on GitHub
area:mcp bug has repro platform:windows
Dominant language
Python
Stars
145k
Forks
23.1k
PR merge metrics
PR metrics pending

Description

**Summary**
Both `execute_zapier_write_action` and `execute_zapier_read_action` (Zapier MCP connector) fail 100% reproducibly with:

```
MCP error -32602: Input validation error: Invalid arguments for tool execute_zapier_write_action: [
{
"expected": "record",
"code": "invalid_type",
"path": ["params"],
"message": "Invalid input: expected record, received string"
}
]
```

**Repro**
Call either tool with the normal shape, e.g.:
```json
{"selected_api": "YouTubeV4CLIAPI", "action": "upload_video", "tool_name": "youtube_upload_video", "params": {"video": "...", "title": "..."}}
```
Fails identically regardless of: flat vs nested params, ASCII vs Unicode/emoji content, which underlying app/action (tried YouTube upload_video, Instagram Graph API raw request, GitHub get_file_contents/create_issue).

**What we ruled out**
- Not an auth issue: `inspect_zapier_actions` (same MCP server) continues to work fine throughout; a genuine separate "connector requires authentication" error occurred once and was fixed by disconnecting/reconnecting the Zapier connector at claude.ai — but this params error persisted unchanged after that fix.
- Not app-session state: full app restart did not change the behavior.
- Not stale action schema: disabling and re-enabling the specific Zapier action (fresh schema registration) did not change the behavior.
- Not content-specific: tested minimal ASCII-only params and full Korean+emoji params, identical failure.

**Impact**
Completely blocks any workflow that needs `execute_zapier_write_action`/`execute_zapier_read_action` — e.g. publishing generated video to YouTube/Instagram via Zapier's Instagram-for-Business/YouTube CLI APIs, or even filing this very issue via GitHub's create_issue action (had to fall back to `gh issue create` from a terminal instead).

**Environment**: Claude Code desktop app (Cowork/session context), Windows 11, Zapier MCP connector.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reproducing the JSON calls to execute_zapier_write_action and execute_zapier_read_action with the minimal params shape shown. Compare their validation path with inspect_zapier_actions, which continues to work, and verify the fix against the listed YouTube, Instagram, and GitHub actions. Done means both tools accept params as records rather than reporting that they received strings.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
api, backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Active
Clarity
Mostly clear
Newbie friendliness
38/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.