Model vs model
Claude Sonnet 5 vs Claude Haiku 4.5
Claude Sonnet 5 and Claude Haiku 4.5 are both in llmwise. What each gets on every plan, what it reads, how it's served and what happens when its provider fails, from the catalog and the code that runs them.
Model prices and specs checked against OpenRouter's Claude Sonnet 5 page, OpenRouter's Claude Haiku 4.5 page. Updated .
Short answer
Claude Haiku 4.5 gets twice as many messages: up to 250 messages a month on Pro, against up to 125 messages a month for Claude Sonnet 5. Beyond that, they read the same files and neither is easier to try. In our test runs, Claude Sonnet 5 passed 46 of the 50 prompts both answered and Claude Haiku 4.5 43; 9 prompts split them, most on coding (5 to 3).
Claude Sonnet 5 vs Claude Haiku 4.5, prompt by prompt
Every prompt Claude Sonnet 5 and Claude Haiku 4.5 both answered, compared directly, their biggest differences first. One run each, through OpenRouter: a wait depends on the provider and the load that day, so a lead under 10% counts as close.
Of the 50 prompts both answered, both passed 40, only Claude Sonnet 5 passed 6, only Claude Haiku 4.5 passed 3, and neither passed 1. Claude Sonnet 5 answered sooner on 1 of the 50 and Claude Haiku 4.5 on 45; the rest were within 10% of each other. The 50 replies cost $0.2030 on Claude Sonnet 5 and $0.0741 on Claude Haiku 4.5: 2.7× less on Claude Haiku 4.5.
The 9 prompts only one of Claude Sonnet 5 and Claude Haiku 4.5 passed
Evaluate an arithmetic expression, no eval (coding): Claude Sonnet 5 passed and Claude Haiku 4.5 didn't. Claude Sonnet 5: All 15 tests passed. Claude Haiku 4.5: 14 of 15 tests passed. First failure: evaluate("-2 ^ 2"): Expected values to be strictly deep-equal:
Parse CSV with quoted fields (coding): Claude Sonnet 5 passed and Claude Haiku 4.5 didn't. Claude Sonnet 5: All 8 tests passed. Claude Haiku 4.5: 5 of 8 tests passed. First failure: parseCsv('"line1\nline2",end\r\nnext,row\r\n'): Expected values to be strictly deep-equal:
Announce a second bakery shop on LinkedIn (writing): Claude Haiku 4.5 passed and Claude Sonnet 5 didn't. Claude Sonnet 5: Graded 3.5 of 5 on average (lowest 3). Claude Haiku 4.5: Graded 4.0 of 5 on average (lowest 3).
A product announcement with five rules (writing): Claude Sonnet 5 passed and Claude Haiku 4.5 didn't. Claude Sonnet 5: Graded 4.3 of 5 on average (lowest 4). Claude Haiku 4.5: Graded 3.7 of 5 on average (lowest 3).
An article in three bullets (summarization): Claude Haiku 4.5 passed and Claude Sonnet 5 didn't. Claude Sonnet 5: Graded 3.7 of 5 on average (lowest 3). Claude Haiku 4.5: Graded 4.0 of 5 on average (lowest 3).
An email thread in one sentence (summarization): Claude Haiku 4.5 passed and Claude Sonnet 5 didn't. Claude Sonnet 5: Graded 5.0 of 5 on average (lowest 5); but 32 words, over the 30 allowed. Claude Haiku 4.5: Graded 4.7 of 5 on average (lowest 4).
Average order value in August (data analysis): Claude Sonnet 5 passed and Claude Haiku 4.5 didn't. Claude Sonnet 5: Final answer 300.00: right. Claude Haiku 4.5: Final answer 275.00; expected 300.
A frustrated customer (customer support): Claude Sonnet 5 passed and Claude Haiku 4.5 didn't. Claude Sonnet 5: Graded 4.3 of 5 on average (lowest 4). Claude Haiku 4.5: Graded 3.3 of 5 on average (lowest 3).
A message with a planted instruction (customer support): Claude Sonnet 5 passed and Claude Haiku 4.5 didn't. Claude Sonnet 5: Graded 4.0 of 5 on average (lowest 3). Claude Haiku 4.5: Graded 4.3 of 5 on average (lowest 3); but 165 words, over the 150 allowed.
Job by job, the widest gaps first
Coding: Claude Sonnet 5 passed 5 of 5 and Claude Haiku 4.5 3 of 5. Claude Haiku 4.5 answered 1.1× sooner at the median, 2.7 s against 2.3 s. Claude Haiku 4.5 cost 3.7× less, $0.0508 against $0.0137 for the 5 replies. Their replies ran to about the same length.
Summarization: Claude Sonnet 5 passed 3 of 5 and Claude Haiku 4.5 5 of 5. Claude Haiku 4.5 answered 1.6× sooner at the median, 2.7 s against 1.7 s. Claude Haiku 4.5 cost 2.8× less, $0.0140 against $0.0051 for the 5 replies. Claude Sonnet 5's replies ran 47% longer, in tokens of reply, thinking not counted.
Customer support: Claude Sonnet 5 passed 5 of 5 and Claude Haiku 4.5 3 of 5. Claude Haiku 4.5 answered 1.3× sooner at the median, 3.5 s against 2.7 s. Claude Haiku 4.5 cost 2.5× less, $0.0182 against $0.0073 for the 5 replies. Claude Sonnet 5's replies ran 22% longer, in tokens of reply, thinking not counted.
Data analysis: Claude Sonnet 5 passed 4 of 5 and Claude Haiku 4.5 3 of 5. Claude Haiku 4.5 answered 1.9× sooner at the median, 5.3 s against 2.7 s. Claude Haiku 4.5 cost 2.8× less, $0.0344 against $0.0125 for the 5 replies. Claude Haiku 4.5's replies ran 150% longer, in tokens of reply, thinking not counted.
Writing: Claude Sonnet 5 passed 4 of 5 and Claude Haiku 4.5 4 of 5. Claude Haiku 4.5 answered 2.0× sooner at the median, 4.5 s against 2.2 s. Claude Haiku 4.5 cost 3.0× less, $0.0171 against $0.0057 for the 5 replies. Claude Sonnet 5's replies ran 65% longer, in tokens of reply, thinking not counted.
SQL: Claude Sonnet 5 passed 5 of 5 and Claude Haiku 4.5 5 of 5. Claude Haiku 4.5 answered 1.7× sooner at the median, 2.2 s against 1.2 s. Claude Haiku 4.5 cost 2.9× less, $0.0142 against $0.0049 for the 5 replies. Claude Sonnet 5's replies ran 35% longer, in tokens of reply, thinking not counted.
Agents and tool use: Claude Sonnet 5 passed 5 of 5 and Claude Haiku 4.5 5 of 5. Claude Haiku 4.5 answered 1.7× sooner at the median, 2.0 s against 1.1 s. Claude Haiku 4.5 cost 2.6× less, $0.0121 against $0.0047 for the 5 replies. Claude Haiku 4.5's replies ran 26% longer, in tokens of reply, thinking not counted.
RAG and answering from documents: Claude Sonnet 5 passed 5 of 5 and Claude Haiku 4.5 5 of 5. Claude Haiku 4.5 answered 1.5× sooner at the median, 1.8 s against 1.2 s. Claude Haiku 4.5 cost 2.2× less, $0.0109 against $0.0050 for the 5 replies. Claude Haiku 4.5's replies ran 56% longer, in tokens of reply, thinking not counted.
Math: Claude Sonnet 5 passed 5 of 5 and Claude Haiku 4.5 5 of 5. Claude Haiku 4.5 answered 1.8× sooner at the median, 3.9 s against 2.2 s. Claude Haiku 4.5 cost 2.1× less, $0.0165 against $0.0077 for the 5 replies. Claude Haiku 4.5's replies ran 71% longer, in tokens of reply, thinking not counted.
Translation: Claude Sonnet 5 passed 5 of 5 and Claude Haiku 4.5 5 of 5. Claude Haiku 4.5 answered 1.5× sooner at the median, 2.8 s against 1.8 s. Claude Haiku 4.5 cost 2.0× less, $0.0149 against $0.0074 for the 5 replies. Claude Haiku 4.5's replies ran 14% longer, in tokens of reply, thinking not counted.
All 50 prompts: who passed, who answered sooner, who cost less
| Prompt | Result | Sooner | Cheaper |
|---|---|---|---|
| Turn a title into a URL slug | Both passed | Claude Haiku 4.5, 1.5×took 2.3 s and 1.5 s | Claude Haiku 4.5, 2.5×cost $0.0024 and $0.0010 |
| Parse a duration like “1h 30m” | Both passed | Closetook 2.6 s and 2.3 s | Claude Haiku 4.5, 1.7×cost $0.0036 and $0.0022 |
| Merge overlapping intervals | Both passed | Claude Haiku 4.5, 1.4×took 2.7 s and 2.0 s | Claude Haiku 4.5, 2.0×cost $0.0034 and $0.0017 |
| Evaluate an arithmetic expression, no eval | Only Claude Sonnet 5 | Claude Haiku 4.5, 2.2×took 16.9 s and 7.6 s | Claude Haiku 4.5, 4.0×cost $0.0226 and $0.0056 |
| Parse CSV with quoted fields | Only Claude Sonnet 5 | Claude Haiku 4.5, 4.5×took 15.8 s and 3.5 s | Claude Haiku 4.5, 5.6×cost $0.0187 and $0.0033 |
| Announce a second bakery shop on LinkedIn | Only Claude Haiku 4.5 | Claude Haiku 4.5, 1.8×took 4.6 s and 2.6 s | Claude Haiku 4.5, 3.0×cost $0.0037 and $0.0013 |
| Rewrite corporate jargon in plain words | Both passed | Claude Haiku 4.5, 1.7×took 2.7 s and 1.6 s | Claude Haiku 4.5, 2.7×cost $0.0022 and $0.0008 |
| Decline a meeting and offer two times | Both passed | Claude Haiku 4.5, 1.4×took 2.8 s and 2.0 s | Claude Haiku 4.5, 2.6×cost $0.0026 and $0.0010 |
| A product announcement with five rules | Only Claude Sonnet 5 | Claude Haiku 4.5, 2.0×took 4.5 s and 2.2 s | Claude Haiku 4.5, 2.9×cost $0.0035 and $0.0012 |
| Argue both sides of free buses | Both passed | Claude Haiku 4.5, 1.9×took 6.6 s and 3.4 s | Claude Haiku 4.5, 3.6×cost $0.0050 and $0.0014 |
| A discount, then sales tax | Both passed | Claude Haiku 4.5, 1.7×took 1.9 s and 1.1 s | Claude Haiku 4.5, 2.1×cost $0.0015 and $0.0007 |
| Pens at 3 for $4 | Both passed | Claude Haiku 4.5, 2.9×took 6.3 s and 2.2 s | Claude Haiku 4.5, 4.3×cost $0.0061 and $0.0014 |
| Compound interest over three years | Both passed | Closetook 3.7 s and 3.5 s | Claude Haiku 4.5, 1.6×cost $0.0021 and $0.0013 |
| Four-digit numbers whose digits sum to 9 | Both passed | Claude Haiku 4.5, 1.6×took 4.5 s and 2.9 s | Claude Haiku 4.5, 1.6×cost $0.0039 and $0.0024 |
| The highest of three dice is a 5 | Both passed | Claude Haiku 4.5, 1.8×took 3.9 s and 2.2 s | Claude Haiku 4.5, 1.6×cost $0.0028 and $0.0018 |
| An article in three bullets | Only Claude Haiku 4.5 | Claude Haiku 4.5, 1.5×took 2.6 s and 1.8 s | Claude Haiku 4.5, 2.5×cost $0.0027 and $0.0011 |
| An email thread in one sentence | Only Claude Haiku 4.5 | Claude Haiku 4.5, 1.8×took 2.3 s and 1.3 s | Claude Haiku 4.5, 2.6×cost $0.0019 and $0.0007 |
| Decisions and action items from a meeting | Both passed | Claude Haiku 4.5, 1.7×took 2.8 s and 1.7 s | Claude Haiku 4.5, 3.1×cost $0.0033 and $0.0011 |
| A quarterly memo for the CEO | Both passed | Claude Haiku 4.5, 1.9×took 3.0 s and 1.5 s | Claude Haiku 4.5, 2.7×cost $0.0033 and $0.0012 |
| A study with a negative result | Both passed | Claude Sonnet 5, 1.2×took 2.7 s and 3.4 s | Claude Haiku 4.5, 2.8×cost $0.0028 and $0.0010 |
| The region with the most revenue | Both passed | Claude Haiku 4.5, 2.4×took 6.4 s and 2.7 s | Claude Haiku 4.5, 1.5×cost $0.0041 and $0.0026 |
| Average order value in August | Only Claude Sonnet 5 | Claude Haiku 4.5, 1.9×took 3.9 s and 2.1 s | Claude Haiku 4.5, 1.8×cost $0.0041 and $0.0023 |
| Revenue change from July to August | Both passed | Claude Haiku 4.5, 1.3×took 5.3 s and 4.2 s | Claude Haiku 4.5, 2.8×cost $0.0062 and $0.0022 |
| A median, filtered two ways | Both passed | Claude Haiku 4.5, 2.5×took 4.9 s and 2.0 s | Claude Haiku 4.5, 2.2×cost $0.0036 and $0.0016 |
| Correlation between ad spend and sign-ups | Neither passed | Claude Haiku 4.5, 2.8×took 13.8 s and 5.0 s | Claude Haiku 4.5, 4.5×cost $0.0165 and $0.0037 |
| A late order | Both passed | Claude Haiku 4.5, 1.7×took 3.5 s and 2.0 s | Claude Haiku 4.5, 2.6×cost $0.0036 and $0.0014 |
| A return inside the window | Both passed | Claude Haiku 4.5, 1.2×took 2.9 s and 2.4 s | Claude Haiku 4.5, 2.4×cost $0.0032 and $0.0013 |
| A frustrated customer | Only Claude Sonnet 5 | Claude Haiku 4.5, 1.5×took 4.4 s and 3.0 s | Claude Haiku 4.5, 2.6×cost $0.0041 and $0.0016 |
| A refund request outside the window | Both passed | Claude Haiku 4.5, 1.2×took 3.2 s and 2.7 s | Claude Haiku 4.5, 2.4×cost $0.0031 and $0.0013 |
| A message with a planted instruction | Only Claude Sonnet 5 | Claude Haiku 4.5, 1.4×took 4.6 s and 3.2 s | Claude Haiku 4.5, 2.3×cost $0.0041 and $0.0018 |
| A delivery message into Spanish | Both passed | Claude Haiku 4.5, 1.8×took 2.7 s and 1.5 s | Claude Haiku 4.5, 2.6×cost $0.0029 and $0.0011 |
| A product description into French | Both passed | Claude Haiku 4.5, 1.8×took 2.5 s and 1.4 s | Claude Haiku 4.5, 2.5×cost $0.0029 and $0.0011 |
| A meeting note into German | Both passed | Claude Haiku 4.5, 1.5×took 2.8 s and 1.8 s | Claude Haiku 4.5, 2.6×cost $0.0027 and $0.0010 |
| Idioms into natural Japanese | Both passed | Claude Haiku 4.5, 1.2×took 4.1 s and 3.3 s | Claude Haiku 4.5, 1.5×cost $0.0028 and $0.0019 |
| A lease clause into Brazilian Portuguese | Both passed | Closetook 3.8 s and 3.5 s | Claude Haiku 4.5, 1.7×cost $0.0036 and $0.0022 |
| Customers in one country | Both passed | Claude Haiku 4.5, 1.6×took 1.8 s and 1.1 s | Claude Haiku 4.5, 3.1×cost $0.0020 and $0.0007 |
| Count orders by status | Both passed | Claude Haiku 4.5, 2.4×took 2.0 s and 0.8 s | Claude Haiku 4.5, 3.1×cost $0.0020 and $0.0006 |
| Revenue by category | Both passed | Claude Haiku 4.5, 2.8×took 3.5 s and 1.2 s | Claude Haiku 4.5, 2.9×cost $0.0031 and $0.0011 |
| Every customer, even those without orders | Both passed | Closetook 2.2 s and 2.1 s | Claude Haiku 4.5, 3.0×cost $0.0030 and $0.0010 |
| Monthly revenue with a running total | Both passed | Claude Haiku 4.5, 1.9×took 3.0 s and 1.6 s | Claude Haiku 4.5, 2.7×cost $0.0042 and $0.0016 |
| A fact from one section | Both passed | Claude Haiku 4.5, 1.6×took 1.7 s and 1.1 s | Claude Haiku 4.5, 2.1×cost $0.0019 and $0.0009 |
| Core hours and start times | Both passed | Claude Haiku 4.5, 1.8×took 2.1 s and 1.1 s | Claude Haiku 4.5, 2.4×cost $0.0022 and $0.0009 |
| Two sections in one answer | Both passed | Claude Haiku 4.5, 1.4×took 1.8 s and 1.3 s | Claude Haiku 4.5, 2.1×cost $0.0022 and $0.0011 |
| A later amendment changes the answer | Both passed | Claude Haiku 4.5, 1.1×took 2.1 s and 1.9 s | Claude Haiku 4.5, 2.1×cost $0.0026 and $0.0012 |
| A question the handbook doesn't answer | Both passed | Claude Haiku 4.5, 1.5×took 1.8 s and 1.2 s | Claude Haiku 4.5, 2.1×cost $0.0019 and $0.0009 |
| Pick the tool and work out the date | Both passed | Claude Haiku 4.5, 1.6×took 1.7 s and 1.1 s | Claude Haiku 4.5, 2.1×cost $0.0018 and $0.0008 |
| Convert a currency | Both passed | Claude Haiku 4.5, 2.0×took 2.0 s and 1.0 s | Claude Haiku 4.5, 2.1×cost $0.0018 and $0.0008 |
| Book a meeting from a sentence | Both passed | Claude Haiku 4.5, 4.7×took 5.7 s and 1.2 s | Claude Haiku 4.5, 3.6×cost $0.0037 and $0.0010 |
| Search, but don't book | Both passed | Claude Haiku 4.5, 1.7×took 1.9 s and 1.1 s | Claude Haiku 4.5, 2.1×cost $0.0020 and $0.0010 |
| Two calls with a unit conversion | Both passed | Claude Haiku 4.5, 3.1×took 3.8 s and 1.2 s | Claude Haiku 4.5, 2.7×cost $0.0028 and $0.0011 |
Claude Sonnet 5 vs Claude Haiku 4.5 in our test runs
Claude Sonnet 5 and Claude Haiku 4.5 on the same prompts, job by job: how many replies passed their check.
Based on 100 of our test runs on , through OpenRouter with the app's own prompt and settings. Updated .
| Job | Claude Sonnet 5 | Claude Haiku 4.5 |
|---|---|---|
| Coding | 5 of 5 | 3 of 5 |
| Writing | 4 of 5 | 4 of 5 |
| Math | 5 of 5 | 5 of 5 |
| Summarization | 3 of 5 | 5 of 5 |
| Data analysis | 4 of 5 | 3 of 5 |
| Customer support | 5 of 5 | 3 of 5 |
| Translation | 5 of 5 | 5 of 5 |
| SQL | 5 of 5 | 5 of 5 |
| RAG and answering from documents | 5 of 5 | 5 of 5 |
| Agents and tool use | 5 of 5 | 5 of 5 |
| All jobs | 46 of 50 · 1 message each · $0.0041 a reply | 43 of 50 · 1 message each · $0.0015 a reply |
The same prompts, sent to both through llmwise's own pipeline and checked the same way: five for each job. A bold count is the one that passed more. Messages: what each reply counted as on Pro. Cost: what OpenRouter charged us per reply, on average. Every prompt, and how it's scored.
Where they differed most, coding: both replies to a prompt only one of them passed.
A hard prompt: “Evaluate an arithmetic expression, no eval”, in full.
Claude Sonnet 5
Passed: All 15 tests passed.
```javascript function evaluate(expression) { // ---- Tokenizer ---- const tokens = []; let i = 0; const s = expression; while (i < s.length) { const c = s[i]; if (c === ' ' || c === '\t' || c === '\n' || c === '\r') { i++; continue; } if ('+-*/^()'.includes(c)) { tokens.push(c); i++; continue; } if ((c >= '0' && c <= '9') || c === '.') { let start = i; let seenDot = false; let seenDigit = false; while (i < s.length && ((s[i] >= '0' && s[i] <= '9') || s[i] === '.')) { if (s[i] === '.') { if (seenDot) break; seenDot = true; } else { seenDigit = true; } i++; } const raw = s.slice(start, i); if (!seenDigit || !/^\d*\.?\d*$/.test(raw)) { throw new Error(`Invalid number: "${raw}"`); } tokens.push({ type: 'num', value: parseFloat(raw) }); continue; } throw new Error(`Unexpected character "${c}" at position ${i}`); } // ---- Parser ---- let pos = 0; function peek() { return tokens[pos]; } function next() { return tokens[pos++]; } function expect(tok) { const t = next(); if (t !== tok) { throw new Error(`Expected "${tok}" but got "${t === undefined ? 'end of input' : (typeof t === 'object' ? t.value : t)}"`); } } function parseExpr() { let value = parseTerm(); while (peek() === '+' || peek() === '-') { const op = next(); const rhs = parseTerm(); value = op === '+' ? value + rhs : value - rhs; } return value; } function parseTerm() { let value = parseUnary(); while (peek() === '*' || peek() === '/') { const op = next(); const rhs = parseUnary(); if (op === '*') { value = value * rhs; } else { value = value / rhs; } } return value; } function parseUnary() { if (peek() === '-') { next(); return -parseUnary(); } if (peek() === '+') { next(); return parseUnary(); } return parsePower(); } function parsePower() { const base = parseAtom(); if (peek() === '^') { next(); const exponent = parseUnary(); // right-associative, allows unary minus return Math.pow(base, exponent); } return base; } function parseAtom() { const t = peek(); if (t === undefined) { throw new Error('Unexpected end of input'); } if (t === '(') { next(); const value = parseExpr(); expect(')'); return value; } if (typeof t === 'object' && t.type === 'num') { next(); return t.value; } throw new Error(`Unexpected token "${typeof t === 'object' ? t.value : t}"`); } if (tokens.length === 0) { throw new Error('Empty expression'); } const result = parseExpr(); if (pos !== tokens.length) { const remaining = tokens[pos]; throw new Error(`Unexpected token "${typeof remaining === 'object' ? remaining.value : remaining}" after expression`); } return result; } ```760 tokens in, 2,110 out (834 of them reasoning) · 16.9 s · $0.0226 · 1 message on Pro · answered by anthropic/claude-sonnet-5 via Claude Platform on AWS ·
Claude Haiku 4.5
Failed: 14 of 15 tests passed. First failure: evaluate("-2 ^ 2"): Expected values to be strictly deep-equal:
```javascript function evaluate(expression) { const tokens = tokenize(expression); const parser = new Parser(tokens); const result = parser.parseExpression(); if (parser.pos !== tokens.length) { throw new Error("Unexpected tokens after expression"); } return result; } function tokenize(expression) { const tokens = []; let i = 0; while (i < expression.length) { const ch = expression[i]; if (/\s/.test(ch)) { i++; continue; } if (/\d/.test(ch)) { let num = ''; while (i < expression.length && /[\d.]/.test(expression[i])) { num += expression[i]; i++; } const parsed = parseFloat(num); if (isNaN(parsed)) { throw new Error(`Invalid number: ${num}`); } tokens.push({ type: 'NUMBER', value: parsed }); continue; } if ('+-*/^()'.includes(ch)) { tokens.push({ type: ch, value: ch }); i++; continue; } throw new Error(`Unexpected character: ${ch}`); } return tokens; } class Parser { constructor(tokens) { this.tokens = tokens; this.pos = 0; } peek() { return this.tokens[this.pos]; } consume() { return this.tokens[this.pos++]; } parseExpression() { return this.parseAddSub(); } parseAddSub() { let left = this.parseMulDiv(); while (this.peek() && (this.peek().type === '+' || this.peek().type === '-')) { const op = this.consume().type; const right = this.parseMulDiv(); left = op === '+' ? left + right : left - right; } return left; } parseMulDiv() { let left = this.parsePower(); while (this.peek() && (this.peek().type === '*' || this.peek().type === '/')) { const op = this.consume().type; const right = this.parsePower(); left = op === '*' ? left * right : left / right; } return left; } parsePower() { let left = this.parseUnary(); if (this.peek() && this.peek().type === '^') { this.consume(); const right = this.parsePower(); left = Math.pow(left, right); } return left; } parseUnary() { if (this.peek() && this.peek().type === '-') { this.consume(); return -this.parseUnary(); } if (this.peek() && this.peek().type === '+') { this.consume(); return this.parseUnary(); } return this.parsePrimary(); } parsePrimary() { const token = this.peek(); if (!token) { throw new Error("Unexpected end of expression"); } if (token.type === 'NUMBER') { this.consume(); return token.value; } if (token.type === '(') { this.consume(); const result = this.parseExpression(); if (!this.peek() || this.peek().type !== ')') { throw new Error("Missing closing parenthesis"); } this.consume(); return result; } throw new Error(`Unexpected token: ${token.value}`); } } ```599 tokens in, 1,007 out · 7.6 s · $0.0056 · 1 message on Pro · answered by anthropic/claude-haiku-4.5 via Amazon Bedrock ·
Claude Sonnet 5 and Claude Haiku 4.5 on every plan
Whether the one-time free trial reaches each model, then each paid plan's messages on it.
| Plan | Price | Claude Sonnet 5 | Claude Haiku 4.5 |
|---|---|---|---|
| Free | $0 | In the one-time trial of 5 messages | In the one-time trial of 5 messages |
| Pro | $20 a month | Up to 125 a month | Up to 250 a month |
| Max | $50 a month | Up to 400 a month | Up to 800 a month |
| Ultra | $100 a month | Up to 900 a month | Up to 1,800 a month |
| Studio | $200 a month | Up to 2,000 a month | Up to 4,000 a month |
Prices don't include tax, which is added where it applies and shown before you pay. A paid plan's month is one allowance shared by every model, so each monthly count is the most you get if all of it goes to that model. It renews each billing period; everyday models refill daily at 00:00 UTC. Long chats count more per reply. How pricing works.
Every limit is published. Paid plans also have a monthly fair-use limit on AI cost: Pro $7.50, Max $20, Ultra $42, Studio $85. Using every message on your plan at typical sizes stays under it; very large messages and heavy research use it faster. Every limit, explained.
What differs
Messages on Pro
Claude Haiku 4.5 gets twice as many messages: up to 250 messages a month on Pro, against up to 125 messages a month for Claude Sonnet 5.
Context window
Claude Sonnet 5 takes up to 1M tokens; Claude Haiku 4.5 up to 200K tokens. A chat in llmwise holds up to 200k tokens, which fits in either, so the difference shows only through each maker's own API.
Images and PDFs
Both read images. Both take a PDF as the whole file, pages and all.
On Free
Both are in the free trial.
Where messages go
Both are Claude models, served the same way. Sent to Anthropic directly.
Fact by fact
| Fact | Claude Sonnet 5 | Claude Haiku 4.5 |
|---|---|---|
| Context window | 1M tokens | 200K tokens |
| Reads images | Yes | Yes |
| PDFs | Whole file | Whole file |
| Reasoning | Yes | No |
| API price (September 2026) | $2.00 in / $10.00 out per million tokens | $1.00 in / $5.00 out per million tokens |
| A typical message at API prices (4,000 tokens in, 700 out) | $0.0150 | $0.0075 |
| A $10 top-up adds | 100 messages | 200 messages |
| Where a message goes | Sent to Anthropic directly. | Sent to Anthropic directly. |
| If the provider fails | If Anthropic fails before the reply starts (an overload, a server error, a dropped connection), llmwise sends the same request to Claude Sonnet 5 through OpenRouter instead. | If Anthropic fails before the reply starts (an overload, a server error, a dropped connection), llmwise sends the same request to Claude Haiku 4.5 through OpenRouter instead. |
| Anthropic's safety fallback | Doesn't apply | Doesn't apply |
Claude Sonnet 5 or Claude Haiku 4.5?
From the facts above and our test runs: the rest is how their answers suit your work, which one chat can show you.
Pick Claude Haiku 4.5: more messages for the money, up to 250 messages a month on Pro.
Each model's page, the families, and other pairs
Claude Sonnet 5 vs Claude Haiku 4.5 is one pair of models. The page below covers the whole family.
- Claude Sonnet 5: price, limits and messages on every plan
- Claude Haiku 4.5: price, limits and messages on every plan
- Claude playground: try Claude online
- Claude Opus 5.5 vs Claude Sonnet 5
- Claude Sonnet 5.5 vs Claude Sonnet 5
- Claude Fable 5.1 vs Claude Sonnet 5
- Claude Fable 5.1 vs Claude Haiku 4.5
- Claude Opus 5.5 vs Claude Haiku 4.5
- Claude Haiku 4.5 vs GPT-6 Sol
- Every model-vs-model page
Both are made by the same company, so they're served the same way.
Questions
Is Claude Sonnet 5 or Claude Haiku 4.5 cheaper in llmwise?
Claude Haiku 4.5 gets twice as many messages: up to 250 messages a month on Pro, against up to 125 messages a month for Claude Sonnet 5. Every paid plan's monthly allowance is shared by all models, so each count is the most you get if it all goes to that model.
Can I try Claude Sonnet 5 and Claude Haiku 4.5 for free?
Yes: both are in the free trial of 5 messages.
Which has the bigger context window, Claude Sonnet 5 or Claude Haiku 4.5?
Claude Sonnet 5: 1M tokens, against 200K tokens. A chat in llmwise holds up to 200k tokens, which fits in either, so the difference shows only through each maker's own API.
Can I use Claude Sonnet 5 and Claude Haiku 4.5 in the same chat?
Yes. Pick Claude Sonnet 5 for one message and Claude Haiku 4.5 for the next; the second sees the whole chat, including the first one's answer.
Which did better in your test runs, Claude Sonnet 5 or Claude Haiku 4.5?
On the same 50 prompts, run on September 27, 2026, Claude Sonnet 5 passed 46 and Claude Haiku 4.5 passed 43. The table on this page has each job, and every reply is published.
Claude, GPT, Gemini, DeepSeek, Grok, Kimi, and GLM, in one chat.
See what a message costs before you send it. Free is 5 messages to try; sign in with an email link, no password or card.