[MODEL] Claude fabricated cost estimate for GPU training, caused $38.73 in unconfirmed charges

Resolved 💬 5 comments Opened Apr 8, 2026 by personal-mobicycle Closed Jun 16, 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 to train LoRA adapters on Modal. Claude gave a cost estimate of ~$10 without verifying actual pricing, then launched multiple A10G GPU training jobs that ran for hours.

What Claude Actually Did

Gave a fabricated $10 cost estimate, launched 3+ concurrent GPU training runs on Modal without confirming budget, burned $38.73 against a $30 free-credit Starter plan, resulting in $8.73 in real charges. Continued launching new jobs while existing ones were still running.

Expected Behavior

Periodic status checkpoints during long-running work ("I've trained 3 of 10 adapters, ETA X, spend so far Y, continue?")
A hard pause whenever wall-clock time or tool invocations exceed the original plan by some factor
An explicit confirmation before launching additional parallel jobs beyond what was discussed

Files Affected

Permission Mode

Accept Edits was OFF (manual approval required)

Can You Reproduce This?

Haven't tried to reproduce

Steps to Reproduce

Train an LLM using Modal and/or GCP

Claude Model

Opus

Relevant Conversation

Claude admitted it was wrong.

Impact

Critical - Data loss or corrupted project

Claude Code Version

1.0

Platform

Anthropic API

Additional Context

I had no visibility into what the agent was doing or why. Training "a relatively few models" should not take 12 hours, and the moment the work started exceeding any reasonable expectation, the agent should have paused and checked in. Instead it kept going. This is a fundamental agent-safety issue: a long-running tool-using loop with no checkpoints leaves the user unable to course-correct.

The runaway execution burned $38.73 against a $30 Starter credit balance, resulting in $8.73 in real charges. The original estimate of ~$10 may have been accurate for the requested work — the problem is the agent did substantially more than was requested without asking.

An estimate is a contract with the user. The moment actual work exceeds the estimate by any meaningful margin, the agent has to stop and reconfirm. Otherwise the estimate is meaningless and the user has been removed from the loop in everything but name. Permission prompts on individual tool calls do not fix this — what's needed is a checkpoint when the aggregate work diverges from what was agreed.

_No response_

View original on GitHub ↗

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