Skip to content

Model vs model

Claude Haiku 4.5 vs GPT-6 Luna

Claude Haiku 4.5 and GPT-6 Luna 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 Haiku 4.5 page, OpenRouter's GPT-6 Luna page. Updated .

Short answer

GPT-6 Luna is an everyday model (60 messages a day on Pro); Claude Haiku 4.5 draws on the monthly allowance (up to 250 messages a month on Pro). Beyond that, they read the same files and neither is easier to try. In our test runs, Claude Haiku 4.5 passed 43 of the 50 prompts both answered and GPT-6 Luna 47; 8 prompts split them, most on coding (3 to 5).

Claude Haiku 4.5 vs GPT-6 Luna, prompt by prompt

Every prompt Claude Haiku 4.5 and GPT-6 Luna 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 41, only Claude Haiku 4.5 passed 2, only GPT-6 Luna passed 6, and neither passed 1. Claude Haiku 4.5 answered sooner on 20 of the 50 and GPT-6 Luna on 21; the rest were within 10% of each other. The 50 replies cost $0.0741 on Claude Haiku 4.5 and $0.0059 on GPT-6 Luna: 12.6× less on GPT-6 Luna.

The 8 prompts only one of Claude Haiku 4.5 and GPT-6 Luna passed

  • Evaluate an arithmetic expression, no eval (coding): GPT-6 Luna passed and Claude Haiku 4.5 didn't. Claude Haiku 4.5: 14 of 15 tests passed. First failure: evaluate("-2 ^ 2"): Expected values to be strictly deep-equal: GPT-6 Luna: All 15 tests passed.

  • Parse CSV with quoted fields (coding): GPT-6 Luna passed and Claude Haiku 4.5 didn't. 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: GPT-6 Luna: All 8 tests passed.

  • A product announcement with five rules (writing): GPT-6 Luna passed and Claude Haiku 4.5 didn't. Claude Haiku 4.5: Graded 3.7 of 5 on average (lowest 3). GPT-6 Luna: Graded 4.0 of 5 on average (lowest 3).

  • Pens at 3 for $4 (math): Claude Haiku 4.5 passed and GPT-6 Luna didn't. Claude Haiku 4.5: Final answer Buy 3 packs of 3 pens and 1 single pen for 13.50: right. GPT-6 Luna: Final answer 2 bundles and 4 singles for 12; expected 13.5.

  • An article in three bullets (summarization): Claude Haiku 4.5 passed and GPT-6 Luna didn't. Claude Haiku 4.5: Graded 4.0 of 5 on average (lowest 3). GPT-6 Luna: Graded 4.0 of 5 on average (lowest 3); but 61 words, over the 60 allowed.

  • Average order value in August (data analysis): GPT-6 Luna passed and Claude Haiku 4.5 didn't. Claude Haiku 4.5: Final answer 275.00; expected 300. GPT-6 Luna: Final answer 300.00: right.

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

  • A message with a planted instruction (customer support): GPT-6 Luna passed and Claude Haiku 4.5 didn't. Claude Haiku 4.5: Graded 4.3 of 5 on average (lowest 3); but 165 words, over the 150 allowed. GPT-6 Luna: Graded 4.7 of 5 on average (lowest 4).

Job by job, the widest gaps first

  • Data analysis: Claude Haiku 4.5 passed 3 of 5 and GPT-6 Luna 5 of 5. Their median waits were close, 2.7 s against 2.5 s. GPT-6 Luna cost 14.2× less, $0.0125 against $0.0009 for the 5 replies. Claude Haiku 4.5's replies ran 403% longer, in tokens of reply, thinking not counted.

  • Coding: Claude Haiku 4.5 passed 3 of 5 and GPT-6 Luna 5 of 5. Claude Haiku 4.5 answered 1.9× sooner at the median, 2.3 s against 4.6 s. GPT-6 Luna cost 9.6× less, $0.0137 against $0.0014 for the 5 replies. Claude Haiku 4.5's replies ran 84% longer, in tokens of reply, thinking not counted.

  • Customer support: Claude Haiku 4.5 passed 3 of 5 and GPT-6 Luna 4 of 5. GPT-6 Luna answered 1.9× sooner at the median, 2.7 s against 1.4 s. GPT-6 Luna cost 17.0× less, $0.0073 against $0.0004 for the 5 replies. Claude Haiku 4.5's replies ran 160% longer, in tokens of reply, thinking not counted.

  • Math: Claude Haiku 4.5 passed 5 of 5 and GPT-6 Luna 4 of 5. Their median waits were close, 2.2 s against 2.2 s. GPT-6 Luna cost 15.6× less, $0.0077 against $0.0005 for the 5 replies. Claude Haiku 4.5's replies ran 244% longer, in tokens of reply, thinking not counted.

  • Writing: Claude Haiku 4.5 passed 4 of 5 and GPT-6 Luna 5 of 5. Their median waits were close, 2.2 s against 2.4 s. GPT-6 Luna cost 11.4× less, $0.0057 against $0.0005 for the 5 replies. Claude Haiku 4.5's replies ran 31% longer, in tokens of reply, thinking not counted.

  • Summarization: Claude Haiku 4.5 passed 5 of 5 and GPT-6 Luna 4 of 5. GPT-6 Luna answered 1.1× sooner at the median, 1.7 s against 1.5 s. GPT-6 Luna cost 10.8× less, $0.0051 against $0.0005 for the 5 replies. Their replies ran to about the same length.

  • Translation: Claude Haiku 4.5 passed 5 of 5 and GPT-6 Luna 5 of 5. GPT-6 Luna answered 1.2× sooner at the median, 1.8 s against 1.6 s. GPT-6 Luna cost 15.9× less, $0.0074 against $0.0005 for the 5 replies. Claude Haiku 4.5's replies ran 105% longer, in tokens of reply, thinking not counted.

  • RAG and answering from documents: Claude Haiku 4.5 passed 5 of 5 and GPT-6 Luna 5 of 5. Their median waits were close, 1.2 s against 1.3 s. GPT-6 Luna cost 13.1× less, $0.0050 against $0.0004 for the 5 replies. Claude Haiku 4.5's replies ran 133% longer, in tokens of reply, thinking not counted.

  • Agents and tool use: Claude Haiku 4.5 passed 5 of 5 and GPT-6 Luna 5 of 5. Claude Haiku 4.5 answered 1.7× sooner at the median, 1.1 s against 1.9 s. GPT-6 Luna cost 11.7× less, $0.0047 against $0.0004 for the 5 replies. Claude Haiku 4.5's replies ran 101% longer, in tokens of reply, thinking not counted.

  • SQL: Claude Haiku 4.5 passed 5 of 5 and GPT-6 Luna 5 of 5. Their median waits were close, 1.2 s against 1.2 s. GPT-6 Luna cost 11.1× less, $0.0049 against $0.0004 for the 5 replies. Claude Haiku 4.5's replies ran 13% longer, in tokens of reply, thinking not counted.

All 50 prompts: who passed, who answered sooner, who cost less
Claude Haiku 4.5 and GPT-6 Luna on each prompt of our test runs
PromptResultSoonerCheaper
Turn a title into a URL slugBoth passedClaude Haiku 4.5, 1.5×took 1.5 s and 2.3 sGPT-6 Luna, 11.2×cost $0.0010 and $0.0001
Parse a duration like “1h 30m”Both passedClaude Haiku 4.5, 1.9×took 2.3 s and 4.6 sGPT-6 Luna, 8.6×cost $0.0022 and $0.0003
Merge overlapping intervalsBoth passedGPT-6 Luna, 1.3×took 2.0 s and 1.5 sGPT-6 Luna, 15.3×cost $0.0017 and $0.0001
Evaluate an arithmetic expression, no evalOnly GPT-6 LunaClaude Haiku 4.5, 1.2×took 7.6 s and 8.8 sGPT-6 Luna, 10.1×cost $0.0056 and $0.0006
Parse CSV with quoted fieldsOnly GPT-6 LunaClaude Haiku 4.5, 2.1×took 3.5 s and 7.2 sGPT-6 Luna, 7.7×cost $0.0033 and $0.0004
Announce a second bakery shop on LinkedInBoth passedClaude Haiku 4.5, 1.1×took 2.6 s and 2.9 sGPT-6 Luna, 11.2×cost $0.0013 and $0.0001
Rewrite corporate jargon in plain wordsBoth passedClaude Haiku 4.5, 1.5×took 1.6 s and 2.4 sGPT-6 Luna, 8.0×cost $0.0008 and $0.0001
Decline a meeting and offer two timesBoth passedGPT-6 Luna, 1.6×took 2.0 s and 1.3 sGPT-6 Luna, 13.8×cost $0.0010 and $0.0001
A product announcement with five rulesOnly GPT-6 LunaGPT-6 Luna, 1.5×took 2.2 s and 1.5 sGPT-6 Luna, 15.7×cost $0.0012 and $0.0001
Argue both sides of free busesBoth passedGPT-6 Luna, 1.4×took 3.4 s and 2.5 sGPT-6 Luna, 10.6×cost $0.0014 and $0.0001
A discount, then sales taxBoth passedClaude Haiku 4.5, 2.7×took 1.1 s and 3.1 sGPT-6 Luna, 10.1×cost $0.0007 and $0.0001
Pens at 3 for $4Only Claude Haiku 4.5Claude Haiku 4.5, 1.3×took 2.2 s and 2.9 sGPT-6 Luna, 10.3×cost $0.0014 and $0.0001
Compound interest over three yearsBoth passedGPT-6 Luna, 1.7×took 3.5 s and 2.0 sGPT-6 Luna, 16.2×cost $0.0013 and $0.0001
Four-digit numbers whose digits sum to 9Both passedGPT-6 Luna, 1.4×took 2.9 s and 2.0 sGPT-6 Luna, 23.9×cost $0.0024 and $0.0001
The highest of three dice is a 5Both passedClosetook 2.2 s and 2.2 sGPT-6 Luna, 18.4×cost $0.0018 and $0.0001
An article in three bulletsOnly Claude Haiku 4.5GPT-6 Luna, 1.2×took 1.8 s and 1.5 sGPT-6 Luna, 10.9×cost $0.0011 and $0.0001
An email thread in one sentenceBoth passedGPT-6 Luna, 1.2×took 1.3 s and 1.1 sGPT-6 Luna, 10.9×cost $0.0007 and $0.0001
Decisions and action items from a meetingBoth passedGPT-6 Luna, 1.1×took 1.7 s and 1.5 sGPT-6 Luna, 10.4×cost $0.0011 and $0.0001
A quarterly memo for the CEOBoth passedClosetook 1.5 s and 1.5 sGPT-6 Luna, 10.0×cost $0.0012 and $0.0001
A study with a negative resultBoth passedGPT-6 Luna, 2.6×took 3.4 s and 1.3 sGPT-6 Luna, 12.7×cost $0.0010 and $0.0001
The region with the most revenueBoth passedClosetook 2.7 s and 2.5 sGPT-6 Luna, 20.0×cost $0.0026 and $0.0001
Average order value in AugustOnly GPT-6 LunaClaude Haiku 4.5, 1.3×took 2.1 s and 2.6 sGPT-6 Luna, 17.8×cost $0.0023 and $0.0001
Revenue change from July to AugustBoth passedGPT-6 Luna, 1.7×took 4.2 s and 2.5 sGPT-6 Luna, 16.8×cost $0.0022 and $0.0001
A median, filtered two waysBoth passedClaude Haiku 4.5, 1.2×took 2.0 s and 2.5 sGPT-6 Luna, 14.1×cost $0.0016 and $0.0001
Correlation between ad spend and sign-upsOnly GPT-6 LunaClaude Haiku 4.5, 1.4×took 5.0 s and 6.7 sGPT-6 Luna, 10.0×cost $0.0037 and $0.0004
A late orderBoth passedGPT-6 Luna, 1.3×took 2.0 s and 1.6 sGPT-6 Luna, 14.9×cost $0.0014 and $0.0001
A return inside the windowBoth passedGPT-6 Luna, 1.9×took 2.4 s and 1.2 sGPT-6 Luna, 15.6×cost $0.0013 and $0.0001
A frustrated customerNeither passedGPT-6 Luna, 2.1×took 3.0 s and 1.4 sGPT-6 Luna, 19.0×cost $0.0016 and $0.0001
A refund request outside the windowBoth passedGPT-6 Luna, 2.1×took 2.7 s and 1.3 sGPT-6 Luna, 15.6×cost $0.0013 and $0.0001
A message with a planted instructionOnly GPT-6 LunaGPT-6 Luna, 2.1×took 3.2 s and 1.5 sGPT-6 Luna, 19.8×cost $0.0018 and $0.0001
A delivery message into SpanishBoth passedClaude Haiku 4.5, 1.7×took 1.5 s and 2.6 sGPT-6 Luna, 11.9×cost $0.0011 and $0.0001
A product description into FrenchBoth passedClosetook 1.4 s and 1.4 sGPT-6 Luna, 12.5×cost $0.0011 and $0.0001
A meeting note into GermanBoth passedClosetook 1.8 s and 1.7 sGPT-6 Luna, 12.7×cost $0.0010 and $0.0001
Idioms into natural JapaneseBoth passedGPT-6 Luna, 2.1×took 3.3 s and 1.6 sGPT-6 Luna, 19.3×cost $0.0019 and $0.0001
A lease clause into Brazilian PortugueseBoth passedGPT-6 Luna, 2.3×took 3.5 s and 1.5 sGPT-6 Luna, 22.4×cost $0.0022 and $0.0001
Customers in one countryBoth passedGPT-6 Luna, 1.1×took 1.1 s and 1.0 sGPT-6 Luna, 10.8×cost $0.0007 and $0.0001
Count orders by statusBoth passedClosetook 0.8 s and 0.9 sGPT-6 Luna, 10.8×cost $0.0006 and $0.0001
Revenue by categoryBoth passedClosetook 1.2 s and 1.2 sGPT-6 Luna, 11.7×cost $0.0011 and $0.0001
Every customer, even those without ordersBoth passedClaude Haiku 4.5, 1.1×took 2.1 s and 2.4 sGPT-6 Luna, 10.4×cost $0.0010 and $0.0001
Monthly revenue with a running totalBoth passedClaude Haiku 4.5, 1.1×took 1.6 s and 1.8 sGPT-6 Luna, 11.4×cost $0.0016 and $0.0001
A fact from one sectionBoth passedClaude Haiku 4.5, 1.2×took 1.1 s and 1.3 sGPT-6 Luna, 12.4×cost $0.0009 and $0.0001
Core hours and start timesBoth passedGPT-6 Luna, 1.2×took 1.1 s and 1.0 sGPT-6 Luna, 11.4×cost $0.0009 and $0.0001
Two sections in one answerBoth passedClosetook 1.3 s and 1.4 sGPT-6 Luna, 13.5×cost $0.0011 and $0.0001
A later amendment changes the answerBoth passedGPT-6 Luna, 1.9×took 1.9 s and 1.0 sGPT-6 Luna, 15.0×cost $0.0012 and $0.0001
A question the handbook doesn't answerBoth passedClaude Haiku 4.5, 1.6×took 1.2 s and 1.9 sGPT-6 Luna, 13.0×cost $0.0009 and $0.0001
Pick the tool and work out the dateBoth passedClaude Haiku 4.5, 2.0×took 1.1 s and 2.1 sGPT-6 Luna, 11.3×cost $0.0008 and $0.0001
Convert a currencyBoth passedClaude Haiku 4.5, 1.1×took 1.0 s and 1.1 sGPT-6 Luna, 12.8×cost $0.0008 and $0.0001
Book a meeting from a sentenceBoth passedClosetook 1.2 s and 1.2 sGPT-6 Luna, 11.8×cost $0.0010 and $0.0001
Search, but don't bookBoth passedClaude Haiku 4.5, 1.9×took 1.1 s and 2.2 sGPT-6 Luna, 11.3×cost $0.0010 and $0.0001
Two calls with a unit conversionBoth passedClaude Haiku 4.5, 1.6×took 1.2 s and 1.9 sGPT-6 Luna, 11.4×cost $0.0011 and $0.0001

Claude Haiku 4.5 vs GPT-6 Luna in our test runs

Claude Haiku 4.5 and GPT-6 Luna 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 Haiku 4.5 and GPT-6 Luna in our test runs, job by job
JobClaude Haiku 4.5GPT-6 Luna
Coding3 of 55 of 5
Writing4 of 55 of 5
Math5 of 54 of 5
Summarization5 of 54 of 5
Data analysis3 of 55 of 5
Customer support3 of 54 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 jobs43 of 50 · 1 message each · $0.0015 a reply47 of 50 · 1 message each · $0.0001 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 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 ·

  • GPT-6 Luna

    Passed: All 15 tests passed.

    ```javascript
    function evaluate(expression) {
      if (typeof expression !== "string") {
        throw new Error("Expression must be a string");
      }
    
      let index = 0;
    
      function skipSpaces() {
        while (index < expression.length && /\s/.test(expression[index])) {
          index++;
        }
      }
    
      function parsePrimary() {
        skipSpaces();
    
        if (expression[index] === "(") {
          index++;
          const value = parseExpression();
          skipSpaces();
          if (expression[index] !== ")") throw new Error("Missing closing parenthesis");
          index++;
          return value;
        }
    
        const start = index;
        let digitsBefore = 0;
        while (/\d/.test(expression[index] || "")) {
          index++;
          digitsBefore++;
        }
    
        let digitsAfter = 0;
        if (expression[index] === ".") {
          index++;
          while (/\d/.test(expression[index] || "")) {
            index++;
            digitsAfter++;
          }
        }
    
        if (digitsBefore === 0 && digitsAfter === 0) {
          throw new Error("Expected a number or parenthesized expression");
        }
    
        return Number(expression.slice(start, index));
      }
    
      // Unary minus has lower precedence than exponentiation, but is allowed
      // on an exponent's right-hand side.
      function parseUnary() {
        skipSpaces();
        if (expression[index] === "-") {
          index++;
          return -parseUnary();
        }
        return parsePower();
      }
    
      function parsePower() {
        let value = parsePrimary();
        skipSpaces();
    
        if (expression[index] === "^") {
          index++;
          value **= parseUnary();
        }
    
        return value;
      }
    
      function parseProduct() {
        let value = parseUnary();
    
        while (true) {
          skipSpaces();
          const operator = expression[index];
          if (operator !== "*" && operator !== "/") break;
    
          index++;
          const right = parseUnary();
          value = operator === "*" ? value * right : value / right;
        }
    
        return value;
      }
    
      function parseExpression() {
        let value = parseProduct();
    
        while (true) {
          skipSpaces();
          const operator = expression[index];
          if (operator !== "+" && operator !== "-") break;
    
          index++;
          const right = parseProduct();
          value = operator === "+" ? value + right : value - right;
        }
    
        return value;
      }
    
      const result = parseExpression();
      skipSpaces();
      if (index !== expression.length) throw new Error("Unexpected input");
    
      return result;
    }
    ```

    549 tokens in, 1,007 out (455 of them reasoning) · 8.8 s · $0.0006 · 1 message on Pro · answered by openai/gpt-6-luna via OpenAI ·

Claude Haiku 4.5 and GPT-6 Luna on every plan

Whether the one-time free trial reaches each model, then each paid plan's messages on it.

Messages on Claude Haiku 4.5 and GPT-6 Luna, plan by plan
PlanPriceClaude Haiku 4.5GPT-6 Luna
Free$0In the one-time trial of 5 messagesIn the one-time trial of 5 messages
Pro$20 a monthUp to 250 a month60 a day
Max$50 a monthUp to 800 a month120 a day
Ultra$100 a monthUp to 1,800 a month200 a day
Studio$200 a monthUp to 4,000 a month200 a day

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

    GPT-6 Luna is an everyday model (60 messages a day on Pro); Claude Haiku 4.5 draws on the monthly allowance (up to 250 messages a month on Pro).

  • Context window

    Claude Haiku 4.5 takes up to 200K tokens; GPT-6 Luna up to 1.05M 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

    Claude Haiku 4.5: Sent to Anthropic directly. GPT-6 Luna: Sent to OpenAI directly.

Fact by fact

Claude Haiku 4.5 and GPT-6 Luna, fact by fact
FactClaude Haiku 4.5GPT-6 Luna
Context window200K tokens1.05M tokens
Reads imagesYesYes
PDFsWhole fileWhole file
ReasoningNoYes
API price (September 2026)$1.00 in / $5.00 out per million tokens$0.10 in / $0.50 out per million tokens
A typical message at API prices (4,000 tokens in, 700 out)$0.0075$0.0008
A $10 top-up adds200 messagesNothing: an everyday model's count is daily
Where a message goesSent to Anthropic directly.Sent to OpenAI 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 Haiku 4.5 through OpenRouter instead.If OpenAI fails before the reply starts (an overload, a server error, a dropped connection), llmwise sends the same request to GPT-6 Luna through OpenRouter instead.
Anthropic's safety fallbackDoesn't applyDoesn't apply
API prices are what our model catalog lists (Claude: Anthropic's list price; GPT: OpenAI's list price). In llmwise you pay per message, not per token: the counts above are what you get.

Claude Haiku 4.5 or GPT-6 Luna?

From the facts above and our test runs: the rest is how their answers suit your work, which one chat can show you.

  • Pick GPT-6 Luna: its messages come from the daily count (60 messages a day on Pro), so they leave the monthly allowance for bigger models.

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

Claude Haiku 4.5 vs GPT-6 Luna is one pair of models. The pages below cover the whole families.

Questions

Is Claude Haiku 4.5 or GPT-6 Luna cheaper in llmwise?

GPT-6 Luna is an everyday model (60 messages a day on Pro); Claude Haiku 4.5 draws on the monthly allowance (up to 250 messages a month on Pro). 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 Haiku 4.5 and GPT-6 Luna for free?

Yes: both are in the free trial of 5 messages.

Which has the bigger context window, Claude Haiku 4.5 or GPT-6 Luna?

GPT-6 Luna: 1.05M 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 Haiku 4.5 and GPT-6 Luna in the same chat?

Yes. Pick Claude Haiku 4.5 for one message and GPT-6 Luna for the next; the second sees the whole chat, including the first one's answer.

Which did better in your test runs, Claude Haiku 4.5 or GPT-6 Luna?

On the same 50 prompts, run on September 27, 2026, Claude Haiku 4.5 passed 43 and GPT-6 Luna passed 47. 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.