Skip to content

Model vs model

Claude Fable 5.1 vs Claude Haiku 4.5

Claude Fable 5.1 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 Fable 5.1 page, OpenRouter's Claude Haiku 4.5 page. Updated .

Short answer

Claude Haiku 4.5 gets eight times as many messages: up to 250 messages a month on Pro, against up to 31 messages a month for Claude Fable 5.1. Otherwise, only Claude Fable 5.1 can be passed to another model by its maker's safety system and only Claude Haiku 4.5 is in the free trial. In our test runs, Claude Fable 5.1 passed 45 of the 50 prompts both answered and Claude Haiku 4.5 43; 8 prompts split them, most on coding (5 to 3).

Claude Fable 5.1 vs Claude Haiku 4.5, prompt by prompt

Every prompt Claude Fable 5.1 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 Fable 5.1 passed 5, only Claude Haiku 4.5 passed 3, and neither passed 2. Claude Fable 5.1 answered sooner on 0 of the 50 and Claude Haiku 4.5 on 49; the rest were within 10% of each other. The 50 replies cost $1.0018 on Claude Fable 5.1 and $0.0741 on Claude Haiku 4.5: 13.5× less on Claude Haiku 4.5.

The 8 prompts only one of Claude Fable 5.1 and Claude Haiku 4.5 passed

  • Evaluate an arithmetic expression, no eval (coding): Claude Fable 5.1 passed and Claude Haiku 4.5 didn't. Claude Fable 5.1: 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 Fable 5.1 passed and Claude Haiku 4.5 didn't. Claude Fable 5.1: 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:

  • Argue both sides of free buses (writing): Claude Haiku 4.5 passed and Claude Fable 5.1 didn't. Claude Fable 5.1: Graded 4.7 of 5 on average (lowest 4); but a paragraph of 99 words, over the 90 allowed. Claude Haiku 4.5: Graded 4.0 of 5 on average (lowest 4).

  • An article in three bullets (summarization): Claude Haiku 4.5 passed and Claude Fable 5.1 didn't. Claude Fable 5.1: Graded 4.3 of 5 on average (lowest 4); but 62 words, over the 60 allowed. 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 Fable 5.1 didn't. Claude Fable 5.1: Graded 5.0 of 5 on average (lowest 5); but 33 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 Fable 5.1 passed and Claude Haiku 4.5 didn't. Claude Fable 5.1: Final answer 300.00: right. Claude Haiku 4.5: Final answer 275.00; expected 300.

  • Correlation between ad spend and sign-ups (data analysis): Claude Fable 5.1 passed and Claude Haiku 4.5 didn't. Claude Fable 5.1: Final answer 0.97: right. Claude Haiku 4.5: Final answer 0.99; expected 0.97.

  • A frustrated customer (customer support): Claude Fable 5.1 passed and Claude Haiku 4.5 didn't. Claude Fable 5.1: Graded 4.7 of 5 on average (lowest 4). Claude Haiku 4.5: Graded 3.3 of 5 on average (lowest 3).

Job by job, the widest gaps first

  • Summarization: Claude Fable 5.1 passed 3 of 5 and Claude Haiku 4.5 5 of 5. Claude Haiku 4.5 answered 3.0× sooner at the median, 5.0 s against 1.7 s. Claude Haiku 4.5 cost 15.9× less, $0.0805 against $0.0051 for the 5 replies. Claude Fable 5.1's replies ran 59% longer, in tokens of reply, thinking not counted.

  • Coding: Claude Fable 5.1 passed 5 of 5 and Claude Haiku 4.5 3 of 5. Claude Haiku 4.5 answered 2.4× sooner at the median, 5.5 s against 2.3 s. Claude Haiku 4.5 cost 15.5× less, $0.2126 against $0.0137 for the 5 replies. Claude Fable 5.1's replies ran 37% longer, in tokens of reply, thinking not counted.

  • Data analysis: Claude Fable 5.1 passed 5 of 5 and Claude Haiku 4.5 3 of 5. Claude Haiku 4.5 answered 1.8× sooner at the median, 4.9 s against 2.7 s. Claude Haiku 4.5 cost 11.3× less, $0.1415 against $0.0125 for the 5 replies. Claude Haiku 4.5's replies ran 103% longer, in tokens of reply, thinking not counted.

  • Writing: Claude Fable 5.1 passed 3 of 5 and Claude Haiku 4.5 4 of 5. Claude Haiku 4.5 answered 2.7× sooner at the median, 6.0 s against 2.2 s. Claude Haiku 4.5 cost 15.2× less, $0.0862 against $0.0057 for the 5 replies. Claude Fable 5.1's replies ran 63% longer, in tokens of reply, thinking not counted.

  • Customer support: Claude Fable 5.1 passed 4 of 5 and Claude Haiku 4.5 3 of 5. Claude Haiku 4.5 answered 2.2× sooner at the median, 6.1 s against 2.7 s. Claude Haiku 4.5 cost 15.0× less, $0.1103 against $0.0073 for the 5 replies. Claude Fable 5.1's replies ran 34% longer, in tokens of reply, thinking not counted.

  • SQL: Claude Fable 5.1 passed 5 of 5 and Claude Haiku 4.5 5 of 5. Claude Haiku 4.5 answered 3.6× sooner at the median, 4.5 s against 1.2 s. Claude Haiku 4.5 cost 18.7× less, $0.0924 against $0.0049 for the 5 replies. Claude Fable 5.1's replies ran 87% longer, in tokens of reply, thinking not counted.

  • RAG and answering from documents: Claude Fable 5.1 passed 5 of 5 and Claude Haiku 4.5 5 of 5. Claude Haiku 4.5 answered 3.4× sooner at the median, 4.0 s against 1.2 s. Claude Haiku 4.5 cost 14.4× less, $0.0727 against $0.0050 for the 5 replies. Claude Fable 5.1's replies ran 16% longer, in tokens of reply, thinking not counted.

  • Agents and tool use: Claude Fable 5.1 passed 5 of 5 and Claude Haiku 4.5 5 of 5. Claude Haiku 4.5 answered 3.1× sooner at the median, 3.5 s against 1.1 s. Claude Haiku 4.5 cost 12.6× less, $0.0598 against $0.0047 for the 5 replies. Claude Haiku 4.5's replies ran 12% longer, in tokens of reply, thinking not counted.

  • Translation: Claude Fable 5.1 passed 5 of 5 and Claude Haiku 4.5 5 of 5. Claude Haiku 4.5 answered 2.8× sooner at the median, 5.1 s against 1.8 s. Claude Haiku 4.5 cost 11.9× less, $0.0877 against $0.0074 for the 5 replies. Their replies ran to about the same length.

  • Math: Claude Fable 5.1 passed 5 of 5 and Claude Haiku 4.5 5 of 5. Claude Haiku 4.5 answered 2.1× sooner at the median, 4.6 s against 2.2 s. Claude Haiku 4.5 cost 7.6× less, $0.0582 against $0.0077 for the 5 replies. Claude Haiku 4.5's replies ran 78% longer, in tokens of reply, thinking not counted.

All 50 prompts: who passed, who answered sooner, who cost less
Claude Fable 5.1 and Claude Haiku 4.5 on each prompt of our test runs
PromptResultSoonerCheaper
Turn a title into a URL slugBoth passedClaude Haiku 4.5, 3.6×took 5.5 s and 1.5 sClaude Haiku 4.5, 17.5×cost $0.0167 and $0.0010
Parse a duration like “1h 30m”Both passedClaude Haiku 4.5, 2.0×took 4.7 s and 2.3 sClaude Haiku 4.5, 8.0×cost $0.0173 and $0.0022
Merge overlapping intervalsBoth passedClaude Haiku 4.5, 2.7×took 5.3 s and 2.0 sClaude Haiku 4.5, 12.8×cost $0.0214 and $0.0017
Evaluate an arithmetic expression, no evalOnly Claude Fable 5.1Claude Haiku 4.5, 2.1×took 15.7 s and 7.6 sClaude Haiku 4.5, 15.5×cost $0.0874 and $0.0056
Parse CSV with quoted fieldsOnly Claude Fable 5.1Claude Haiku 4.5, 4.1×took 14.3 s and 3.5 sClaude Haiku 4.5, 21.0×cost $0.0697 and $0.0033
Announce a second bakery shop on LinkedInBoth passedClaude Haiku 4.5, 2.9×took 7.3 s and 2.6 sClaude Haiku 4.5, 14.5×cost $0.0184 and $0.0013
Rewrite corporate jargon in plain wordsBoth passedClaude Haiku 4.5, 3.7×took 6.0 s and 1.6 sClaude Haiku 4.5, 15.8×cost $0.0130 and $0.0008
Decline a meeting and offer two timesBoth passedClaude Haiku 4.5, 2.4×took 4.7 s and 2.0 sClaude Haiku 4.5, 14.8×cost $0.0145 and $0.0010
A product announcement with five rulesNeither passedClaude Haiku 4.5, 2.7×took 5.9 s and 2.2 sClaude Haiku 4.5, 13.0×cost $0.0157 and $0.0012
Argue both sides of free busesOnly Claude Haiku 4.5Claude Haiku 4.5, 2.7×took 9.3 s and 3.4 sClaude Haiku 4.5, 17.7×cost $0.0246 and $0.0014
A discount, then sales taxBoth passedClaude Haiku 4.5, 3.2×took 3.6 s and 1.1 sClaude Haiku 4.5, 11.5×cost $0.0086 and $0.0007
Pens at 3 for $4Both passedClaude Haiku 4.5, 2.5×took 5.4 s and 2.2 sClaude Haiku 4.5, 11.1×cost $0.0159 and $0.0014
Compound interest over three yearsBoth passedClosetook 3.6 s and 3.5 sClaude Haiku 4.5, 7.1×cost $0.0092 and $0.0013
Four-digit numbers whose digits sum to 9Both passedClaude Haiku 4.5, 1.6×took 4.6 s and 2.9 sClaude Haiku 4.5, 5.7×cost $0.0139 and $0.0024
The highest of three dice is a 5Both passedClaude Haiku 4.5, 2.6×took 5.9 s and 2.2 sClaude Haiku 4.5, 5.9×cost $0.0106 and $0.0018
An article in three bulletsOnly Claude Haiku 4.5Claude Haiku 4.5, 2.9×took 5.1 s and 1.8 sClaude Haiku 4.5, 15.4×cost $0.0164 and $0.0011
An email thread in one sentenceOnly Claude Haiku 4.5Claude Haiku 4.5, 1.9×took 2.5 s and 1.3 sClaude Haiku 4.5, 15.7×cost $0.0114 and $0.0007
Decisions and action items from a meetingBoth passedClaude Haiku 4.5, 3.3×took 5.6 s and 1.7 sClaude Haiku 4.5, 17.1×cost $0.0182 and $0.0011
A quarterly memo for the CEOBoth passedClaude Haiku 4.5, 3.2×took 5.0 s and 1.5 sClaude Haiku 4.5, 15.2×cost $0.0184 and $0.0012
A study with a negative resultBoth passedClaude Haiku 4.5, 1.4×took 4.9 s and 3.4 sClaude Haiku 4.5, 15.9×cost $0.0160 and $0.0010
The region with the most revenueBoth passedClaude Haiku 4.5, 1.5×took 4.1 s and 2.7 sClaude Haiku 4.5, 6.1×cost $0.0159 and $0.0026
Average order value in AugustOnly Claude Fable 5.1Claude Haiku 4.5, 1.6×took 3.3 s and 2.1 sClaude Haiku 4.5, 9.1×cost $0.0209 and $0.0023
Revenue change from July to AugustBoth passedClaude Haiku 4.5, 1.2×took 4.9 s and 4.2 sClaude Haiku 4.5, 10.4×cost $0.0232 and $0.0022
A median, filtered two waysBoth passedClaude Haiku 4.5, 3.4×took 6.7 s and 2.0 sClaude Haiku 4.5, 9.3×cost $0.0151 and $0.0016
Correlation between ad spend and sign-upsOnly Claude Fable 5.1Claude Haiku 4.5, 2.8×took 14.2 s and 5.0 sClaude Haiku 4.5, 18.0×cost $0.0663 and $0.0037
A late orderBoth passedClaude Haiku 4.5, 3.0×took 6.1 s and 2.0 sClaude Haiku 4.5, 14.7×cost $0.0199 and $0.0014
A return inside the windowBoth passedClaude Haiku 4.5, 2.1×took 4.9 s and 2.4 sClaude Haiku 4.5, 13.4×cost $0.0178 and $0.0013
A frustrated customerOnly Claude Fable 5.1Claude Haiku 4.5, 2.4×took 7.0 s and 3.0 sClaude Haiku 4.5, 14.3×cost $0.0223 and $0.0016
A refund request outside the windowBoth passedClaude Haiku 4.5, 1.7×took 4.5 s and 2.7 sClaude Haiku 4.5, 15.8×cost $0.0204 and $0.0013
A message with a planted instructionNeither passedClaude Haiku 4.5, 2.3×took 7.2 s and 3.2 sClaude Haiku 4.5, 16.7×cost $0.0299 and $0.0018
A delivery message into SpanishBoth passedClaude Haiku 4.5, 2.8×took 4.2 s and 1.5 sClaude Haiku 4.5, 13.9×cost $0.0158 and $0.0011
A product description into FrenchBoth passedClaude Haiku 4.5, 3.7×took 5.1 s and 1.4 sClaude Haiku 4.5, 13.8×cost $0.0158 and $0.0011
A meeting note into GermanBoth passedClaude Haiku 4.5, 2.6×took 4.7 s and 1.8 sClaude Haiku 4.5, 14.8×cost $0.0152 and $0.0010
Idioms into natural JapaneseBoth passedClaude Haiku 4.5, 2.5×took 8.5 s and 3.3 sClaude Haiku 4.5, 11.3×cost $0.0217 and $0.0019
A lease clause into Brazilian PortugueseBoth passedClaude Haiku 4.5, 1.6×took 5.6 s and 3.5 sClaude Haiku 4.5, 8.9×cost $0.0192 and $0.0022
Customers in one countryBoth passedClaude Haiku 4.5, 2.8×took 3.2 s and 1.1 sClaude Haiku 4.5, 18.4×cost $0.0120 and $0.0007
Count orders by statusBoth passedClaude Haiku 4.5, 4.3×took 3.5 s and 0.8 sClaude Haiku 4.5, 19.3×cost $0.0122 and $0.0006
Revenue by categoryBoth passedClaude Haiku 4.5, 3.6×took 4.5 s and 1.2 sClaude Haiku 4.5, 18.0×cost $0.0190 and $0.0011
Every customer, even those without ordersBoth passedClaude Haiku 4.5, 2.5×took 5.2 s and 2.1 sClaude Haiku 4.5, 19.5×cost $0.0199 and $0.0010
Monthly revenue with a running totalBoth passedClaude Haiku 4.5, 3.9×took 6.3 s and 1.6 sClaude Haiku 4.5, 18.6×cost $0.0293 and $0.0016
A fact from one sectionBoth passedClaude Haiku 4.5, 3.3×took 3.5 s and 1.1 sClaude Haiku 4.5, 14.6×cost $0.0134 and $0.0009
Core hours and start timesBoth passedClaude Haiku 4.5, 3.3×took 3.7 s and 1.1 sClaude Haiku 4.5, 14.8×cost $0.0135 and $0.0009
Two sections in one answerBoth passedClaude Haiku 4.5, 4.8×took 6.3 s and 1.3 sClaude Haiku 4.5, 12.4×cost $0.0133 and $0.0011
A later amendment changes the answerBoth passedClaude Haiku 4.5, 3.8×took 7.1 s and 1.9 sClaude Haiku 4.5, 13.4×cost $0.0165 and $0.0012
A question the handbook doesn't answerBoth passedClaude Haiku 4.5, 3.4×took 4.0 s and 1.2 sClaude Haiku 4.5, 17.4×cost $0.0160 and $0.0009
Pick the tool and work out the dateBoth passedClaude Haiku 4.5, 3.0×took 3.3 s and 1.1 sClaude Haiku 4.5, 12.3×cost $0.0102 and $0.0008
Convert a currencyBoth passedClaude Haiku 4.5, 3.5×took 3.5 s and 1.0 sClaude Haiku 4.5, 12.3×cost $0.0103 and $0.0008
Book a meeting from a sentenceBoth passedClaude Haiku 4.5, 2.1×took 2.5 s and 1.2 sClaude Haiku 4.5, 12.5×cost $0.0131 and $0.0010
Search, but don't bookBoth passedClaude Haiku 4.5, 4.4×took 5.0 s and 1.1 sClaude Haiku 4.5, 12.2×cost $0.0116 and $0.0010
Two calls with a unit conversionBoth passedClaude Haiku 4.5, 3.9×took 4.8 s and 1.2 sClaude Haiku 4.5, 13.8×cost $0.0145 and $0.0011

Claude Fable 5.1 vs Claude Haiku 4.5 in our test runs

Claude Fable 5.1 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 .

Claude Fable 5.1 and Claude Haiku 4.5 in our test runs, job by job
JobClaude Fable 5.1Claude Haiku 4.5
Coding5 of 53 of 5
Writing3 of 54 of 5
Math5 of 55 of 5
Summarization3 of 55 of 5
Data analysis5 of 53 of 5
Customer support4 of 53 of 5
Translation5 of 55 of 5
SQL5 of 55 of 5
RAG and answering from documents5 of 55 of 5
Agents and tool use5 of 55 of 5
All jobs45 of 50 · 1 message each · $0.0200 a reply43 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 Fable 5.1

    Passed: All 15 tests passed.

    ```javascript
    function evaluate(expression) {
      if (typeof expression !== "string") throw new Error("Expression must be a string");
    
      // ---- Tokenizer ----
      const tokens = [];
      let i = 0;
      while (i < expression.length) {
        const ch = expression[i];
        if (ch === " " || ch === "\t" || ch === "\n" || ch === "\r") { i++; continue; }
        if (ch >= "0" && ch <= "9") {
          let start = i;
          while (i < expression.length && expression[i] >= "0" && expression[i] <= "9") i++;
          if (expression[i] === ".") {
            i++;
            if (!(expression[i] >= "0" && expression[i] <= "9")) {
              throw new Error(`Invalid number at position ${start}`);
            }
            while (i < expression.length && expression[i] >= "0" && expression[i] <= "9") i++;
          }
          tokens.push({ type: "num", value: parseFloat(expression.slice(start, i)), pos: start });
          continue;
        }
        if ("+-*/^()".includes(ch)) {
          tokens.push({ type: ch, pos: i });
          i++;
          continue;
        }
        throw new Error(`Unexpected character '${ch}' at position ${i}`);
      }
      tokens.push({ type: "end", pos: expression.length });
    
      // ---- Parser ----
      let p = 0;
      const peek = () => tokens[p];
      const next = () => tokens[p++];
      const fail = (tok) =>
        new Error(
          tok.type === "end"
            ? "Unexpected end of expression"
            : `Unexpected token '${tok.type === "num" ? tok.value : tok.type}' at position ${tok.pos}`
        );
    
      // expr := term (('+'|'-') term)*
      function parseExpr() {
        let value = parseTerm();
        while (peek().type === "+" || peek().type === "-") {
          const op = next().type;
          const rhs = parseTerm();
          value = op === "+" ? value + rhs : value - rhs;
        }
        return value;
      }
    
      // term := unary (('*'|'/') unary)*
      function parseTerm() {
        let value = parseUnary();
        while (peek().type === "*" || peek().type === "/") {
          const op = next().type;
          const rhs = parseUnary();
          value = op === "*" ? value * rhs : value / rhs;
        }
        return value;
      }
    
      // unary := '-' unary | power
      function parseUnary() {
        if (peek().type === "-") {
          next();
          return -parseUnary();
        }
        return parsePower();
      }
    
      // power := atom ('^' unary)?   (right-associative; exponent may carry unary minus)
      function parsePower() {
        const base = parseAtom();
        if (peek().type === "^") {
          next();
          const exponent = parseUnary();
          return Math.pow(base, exponent);
        }
        return base;
      }
    
      // atom := number | '(' expr ')'
      function parseAtom() {
        const tok = next();
        if (tok.type === "num") return tok.value;
        if (tok.type === "(") {
          const value = parseExpr();
          const close = next();
          if (close.type !== ")") throw fail(close);
          return value;
        }
        throw fail(tok);
      }
    
      const result = parseExpr();
      if (peek().type !== "end") throw fail(peek());
      return result;
    }
    ```

    762 tokens in, 1,561 out (387 of them reasoning) · 15.7 s · $0.0874 · 1 message on Pro · answered by anthropic/claude-fable-5.1 via Anthropic ·

  • 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 Fable 5.1 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.

Messages on Claude Fable 5.1 and Claude Haiku 4.5, plan by plan
PlanPriceClaude Fable 5.1Claude Haiku 4.5
Free$0Not in the trialIn the one-time trial of 5 messages
Pro$20 a monthUp to 31 a monthUp to 250 a month
Max$50 a monthUp to 100 a monthUp to 800 a month
Ultra$100 a monthUp to 225 a monthUp to 1,800 a month
Studio$200 a monthUp to 500 a monthUp 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 eight times as many messages: up to 250 messages a month on Pro, against up to 31 messages a month for Claude Fable 5.1.

  • Context window

    Claude Fable 5.1 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

    Claude Haiku 4.5 is in the free trial; Claude Fable 5.1 needs a paid plan.

  • Where messages go

    Both are Claude models, served the same way. Sent to Anthropic directly.

Fact by fact

Claude Fable 5.1 and Claude Haiku 4.5, fact by fact
FactClaude Fable 5.1Claude Haiku 4.5
Context window1M tokens200K tokens
Reads imagesYesYes
PDFsWhole fileWhole file
ReasoningYesNo
API price (September 2026)$10.00 in / $50.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.0750$0.0075
A $10 top-up adds25 messages200 messages
Where a message goesSent to Anthropic directly.Sent to Anthropic directly.
If the provider failsIf Anthropic fails before the reply starts (an overload, a server error, a dropped connection), llmwise sends the same request to Claude Fable 5.1 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 fallbackAnthropic's safety system can pass a Claude Fable 5.1 message to another Claude model. The reply then names the model that answered and says what you were charged for.Doesn't apply
API prices are what our model catalog lists (Claude: Anthropic's list price). In llmwise you pay per message, not per token: the counts above are what you get.

Claude Fable 5.1 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; you can try it in the free trial.

Each model's page, the families, and other pairs

Claude Fable 5.1 vs Claude Haiku 4.5 is one pair of models. The pages below cover the whole family.

Questions

Is Claude Fable 5.1 or Claude Haiku 4.5 cheaper in llmwise?

Claude Haiku 4.5 gets eight times as many messages: up to 250 messages a month on Pro, against up to 31 messages a month for Claude Fable 5.1. 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 Fable 5.1 and Claude Haiku 4.5 for free?

Claude Haiku 4.5 is, in the free trial of 5 messages; Claude Fable 5.1 needs a paid plan.

Which has the bigger context window, Claude Fable 5.1 or Claude Haiku 4.5?

Claude Fable 5.1: 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 Fable 5.1 and Claude Haiku 4.5 in the same chat?

Yes. Pick Claude Fable 5.1 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 Fable 5.1 or Claude Haiku 4.5?

On the same 50 prompts, run on September 27, 2026, Claude Fable 5.1 passed 45 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.