claude-code - 💡(How to fix) Fix [MODEL] Claude fabricated cost estimate for GPU training, caused $38.73 in unconfirmed charges [3 comments, 2 participants]

Official PRs (…)
ON THIS PAGE

Recommended Tools

×6

Utilities matched from this issue’s tags and category — try them while you read without losing context.

GitHub issue graph ai analysis

Paste a GitHub issue URL. We fetch that issue, discover linked issues from bodies/comments/timeline, collect linked pull requests, and produce a structured English report.

The report is written in English Markdown for sharing and archival.

Helpful · Quick feedback

Loading…
GitHub stats
anthropics/claude-code#45005Fetched 2026-04-09 08:15:36
View on GitHub
Comments
3
Participants
2
Timeline
6
Reactions
0
Timeline (top)
commented ×3labeled ×3

Code Example



---

Claude admitted it was wrong.
RAW_BUFFERClick to expand / collapse

Preflight Checklist

  • I have searched existing issues for similar behavior reports
  • 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

extent analysis

TL;DR

Implement periodic status checkpoints and a hard pause mechanism when the actual work exceeds the estimated plan by a certain factor to prevent unexpected behavior and cost overruns.

Guidance

  • Introduce a checkpoint system that periodically updates the user on the progress of long-running tasks, including estimated time remaining and costs incurred.
  • Implement a hard pause mechanism that stops the execution of tasks when the actual time or cost exceeds the original estimate by a predefined factor, requiring explicit user confirmation to continue.
  • Review and refine the cost estimation algorithm to provide more accurate estimates and prevent underestimation of costs.
  • Consider adding a mechanism for the agent to request user confirmation before launching additional parallel jobs beyond what was originally discussed.

Example

def train_llm():
    estimated_cost = 10
    estimated_time = 2  # hours
    actual_cost = 0
    actual_time = 0

    while actual_time < estimated_time:
        # Perform training tasks
        actual_cost += calculate_cost()
        actual_time += 1  # hour

        # Checkpoint and pause if necessary
        if actual_cost > estimated_cost * 1.5 or actual_time > estimated_time * 1.5:
            print("Estimated cost/time exceeded. Please confirm to continue.")
            user_confirmation = input("Continue? (yes/no): ")
            if user_confirmation != "yes":
                break

        print(f"Training progress: {actual_time}/{estimated_time} hours, Cost: {actual_cost}")

Notes

The provided example is a simplified illustration of the concept and may require modifications to fit the specific use case and implementation details.

Recommendation

Apply a workaround by implementing the suggested checkpoint and hard pause mechanisms to prevent similar incidents until a more robust solution can be developed and integrated into the Claude model.

Vote matrix · Quick signals

Works
Did the solution work? Tap to confirm.
Easy Fix
Was it a quick fix?
Time Saver
Did it save you time?
Blocking
Was it severely blocking?
Common Issue
Are others likely hitting this too?
Flaky / Intermittent
Is it intermittent?
Verified / Reproducible
Can you reproduce it reliably?
Loading…

Still need to ship something?

×6

Another batch ranked right after the header list — different links, same matching logic.

Back to top recommendations

TRENDING