Recursive Flint

Recursive's open-weight model for coding agents: 40B parameters with 2.5B active, a 262K-token context window and an Apache 2.0 license.

About Recursive Flint

Recursive Flint is a coding model from Recursive, released on October 21, 2026. It is Recursive's first model. Flint is a mixture-of-experts model with 39.8 billion parameters, of which about 2.5 billion work on each token, so it answers fast and runs on a laptop with 48 GB of memory.

Recursive built Flint for coding agents: it plans a change, calls tools, edits files and runs commands in a terminal. It always reasons before it answers. Recursive says its Eureka Machine, a system for automated AI research, helped build nearly every part of the model, from the training data to the inference kernels.

The weights are open under Apache 2.0, so you can run Flint locally with Ollama, LM Studio or vLLM. On Overchat AI it is in the same chat as GPT-6, Claude, Gemini and other models, with nothing to install.

Developer
Recursive
Released
Oct 21, 2026
Parameters
39.8B, 2.5B active
Context window
262K tokens
Input
Text
License
Apache 2.0

See how Recursive Flint answers

Prompt

Write a Python function that checks whether a string is a valid IPv4 address without using regex, plus five test cases that cover the edge cases.

Flint
def is_valid_ipv4(s: str) -> bool:
    if not isinstance(s, str):
        return False

    parts = s.split(".")
    if len(parts) != 4:
        return False

    for part in parts:
        if not part:
            return False
        if not all("0" <= ch <= "9" for ch in part):
            return False
        if len(part) > 1 and part[0] == "0":
            return False  # strict: reject leading zeros
        if len(part) > 3 or int(part) > 255:
            return False

    return True

Five test cases covering edge cases:

assert is_valid_ipv4("192.168.1.1") is True
assert is_valid_ipv4("0.0.0.0") is True
assert is_valid_ipv4("255.255.255.255") is True
assert is_valid_ipv4("256.1.1.1") is False
assert is_valid_ipv4("192.168.01.1") is False

This implementation avoids regex, splits on ., checks for exactly four parts, validates digits only, rejects leading zeros, and ensures each octet is between 0 and 255.

Prompt

This JavaScript function should return the average of an array of numbers, but it returns NaN for an empty array and wrong results when the array holds strings like "5". Find the bugs and give a fixed version. function avg(xs) { let sum = 0; for (const x of xs) sum += x; return sum / xs.length; }

Flint

Bugs in the original:

  1. Empty array: sum / xs.length becomes 0 / 0, which is NaN.
  2. String values: sum += x uses JavaScript’s + operator, which concatenates when one side is a string. So adding "5" turns the sum into a string like "05" instead of adding 5.

Fixed version:

function avg(xs) {
  const nums = xs.map(Number);
  
  if (nums.length === 0) return 0;

  const sum = nums.reduce((acc, n) => acc + n, 0);
  return sum / nums.length;
}

This converts string numbers like "5" into actual numbers with Number, and handles empty arrays by returning 0.

Examples:

avg([1, 2, 3, 4]);      // 2.5
avg(["5", "10", "15"]); // 10
avg([]);                 // 0
Prompt

Write a bash script that finds every .log file over 100 MB under /var/log, compresses each one with gzip, and prints how much disk space was freed.

Flint
#!/bin/bash

LOG_DIR="/var/log"
THRESHOLD="+100M"   # over 100 MB

orig_total=0
comp_total=0
count=0

while IFS= read -r -d '' f; do
    orig_size=$(stat -c %s "$f")
    orig_total=$((orig_total + orig_size))

    gzip -9 -f "$f"

    comp_size=$(stat -c %s "${f}.gz")
    comp_total=$((comp_total + comp_size))

    count=$((count + 1))
done < <(find "$LOG_DIR" -type f -name '*.log' -size $THRESHOLD -print0)

if (( count == 0 )); then
    echo "No .log files over 100 MB found under $LOG_DIR."
else
    freed_bytes=$((orig_total - comp_total))
    freed_mb=$(awk "BEGIN { printf \"%.2f\", $freed_bytes / 1048576 }")
    orig_mb=$(awk "BEGIN { printf \"%.2f\", $orig_total / 1048576 }")
    comp_mb=$(awk "BEGIN { printf \"%.2f\", $comp_total / 1048576 }")

    echo "$count log file(s) compressed under $LOG_DIR."
    echo "Original total size: ${orig_mb} MB"
    echo "Compressed total size: ${comp_mb} MB"
    echo "Approx. disk space freed: ${freed_mb} MB"
fi

Run with:

sudo bash script.sh

Notes:

  • Searches recursively under /var/log.
  • Targets files ending in .log larger than 100 MB.
  • Uses gzip -9 -f, which replaces the original with a .gz file and removes the original.
  • Prints approximate freed disk space based on original vs. compressed sizes.

More prompts to try with Recursive Flint

Recursive Flint vs other models

Coding and instruction-following tests, size, context window and local speed, one rival at a time.

FlintQwen3.6 35B A3B
Terminal-Bench 2.1?
Flint: 55%
Qwen3.6 35B A3B: 45%
SWE-bench Verified?
Flint: 74%
Qwen3.6 35B A3B: 73%
LiveCodeBench v6?
Flint: 80%
Qwen3.6 35B A3B: 80%
IFBench?
Flint: 89%
Qwen3.6 35B A3B: 68%
IFEval?
Flint: 95%
Qwen3.6 35B A3B: 90%
SpecFlintQwen3.6 35B A3B
DeveloperRecursiveAlibaba
ReleasedOct 21, 2026Apr 16, 2026
Parameters?39.8B, 2.5B active36B, 3B active
Context window?262K262K
Local speed?131 tokens/s66 tokens/s
LicenseApache 2.0Apache 2.0
FlintQwen3.8 27B
Terminal-Bench 2.1?
Flint: 55%
Qwen3.8 27B: 73%
SWE-bench Verified?
Flint: 74%
Qwen3.8 27B: 76%
LiveCodeBench v6?
Flint: 80%
Qwen3.8 27B: 90%
IFBench?
Flint: 89%
Qwen3.8 27B: 80%
IFEval?
Flint: 95%
Qwen3.8 27B: 95%
SpecFlintQwen3.8 27B
DeveloperRecursiveAlibaba
ReleasedOct 21, 2026Aug 14, 2026
Parameters?39.8B, 2.5B active27B dense
Context window?262K256K
Local speed?131 tokens/s13 tokens/s
LicenseApache 2.0Apache 2.0
FlintGemma 4 31B
Terminal-Bench 2.1?
Flint: 55%
Gemma 4 31B: 43%
SWE-bench Verified?
Flint: 74%
Gemma 4 31B: 67%
LiveCodeBench v6?
Flint: 80%
Gemma 4 31B: 80%
IFBench?
Flint: 89%
Gemma 4 31B: 76%
IFEval?
Flint: 95%
Gemma 4 31B: 95%
SpecFlintGemma 4 31B
DeveloperRecursiveGoogle
ReleasedOct 21, 2026Apr 2, 2026
Parameters?39.8B, 2.5B active30.7B dense
Context window?262K256K
Local speed?131 tokens/s12 tokens/s
LicenseApache 2.0Apache 2.0
FlintMuse Glimmer 30B
Terminal-Bench 2.1?
Flint: 55%
Muse Glimmer 30B: 52%
SWE-bench Verified?
Flint: 74%
Muse Glimmer 30B: 76%
LiveCodeBench v6?
Flint: 80%
Muse Glimmer 30B: 64%
IFBench?
Flint: 89%
Muse Glimmer 30B: 77%
IFEval?
Flint: 95%
Muse Glimmer 30B: 95%
SpecFlintMuse Glimmer 30B
DeveloperRecursiveMeta
ReleasedOct 21, 2026Aug 10, 2026
Parameters?39.8B, 2.5B active30B dense
Context window?262K131K
Local speed?131 tokens/s15 tokens/s
LicenseApache 2.0Apache 2.0
FlintLaguna XS 2.1
Terminal-Bench 2.1?
Flint: 55%
Laguna XS 2.1: 25%
SWE-bench Verified?
Flint: 74%
Laguna XS 2.1: 71%
LiveCodeBench v6?
Flint: 80%
Laguna XS 2.1: 50%
IFBench?
Flint: 89%
Laguna XS 2.1: 34%
IFEval?
Flint: 95%
Laguna XS 2.1: 74%
SpecFlintLaguna XS 2.1
DeveloperRecursivePoolside
ReleasedOct 21, 2026Jul 2, 2026
Parameters?39.8B, 2.5B active33B, 3B active
Context window?262K262K
Local speed?131 tokens/s69 tokens/s
LicenseApache 2.0Open weights

Flint main features

Built for coding agents, fast on a laptop, a 262K context window and open weights.

Code editor with Flint's fix in retry.ts, one idempotency key per order, and a terminal with 86 tests passed

Built for coding agents

Flint is trained to work like a coding agent: it reads the code, plans a change, calls tools, edits files and runs commands until the tests pass. Recursive reports 74.2% on SWE-bench Verified, a test of fixing real GitHub issues, and 54.9% on Terminal-Bench 2.1, a test of tasks in a terminal. It also follows instructions closely: 89.2% on IFBench, the best score among the models compared on this page.

Bar chart of local speed on a MacBook Pro with an M4 Pro chip: Flint 131 tokens per second, Laguna XS 2.1 69, Qwen3.6 35B A3B 66, Gemma 4 26B A4B 62, Muse Glimmer 30B 15, Qwen3.8 27B 13

Fast on a laptop

Only about 2.5 billion of Flint's 40 billion parameters work on each token, so it writes fast on ordinary hardware. On a MacBook Pro with an M4 Pro chip and 48 GB of memory, Flint writes about 131 tokens per second on a short prompt. That is twice as fast as Qwen3.6 35B A3B and about ten times faster than dense models of a similar size, such as Qwen3.8 27B and Gemma 4 31B.

A repository of 214 files in context with refresh.ts selected, and Flint's answer pointing to line 48, 182K of 262K tokens used

262K tokens of context

Flint keeps up to 262,144 tokens in view, prompt and answer together: about 200,000 words. In a coding agent that is room for a small repository, long logs and the whole history of the task, so Flint can trace a bug across files and keep earlier steps in mind.

Terminal with the commands to run Flint in Ollama, LM Studio and vLLM, and the model card: Apache 2.0, 39.8B parameters with 2.5B active, 262,144 tokens of context

Open weights under Apache 2.0

Flint's weights are on Hugging Face under the Apache 2.0 license, which allows commercial use. Run it with Ollama (a 23 GB download), LM Studio or vLLM; Recursive recommends at least 48 GB of unified or GPU memory. Plug it into coding agents such as OpenCode, Cline or Codex CLI, or chat with it on Overchat AI with nothing to install.

Why use Recursive Flint on Overchat AI

One account for chat, images and video, on every device.

Superchat splitting one request between Claude Opus 5.5 for the plan and Nano Banana 2.1 for the poster

Superchat AI agent

Superchat Agent automatically routes your message to the model best suited for the task. It can generate images and videos, use the AI tools built into Overchat AI, and learn from your interactions to get better over time.

Message field with a PDF, a spreadsheet and a dashboard screenshot attached and a voice message being recorded

Chat with images and files

Flint reads text only. To ask about a PDF, a spreadsheet or a screenshot, attach it and switch to a model that reads files, such as Claude or GPT-6, in the same chat. You can also dictate a message instead of typing it.

An image made with Nano Banana 2.1 and a surfing video made with Seedance 2.5

Go beyond text

Generate images with Nano Banana and GPT Image and videos with Seedance and Kling in the same account, with the same credits as chat.

Overchat AI on the web, iPhone and Android, and the Superchat screen of the iPhone app

On the web, iPhone and Android

Start a chat on your laptop and finish it on your phone. The Overchat AI app has the same models, and your chats stay in one account on every device.

Download on the App StoreGet it on Google Play

How to use Recursive Flint on Overchat AI

Start in the chat at the top of this page or in the Overchat AI app on the web, iOS or Android.

  1. The Models menu with Flint picked between GLM 5.3 and Kimi K2.7 Code
    1

    Pick Flint

    It is already picked in the chat on this page. In the Overchat AI app, open the model list next to the message field and choose Flint.

  2. Message field with a retry loop pasted in and the task: find the bug and fix it
    2

    Paste the code and describe the task

    Flint reads text, so paste the code, the error or the log into the message and say what you need: a fix, a test, a refactor or an explanation.

  3. Flint's answer about the idempotency key and a follow-up asking for a test
    3

    Keep going in the same chat

    Ask for a test, a shorter version or another approach, or switch to another model without losing the conversation.

Explore other models

Every model below is in the same Overchat AI chat as Flint.

Learn more about local LLMs

All articles

Ready to try Recursive Flint?

Paste your code or describe the task, and Flint answers in the Overchat AI chat.

Chat with Flint

Recursive Flint FAQ

If you have any questions,
reach out to us at hello@overchat.ai

Recursive Flint is an open-weight coding model from Recursive, released on October 21, 2026. It is a mixture-of-experts model with 39.8 billion parameters, about 2.5 billion of them active per token, and a context window of 262,144 tokens. It is built for coding agents and runs on a laptop with 48 GB of memory.

Flint is the first model of Recursive, an AI company led by Richard Socher, who is also the CEO of You.com. Recursive says its Eureka Machine, a system for automated AI research, helped build nearly every part of Flint: the data, the training recipes, the optimizers, the quantization and the inference kernels. A small team of people and agents built the model from scratch in under four months.

Flint has 39.8 billion parameters in total. It is a mixture-of-experts model: each layer has 256 experts, 6 of them plus one shared expert work on each token, so only about 2.5 billion parameters are active at a time. That is why it writes fast on a laptop.

Flint's model card gives 262,144 tokens, shared by the prompt and the answer. Recursive's blog says Flint can go up to 512K tokens but recommends staying within 256K.

Recursive recommends at least 48 GB of memory: a Mac with an M4 Pro, M5 Pro or M5 Max chip and 48 GB of unified memory, or a GPU with 48 GB. The Ollama build is a 23 GB download. LM Studio lists 24 GB of system RAM for the smallest build, but the full context may not fit in it. The full BF16 weights take about 80 GB and run on one H200 or B300 GPU.

You can run Flint with Ollama (ollama run flint), LM Studio, llama.cpp, SGLang and Recursive's own engine rec, and the model card gives a vLLM command. Recursive's docs recommend the Pi agent and also cover OpenCode, Cline, OpenHands and Codex CLI.

No. Reasoning is always on in Flint: it thinks before every answer. For hard problems Recursive recommends leaving room for at least 32,768 output tokens, reasoning included.

Flint's weights are released under the Apache 2.0 license, which allows commercial use, changes and redistribution. Recursive's hosted API has its own terms, separate from the weight license.

No. Flint takes text in and writes text out. Paste code, errors and logs into the message as text. To ask about an image or a PDF on Overchat AI, attach it and switch to a model that reads files, such as Claude or GPT-6, in the same chat.

Type your message in the chat at the top of this page and press Send. After you sign in, Flint answers in the Overchat AI chat, where you can keep the conversation going on the web, iOS or Android and switch to another model at any time.