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.
Yup. We've been living in a world with ZERO obvious software mistakes and now that these LLM things are running wild, we've got more obvious bugs than ever!
Nottorp, don't be fooled, with Starbucks prices here in Costa Rica, $500 will barely get you a couple of weeks of lattes! Joke too :)
Going back to your serious notes, I successfully replicated the exact mechanics of this bug inside the Console, and it is a classic frontend race condition/bypass flaw:
When your system/keyboard is in a locale that uses commas, the input text box still physically allows you to type a dot (like typing 5.04 or 0.5). The catastrophic UX failure happens because if you press the "Enter" key immediately after typing, the form submits the raw, un-sanitized string to the backend before the frontend validation layer can intercept it, block it, or refresh the "Total due" box.
It completely bypasses its own validation rules (like the $5.00 minimum enforced minimum), skips any error prevention, and fires the single-click payment request to the gateway instantly with the misinterpreted value.
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...
It feels more like a writing exercise - too many extraneous details right from the start: "I am a LegalTech Attorney leading a developer team" feel necessary if you're telling a story, but is completely irrelevant if you're reporting an issue. And $5.04?? Who knows their spending requirements to that level of specificity?
Is it possible? I guess, but I doubt they're being honest about what was being displayed on the screen.
Please note that I typed 5.04 (with a dot), not a comma.
I was doing a manual account recharge (adding credits), where the user defines an arbitrary prepaid amount. On a localized system/keyboard setup, entering the dot did not alter the total due or warn me of a 100x increase before hitting the submit button.
Also, the core issue is the complete lack of a final checkout/confirmation step for an arbitrary recharge amount. In proper financial UX, clicking the primary button should trigger a modal stating: "You are about to recharge your account with $504.00 USD + $65.52 VAT. Total due: $569.52. Confirm payment?". Executing an instantaneous credit card charge on a single click while silently processing ambiguous inputs is precisely the dangerous design flaw I am pointing out.
Please note that English is not my native language. I used AI to make sure that my technical explanation of the decimal bug was clear and well structured so that the community here could understand it.
I agree that the text structure might look robotic, but the $569.52 unauthorized charge on my credit card right now is 100% real.
Your situation is not funny, but it reminded me of an old story from the internet in the 1990's, The Neiman Marcus Cookie Recipe
> My daughter & I had just finished a salad at Neiman-Marcus Cafe in Dallas & decided to have a small dessert. Because our family are such cookie lovers, we decided to try the "Neiman-Marcus Cookie". It was so excellent that I asked if they would give me the recipe and they said with a small frown, "I'm afraid not." Well, I said, would you let me buy the recipe? With a cute smile, she said, "Yes." I asked how much, and she responded, "Two fifty." I said with approval, just add it to my tab.
It ends with them being charged $250 not $2.50 and the author shares the recipe with the world as revenge.
I think it's a frequent misconception that the AI version is going to be clearer or more well-structured or easier to read or understand than what you would write as a non-native-English speaker. It's probably not.
To be 100% clear: I wanted to load exactly five dollars and four cents ($5.04) into my account. I typed 5.04.
The core problem here is that in secure financial pipelines, ambiguous inputs must trigger a validation error and reject the transaction, not silently guess the amount and execute a 100x overcharge.
If Anthropic's backend expected a comma due to my regional settings and couldn't parse the dot, the correct engineering behavior is to throw an "Invalid Format" message and disable the pay button. Silently stripping the decimal character and instantly draining $569.52 (including local VAT taxes) from a user's card with zero confirmation screen is a catastrophic failure in error prevention.
Someone above also points out the inverse also fails for a decimal locale:
> 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...
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.
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:
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
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.
Yup. We've been living in a world with ZERO obvious software mistakes and now that these LLM things are running wild, we've got more obvious bugs than ever!
Yes, they are building frontier models and should be responsible to handle basic text input validation.
An additional point here is that Anthropic is hiding behind bots so they don't have to fix it and support humans with real world problems.
It's frustrating to be forced into a financial burden just because they decided to cut corners on traditional software debugging protocols.
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?
Nottorp, don't be fooled, with Starbucks prices here in Costa Rica, $500 will barely get you a couple of weeks of lattes! Joke too :)
Going back to your serious notes, I successfully replicated the exact mechanics of this bug inside the Console, and it is a classic frontend race condition/bypass flaw:
When your system/keyboard is in a locale that uses commas, the input text box still physically allows you to type a dot (like typing 5.04 or 0.5). The catastrophic UX failure happens because if you press the "Enter" key immediately after typing, the form submits the raw, un-sanitized string to the backend before the frontend validation layer can intercept it, block it, or refresh the "Total due" box.
It completely bypasses its own validation rules (like the $5.00 minimum enforced minimum), skips any error prevention, and fires the single-click payment request to the gateway instantly with the misinterpreted value.
I uploaded the live replication screenshot here: https://ibb.co/HTY88MZ3
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...
It feels more like a writing exercise - too many extraneous details right from the start: "I am a LegalTech Attorney leading a developer team" feel necessary if you're telling a story, but is completely irrelevant if you're reporting an issue. And $5.04?? Who knows their spending requirements to that level of specificity?
Is it possible? I guess, but I doubt they're being honest about what was being displayed on the screen.
Striking, thanks for the comment,
Please note that I typed 5.04 (with a dot), not a comma.
I was doing a manual account recharge (adding credits), where the user defines an arbitrary prepaid amount. On a localized system/keyboard setup, entering the dot did not alter the total due or warn me of a 100x increase before hitting the submit button.
Also, the core issue is the complete lack of a final checkout/confirmation step for an arbitrary recharge amount. In proper financial UX, clicking the primary button should trigger a modal stating: "You are about to recharge your account with $504.00 USD + $65.52 VAT. Total due: $569.52. Confirm payment?". Executing an instantaneous credit card charge on a single click while silently processing ambiguous inputs is precisely the dangerous design flaw I am pointing out.
Saludos,
did this post really need to be written by AI?
Hola, thanks for your reply.
Please note that English is not my native language. I used AI to make sure that my technical explanation of the decimal bug was clear and well structured so that the community here could understand it.
I agree that the text structure might look robotic, but the $569.52 unauthorized charge on my credit card right now is 100% real.
Pura vida!
Your situation is not funny, but it reminded me of an old story from the internet in the 1990's, The Neiman Marcus Cookie Recipe
> My daughter & I had just finished a salad at Neiman-Marcus Cafe in Dallas & decided to have a small dessert. Because our family are such cookie lovers, we decided to try the "Neiman-Marcus Cookie". It was so excellent that I asked if they would give me the recipe and they said with a small frown, "I'm afraid not." Well, I said, would you let me buy the recipe? With a cute smile, she said, "Yes." I asked how much, and she responded, "Two fifty." I said with approval, just add it to my tab.
It ends with them being charged $250 not $2.50 and the author shares the recipe with the world as revenge.
https://www.snopes.com/fact-check/neiman-marcus-cookies/
I think it's a frequent misconception that the AI version is going to be clearer or more well-structured or easier to read or understand than what you would write as a non-native-English speaker. It's probably not.
do you think a human overcharged them or did an AI?
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.
Hola Merb,
To be 100% clear: I wanted to load exactly five dollars and four cents ($5.04) into my account. I typed 5.04.
The core problem here is that in secure financial pipelines, ambiguous inputs must trigger a validation error and reject the transaction, not silently guess the amount and execute a 100x overcharge.
If Anthropic's backend expected a comma due to my regional settings and couldn't parse the dot, the correct engineering behavior is to throw an "Invalid Format" message and disable the pay button. Silently stripping the decimal character and instantly draining $569.52 (including local VAT taxes) from a user's card with zero confirmation screen is a catastrophic failure in error prevention.
Gracias!
Someone above also points out the inverse also fails for a decimal locale:
> 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...
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
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:
https://ibb.co/tMVkf0nx