Invalid OpenAI API Request: Empty Text Content Blocks During Compaction

Resolved 💬 3 comments Opened Apr 24, 2025 by jejanov Closed Nov 29, 2025

Bug Description
getting this persistent error in this sessions for no apparent reason: Error: Error during compaction: Error: API Error: 400 {"type":"error","error":{"type":"invalid_request_error","message":"messages: text content blocks must be
non-empty"}}

Environment Info

  • Platform: macos
  • Terminal: cursor
  • Version: 0.2.79
  • Feedback ID: 8af63c0d-e581-4c42-bad3-38af7a820ed9

Errors

[{"error":"Error: EISDIR: illegal operation on a directory, read\n    at Module.readSync (node:fs:741:18)\n    at Object.readSync (file:///Users/joeljanov/.nvm/versions/node/v22.14.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:485:6055)\n    at tB (file:///Users/joeljanov/.nvm/versions/node/v22.14.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:492:260)\n    at eB (file:///Users/joeljanov/.nvm/versions/node/v22.14.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:494:321)\n    at file:///Users/joeljanov/.nvm/versions/node/v22.14.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:1185:1072\n    at process.processTicksAndRejections (node:internal/process/task_queues:105:5)","timestamp":"2025-04-24T13:43:02.173Z"},{"error":"Error: EISDIR: illegal operation on a directory, read\n    at Module.readFileSync (node:fs:442:20)\n    at Object.readFileSync (file:///Users/joeljanov/.nvm/versions/node/v22.14.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:485:5882)\n    at eB (file:///Users/joeljanov/.nvm/versions/node/v22.14.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:494:339)\n    at file:///Users/joeljanov/.nvm/versions/node/v22.14.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:1185:1072\n    at process.processTicksAndRejections (node:internal/process/task_queues:105:5)","timestamp":"2025-04-24T13:43:02.173Z"},{"error":"ShellError: Shell command failed\n    at Object.call (file:///Users/joeljanov/.nvm/versions/node/v22.14.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:1185:876)\n    at async M63 (file:///Users/joeljanov/.nvm/versions/node/v22.14.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:1750:21333)\n    at async fB1 (file:///Users/joeljanov/.nvm/versions/node/v22.14.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:1750:19812)\n    at async $63 (file:///Users/joeljanov/.nvm/versions/node/v22.14.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:1750:19136)\n    at async Qi1 (file:///Users/joeljanov/.nvm/versions/node/v22.14.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:1750:19070)\n    at async Oa (file:///Users/joeljanov/.nvm/versions/node/v22.14.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:1750:18315)\n    at async p6 (file:///Users/joeljanov/.nvm/versions/node/v22.14.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:1871:1550)","timestamp":"2025-04-24T13:44:11.853Z"},{"error":"Error: 400 {\"type\":\"error\",\"error\":{\"type\":\"invalid_request_error\",\"message\":\"messages: text content blocks must be non-empty\"}}\n    at b3.generate (file:///Users/joeljanov/.nvm/versions/node/v22.14.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:623:24425)\n    at o3.makeStatusError (file:///Users/joeljanov/.nvm/versions/node/v22.14.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:627:7212)\n    at o3.makeRequest (file:///Users/joeljanov/.nvm/versions/node/v22.14.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:627:8157)\n    at process.processTicksAndRejections (node:internal/process/task_queues:105:5)","timestamp":"2025-04-24T13:45:46.064Z"},{"error":"Error: 400 {\"type\":\"error\",\"error\":{\"type\":\"invalid_request_error\",\"message\":\"messages: text content blocks must be non-empty\"}}\n    at b3.generate (file:///Users/joeljanov/.nvm/versions/node/v22.14.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:623:24425)\n    at o3.makeStatusError (file:///Users/joeljanov/.nvm/versions/node/v22.14.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:627:7212)\n    at o3.makeRequest (file:///Users/joeljanov/.nvm/versions/node/v22.14.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:627:8157)\n    at process.processTicksAndRejections (node:internal/process/task_queues:105:5)\n    at async UL2.fa.showErrors (file:///Users/joeljanov/.nvm/versions/node/v22.14.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:1824:1918)\n    at async fa (file:///Users/joeljanov/.nvm/versions/node/v22.14.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:1821:3617)\n    at async UL2 (file:///Users/joeljanov/.nvm/versions/node/v22.14.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:1824:1761)\n    at async Li1 (file:///Users/joeljanov/.nvm/versions/node/v22.14.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:1821:1755)\n    at async gR2 (file:///Users/joeljanov/.nvm/versions/node/v22.14.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:1822:130)\n    at async _63 (file:///Users/joeljanov/.nvm/versions/node/v22.14.0/lib/node_modules/@anthropic-ai/claude-code/cli.js:1750:16353)","timestamp":"2025-04-24T13:45:46.682Z"},{"error":"Error: 400 {\"ty

Note: Error logs were truncated.

View original on GitHub ↗

This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗