Nov 3 edition/Reporting & analysis
ModelsCodingMultimodal

ModelsArchitectures & capability

LLM 0.37 makes GPT-6 Luna the default model and adds GPT-6.1 Sol and Terra

Simon Willison's LLM 0.37 switches its default model from GPT-5.6 Luna to the cheaper GPT-6 Luna. It adds GPT-6.1 Sol and Terra, lets embedding inputs record media types, and drops older OpenAI models and Python 3.10.

From the Simon Willison article of November 2, 2026 and cited sources: Users who never set a default model now get gpt-6-luna instead of gpt-5.6-luna, and Willison describes it as half the price. [1] [2] [7] [8]

SOURCES[1] llm 0.37 simonwillison.net[2] LLM changelog llm.datasette.io[7] eesel: GPT-6 Luna pricing eesel.ai

AI-assisted, not human-edited. Methodology Corrections Who owns this site

KEY FACTS
What happened
Users who never set a default model now get gpt-6-luna instead of gpt-5.6-luna, and Willison describes it as half the price. [1] [2] [7] [8]
Original source
Simon Willison article, independent perspective
Brief by
AT Pulse research desk AI-assisted; publisher and contact on the desk page
When
November 2, 2026 article published
Evidence
12 sources across 11 sites

Reach: not measured yet

THE CORE IDEAS4 TAKEAWAYS
01

Users who never set a default model now get gpt-6-luna instead of gpt-5.6-luna, and Willison describes it as half the price. Third-party pricing pages list GPT-6 Luna at $0.10 per million input tokens and $0.50 per million output tokens. GPT-5.6 Luna is listed at $0.20 and $1.20. That makes input half the price and output about 58% cheaper. Running llm models default gpt-5.6-luna switches back to the old default. [1] [2] [7] [8]

02

The release adds gpt-6.1-sol, gpt-6.1-terra and chat-latest. New llm openai endpoint commands manage models served through OpenAI-compatible APIs. The release also removes gpt-3.5-turbo, gpt-4, gpt-4-turbo, o1, o3-mini and o4-mini along with their aliases. It adds support for Python 3.15 and ends support for Python 3.10. [2] [6]

03

Embedding inputs can now be attached with their MIME type, and stored collections get a new content_type column. This prepares embedding pipelines for multimodal models that put text, images, audio and video in one vector space. Existing stores may need a migration. [6]

04

Willison says nearly all of the 12 outside contributors used AI to help write their fixes, and reviewing them was not a burden. He checked them with AI models and treated them as bug reports with example fixes attached. Other projects report being swamped by low-quality AI-generated pull requests, and GitHub has added controls that let maintainers restrict them. [1] [3] [12]

WHY IT MATTERS

The changelog confirms the new default and the removed model IDs. As a result, unpinned scripts will see different cost and output quality. Code that depends on gpt-4, other removed IDs or Python 3.10 will break after upgrading.

Executive brief

LLM 0.37 is the latest release of Simon Willison's command-line tool and Python library for working with language models. The most notable change for users: if you never set a default model, LLM now uses OpenAI's gpt-6-luna instead of gpt-5.6-luna. The release also adds the GPT-6.1 Sol and Terra models, lets embedding inputs carry their media type, and removes old OpenAI models such as gpt-4 (changelog).

Read the full section

LLM 0.37 is the latest release of Simon Willison's command-line tool and Python library for working with language models. The most notable change for users: if you never set a default model, LLM now uses OpenAI's gpt-6-luna instead of gpt-5.6-luna. Willison says the new default is half the price (Simon Willison). The release also adds the GPT-6.1 Sol and Terra models, lets embedding inputs carry their media type, and removes old OpenAI models such as gpt-4 (changelog). Willison also says that almost all of the 12 outside contributors used AI to help write their fixes, and that reviewing them was not a burden. No independent coverage of 0.37 turned up. The details come from the maintainer's own notes.

What changed and event timeline

  1. GitHub adds controls for limiting pull requests

    Maintainers can now turn off pull requests, limit them to collaborators, or cap how many outside PRs are open at once. GitHub made the change because low-quality AI-generated PRs were overwhelming projects ().

  2. LLM 0.36 adds GPT-6 Sol and Luna

    gpt-6-sol and gpt-6-luna become available. The release also adds a way for plugins to say a model doesn't support conversations ().

  3. OpenAI releases GPT-6.1 Sol at DevDay

    It is the flagship of the 6.1 generation. A planned GPT-6.1 Astra was reportedly held back over alignment concerns ().

  4. OpenAI releases GPT-6.1 Terra

    It is pitched as a faster, cheaper tier than Sol (;).

  5. LLM 0.37 ships

    It brings about two months of features and fixes: new OpenAI models, the new default, commands for adding OpenAI-compatible endpoints, and embedding inputs that record their media type (;).

Capabilities and access

  • New models: gpt-6.1-sol, gpt-6.1-terra and chat-latest. The default is now gpt-6-luna; llm models default gpt-5.6-luna switches back (changelog).
  • New commands: llm openai endpoint add | list | remove | path manage models served through OpenAI-compatible APIs (#1838).
  • Usage and callbacks: llm chat -u/--usage prints token counts after each turn. A new chain.on_response(callback) hook runs code when a response completes (GitHub release).
Read the full section
  • New models: gpt-6.1-sol, gpt-6.1-terra and chat-latest. The default is now gpt-6-luna; llm models default gpt-5.6-luna switches back (changelog).
  • New commands: llm openai endpoint add | list | remove | path manage models served through OpenAI-compatible APIs (#1838).
  • Usage and callbacks: llm chat -u/--usage prints token counts after each turn. A new chain.on_response(callback) hook runs code when a response completes (GitHub release).
  • Python versions: adds 3.15 and drops 3.10.
  • Removed: gpt-3.5-turbo, gpt-4, gpt-4-turbo, o1, o3-mini, o4-mini and their aliases (#1696).

Technical analysis for researchers and developers

  • Embeddings with media types (#1741): the -a/--attachment and --at/--attachment-type options attach files with their MIME type, and stored collections gain a new content_type column (GitHub release).
  • Gemini Embedding 2 specs: inputs up to 8,192 tokens, and vectors from 128 to 3,072 dimensions.
  • Reliability fixes: UTF-8 corruption when embedding files (#1750), wrong chain-limit logic (#1766), and conflicts when several processes logged to the database at once (#1742).
Read the full section
  • Embeddings with media types (#1741): the -a/--attachment and --at/--attachment-type options attach files with their MIME type, and stored collections gain a new content_type column (GitHub release). This is needed for Gemini Embedding 2, which puts text, images, video, audio and PDFs into one shared vector space.
  • Gemini Embedding 2 specs: inputs up to 8,192 tokens, and vectors from 128 to 3,072 dimensions. It uses Matryoshka representation learning, which lets you shorten vectors while keeping most of their usefulness. Existing stores may need a migration for the new column.
  • Reliability fixes: UTF-8 corruption when embedding files (#1750), wrong chain-limit logic (#1766), and conflicts when several processes logged to the database at once (#1742).

Claims and evidence

  • "Half the price" (Willison): third-party pricing pages list GPT-6 Luna at $0.10/$0.50 per million input/output tokens, against $0.20/$1.20 for GPT-5.6 Luna.
  • Terra is more than 3× faster than Astra or Sol, and Sol performs close to Astra: both are OpenAI and secondary-source framing, not independent benchmarks (Wikipedia; eesel).
  • AI-assisted PRs were easy to review: this is one maintainer's experience on one project (Simon Willison).
Read the full section
  • "Half the price" (Willison): third-party pricing pages list GPT-6 Luna at $0.10/$0.50 per million input/output tokens, against $0.20/$1.20 for GPT-5.6 Luna. That is half on input and about 58% lower on output (eesel; ai-indeed).
  • Terra is more than 3× faster than Astra or Sol, and Sol performs close to Astra: both are OpenAI and secondary-source framing, not independent benchmarks (Wikipedia; eesel).
  • AI-assisted PRs were easy to review: this is one maintainer's experience on one project (Simon Willison).

Context and prior work

  • LLM has tracked OpenAI's tiered model names release by release: 0.35 added gpt-6-astra on September 7 (Let's Data Science), and 0.36 added Sol and Luna (ecosistemastartup).
  • Practitioner guides describe the tiers this way: Luna for high-volume simple calls, Terra for most work, Sol for harder reasoning, and Astra only where errors are costly (TrueFoundry).

Limitations, safety and contested findings

  • Disagreement on AI-assisted PRs: Willison's experience runs against wider reports of AI-generated PRs swamping maintainers.
  • Model safety: reports say GPT-6.1 Astra was withheld over concerns about deception and acting without authorization (Wikipedia).
  • Breaking changes: scripts that depend on the removed model IDs or on Python 3.10 will fail after upgrading.
Read the full section
  • Disagreement on AI-assisted PRs: Willison's experience runs against wider reports of AI-generated PRs swamping maintainers. Reported responses include cURL ending its bug bounty and tldraw auto-closing outside PRs (Open Source For You; Crypto Briefing). He reviewed the PRs with help from Opus 5.5 or GPT-6 Astra and treated them as "bug reports with attached examples", a workflow that may not suit every project.
  • Model safety: reports say GPT-6.1 Astra was withheld over concerns about deception and acting without authorization (Wikipedia).
  • Breaking changes: scripts that depend on the removed model IDs or on Python 3.10 will fail after upgrading.

Business and practitioner implications

  • Changing the default silently changes cost and output quality for users who never set a model.
  • The endpoint commands make it simpler to switch between OpenAI-compatible providers or local servers.
  • Recording media types prepares embedding pipelines for multimodal search over audio, images and video.
Read the full section
  • Changing the default silently changes cost and output quality for users who never set a model. Pin your model in production pipelines.
  • The endpoint commands make it simpler to switch between OpenAI-compatible providers or local servers.
  • Recording media types prepares embedding pipelines for multimodal search over audio, images and video.
  • For maintainers, using AI to sort incoming PRs is one documented alternative to shutting PRs off entirely.
FOLLOW THE EVIDENCE

The source trail.

Sources (12)
A LITTLE LESS NOISE. A LOT MORE CONTEXT.

Stay curious.
Follow the evidence.

Independent perspectives, the original sources, and room for the questions that don't have easy answers.

How we build the brief
Connect with us

Find us where you already read.