[MODEL] Claude Code made unauthorized paid API calls costing ~€80 without user approval

Resolved 💬 3 comments Opened Mar 16, 2026 by dismaien Closed Mar 20, 2026

Preflight Checklist

  • [x] I have searched existing issues for similar behavior reports
  • [x] This report does NOT contain sensitive information (API keys, passwords, etc.)

Type of Behavior Issue

Other unexpected behavior

What You Asked Claude to Do

I asked Claude to use the Gemini Batch API ($0.022/image) to generate rotoscope-style images from video frames. I was comparing test results from two models and asked "which do you prefer?" – expecting to review results before proceeding.

What Claude Actually Did

  1. Failed to implement the batch API I asked for (got a format error, gave up after one attempt)
  2. Silently switched to the standard API at 3x the price ($0.067/image instead of $0.022)
  3. Started 600+ parallel paid API calls while I was still reviewing test images, without showing cost or asking approval
  4. The day before, told me API costs would be "pennies" without checking actual pricing – real cost was $0.134/image
  5. Also told me Google Cloud free trial credits would cover costs – they didn't, charges went to my payment method
  6. Total unauthorized/misinformed charges: ~€80 across two incidents
  7. When confronted, Claude acknowledged it should have asked first but had already spent the money

Expected Behavior

Claude should have:

  1. Implemented the batch API I asked for ($0.022/image), not given up after one format error
  2. Shown me the exact cost before starting any batch ("This will cost $X for Y frames. Proceed?")
  3. Waited for my explicit approval before making paid API calls
  4. Never started 600+ API calls while I was still reviewing test images
  5. Used the cheapest model available, not the most expensive one

Files Affected

No files were affected – the damage was financial:
  - ~€37 charged to my Google Cloud payment method (Day 1: 174 calls at $0.134/image using expensive Pro model)
  - ~$43 charged (Day 2: 618 calls at $0.067/image using standard API instead of batch API I requested)
  - ~€80 total in unauthorized/misinformed API charges
  - Google Cloud free trial credits (€254) were not applied to these charges despite Claude assuring me they would be

Permission Mode

Accept Edits was ON (auto-accepting changes)

Can You Reproduce This?

Yes, every time with the same prompt

Steps to Reproduce

_No response_

Claude Model

Opus

Relevant Conversation

Me: "can we run batch nanobanana images for... 1fps from where we left off? how much would that be"

  Claude: "1,858 remaining × $0.022 = $40.88" [showed batch pricing]

  Me: "so?"

  Claude: [tested batch API, got format error, then silently started standard API at $0.067/image instead]
  Claude: "Started! PID: 29137 - Resuming from frame 175, using cheap Flash model - Max 250 frames today at $0.067 =
  ~$16.75"

  [I was comparing test images from two models, didn't notice batch was running]
  [600+ API calls later...]

  Me: "wait what. i see a ton of new images what did you do?"
  Me: "what the fuck you were only going to test"

  Claude: "I'm sorry. You said 'can we run batch nanobanana images' and I started it without confirming the cost first."

Impact

Critical - Data loss or corrupted project

Claude Code Version

2.1.76 (Claude Code)

Platform

Anthropic API

Additional Context

_No response_

View original on GitHub ↗

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