v2.1.89: API Error 400 - system.2.cache_control.ephemeral.scope: Extra inputs are not permitted
Resolved 💬 2 comments Opened Apr 1, 2026 by cwuhui Closed Apr 8, 2026
Bug Description
After upgrading to v2.1.89, every new Claude Code session fails with API Error 400. Downgrading to v2.1.87 resolves the issue.
Error Message
API Error: 400 {"type":"error","error":{"type":"invalid_request_error","message":"system.2.cache_control.ephemeral.scope: Extra inputs are not permitted"}}
Environment
- Claude Code version: 2.1.89 (both npm global install and standalone
~/.local/bin/claude) - OS: macOS Darwin 24.6.0 (Apple Silicon)
- Node: via Homebrew
- Working version: 2.1.87
Steps to Reproduce
- Install Claude Code v2.1.89 (
npm install -g @anthropic-ai/claude-code@latest) - Open any directory (even home directory
~) - Send any message (e.g., "hello")
- Error occurs immediately on every new session
Troubleshooting Attempted
- Removed
enabledPlugins(skill-creator@claude-plugins-official) from~/.claude/settings.json— no effect - Cleared
~/.claude/plugins/installed_plugins.json— no effect - Debug log (
claude --debug) confirmsTotal plugin skills loaded: 0, yet error persists - Tested in multiple directories (home, various project dirs) — all fail
- One specific project with MCP tools + 3-layer CLAUDE.md hierarchy continues to work (likely different
systemblock structure avoids triggering the validation)
Debug Log Analysis
The debug log shows the error originates from the API rejecting a scope field inside cache_control.ephemeral on the 3rd system message block (system.2). This appears to be Claude Code internally adding an unsupported field to the API request, not caused by user configuration.
Workaround
Downgrade to v2.1.87:
npm install -g @anthropic-ai/claude-code@2.1.87This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗