I am a LegalTech Attorney leading a developer team from Costa Rica. While trying to load credits onto my Anthropic API account (claude.com), I experienced a critical internationalization (i18n) and UX failure that has placed an unfair financial burden on me due to a severe oversight in their payment pipeline.
The platform prompted me for a payment. Since I am in a Spanish-speaking region where localized systems and keyboards handle dots and commas differently, I typed 5.04.
Anthropic’s input system completely failed to sanitize or validate the data. Instead of throwing a formatting error or converting it properly, it silently stripped the decimal internally and instantly charged my credit card $504.00 USD instead of $5.04 USD.
To make matters worse, there was no confirmation modal or review screen summarizing the final amount before processing the transaction. It was a single-click, instantaneous overcharge.
Anticipating the Obvious Skepticism: Before anyone suggests "you should have checked your regional settings" or "just wait for the chargeback":
1. Users are not the QA team: In financial software, a system is never supposed to guess or automatically manipulate a numerical input without explicit validation. If an input is ambiguous due to locale differences, the application must reject it or ask for clarification, not execute a 100x overcharge.
2. Scale of the vulnerability: This time it was $504.00, which is an unfair and frustrating burden for independent developers. But because this pipeline completely lacks a confirmation screen and basic input sanitization, the exact same bug could happen to someone typing 50.00 and end up charging them $5,000.00 or more instantly. It is a systemic financial risk.
3. The Chargeback Illusion: Yes, I have already initiated a chargeback with my bank in Costa Rica. However, banking processes here are slow and take up to 120 days to resolve. In the meantime, the $504.00 has already been deducted and charged to my credit card statement. I am forced to pay for Anthropic’s engineering mistake out of my own pocket right now.
The Support Wall: I filed an official complaint on the exact same day, minutes after it happened. I wasn't met with a human; I was blocked by an automated support BOT. The bot repeatedly and rigidly denied the refund, closing the ticket by citing generic policies without a single human ever looking at the fact that the overcharge was caused by a technical bug in their own platform.
As developers, we build systems that process people's money. Omitting a confirmation screen on a financial transaction, failing to sanitize localized numerical inputs, and then hiding behind unyielding AI support bots to keep money that doesn't belong to you is completely unacceptable.
If anyone from Anthropic's billing or engineering team is reading this, please look into this bug and review my case. It is a critical flaw that is actively harming international developers who are just trying to build on your ecosystem.
Pura vida!
R.S.G.
This is the kind of mistake I dread, where a normal human would be able to say "oh, sure of course this is a mistake, sorry about that", but you don't get to talk to a human. A corporation can wait months for resolution, but an individual can't.
I'm looking at the "Add credits" screen on https://platform.claude.com and it prominently displays the "total due" as $504.00 when typing `5,04` into the input...
This happens everywhere . I'm in Germany (which uses commas) but have my distro set to English (using dots).
I've encountered this problem on many sites, eg Amazon or eBay where I accidentally sell my items for 599,00 instead of 5.99
Lots of space for vibe coding jokes here. And 504 is significant for Costa Rica, it can buy a lot of lattes.
On a more serious note, do these vibe coded chatbot payment UIs accept like one time use Revolut CC numbers?
And on a second serious note, have they heard of 3D secure or you simply can't pay with an european credit card?
What did you want to accomplish with 5.04??
In Spanish or other European countries 5,04 would’ve been correct?
So 5.04 would either be invalid or 504 like Claude did.
Haha, I sympathize :). For those who may be confused, the problem is that most i18n on the web is so shit that most people from countries where the comma is the decimal separator will enter a period instead. In many of those countries the period serves as the thousands separator so entering 1.203.456,3 should be interpreted as 1203456.30. But it almost never is so in the few cases when it works (like here) it causes nasty surprises.
We are now turning HN into a support forum?
That's what you get when you vibe code your billing site.
UPDATE: I just checked my bank statement and it’s even worse than I thought. Because the system processed the incorrect $504.00 base amount, it automatically calculated local VAT (taxes) on top of it, adding an extra $65.52. The absolute total taken from my card by this single-click bug is $569.52.
Here is the proof of the bank statement pending charge:
TECHNICAL UPDATE (BUG REPLICATION): I just managed to replicate the input validation bug inside the console.
As you can see in the screenshot below, when your regional settings use commas for decimals (e.g., my balance shows 430,26), the input field still physically allows you to type a dot (0.5 or 5.04).
The catastrophic UX failure happens when you press "Enter" right after typing. The form instantly submits the raw, un-sanitized input string to the backend before the frontend validation layer can block it or correctly alert the user.
The system breaks its own "USD 5.00 minimum" rule, bypasses proper error prevention, and immediately fires the payment request to Stripe/the gateway.
Here is the replication proof: https://ibb.co/HTY88MZ3
[dead]
Hey @rsorto – sorry about this! I work at Anthropic and can see that there's a UI/form bug which didn't account for internationalization very well. A typed "5,04" got converted to $504. We're fixing the bug now and the support team will reach out to you directly to address your case, shortly.