2026-06-17

Simon Willison — 2026-06-17#

Highlight#

The deep dive into Z.ai’s GLM-5.2 model is today’s most significant read, offering a hands-on look at a new 753B parameter open-weights giant that is currently topping intelligence and coding benchmarks. It captures the rapid evolution of massive models and provides practical prompt testing on their UI-generation capabilities.

Posts#

GLM-5.2 is probably the most powerful text-only open weights LLM · Source Chinese AI lab Z.ai has released GLM-5.2, a massive 753B parameter open-weights model with a 1 million token context window. Simon notes it is currently leading the Artificial Analysis Intelligence Index and ranking second on the Code Arena WebDev leaderboard, which is deeply impressive for a text-only model lacking image inputs. He tested it via OpenRouter with his standard SVG generation prompts, finding it produced a flawless, self-contained animated pelican on a bicycle. However, it disappointingly failed to animate an opossum on an e-scooter, marking a regression from its predecessor, GLM-5.1.

2026-06-18

Simon Willison — 2026-06-18#

Highlight#

Simon has launched datasette-apps, a major new concept allowing developers and LLMs to build self-contained, sandboxed HTML+JS applications that run directly against a persistent Datasette backend. It brilliantly merges his ongoing experiments with “vibe-coded” single-file HTML tools, Claude Artifacts, and secure iframe sandboxing into a core feature of the Datasette ecosystem.

Posts#

Datasette Apps: Host custom HTML applications inside Datasette This post dives deep into the “why” and “how” behind the newly released datasette-apps plugin. The plugin allows tightly constrained iframe sandboxes to run JavaScript that executes read-only SQL queries or allow-listed stored write queries against a Datasette instance. Simon outlines the clever security architecture required to run untrusted code safely on an authenticated domain containing private data, relying on an <iframe sandbox="allow-scripts"> tag combined with an immutable, injected Content-Security-Policy (CSP) header. He also details porting his API communication from postMessage() to MessageChannel(), a defense-in-depth upgrade suggested by GPT-5.5. The plugin seamlessly integrates AI workflows by providing a copyable prompt—complete with database schemas—that users can drop into ChatGPT or Claude to instantly generate a working app. Additionally, Simon shares a fascinating security anecdote: before access was restricted, he used Claude Fable 5 to evaluate the product, and the model discovered a severe data exfiltration vulnerability related to CSP allow-listing, which he promptly patched by locking down domain-allow permissions to trusted staff.

2026-06-19

Simon Willison — 2026-06-19#

Highlight#

The standout insight today comes from a quote on the Model Context Protocol (MCP), highlighting how its real value lies in isolating authentication flows outside of an AI agent’s context window. It’s a sharp observation on how we should be architecting tool use and permissions for LLMs to make them safer and more robust.

Posts#

[Quoting Sean Lynch] · Source Simon highlights a sharp Hacker News comment from Sean Lynch regarding the Model Context Protocol (MCP). Lynch notes that the true advantage of MCP over traditional skills or CLIs is its ability to isolate authentication flows entirely outside of an agent’s context window. This framing suggests the idealized form of MCP might simply be an auth gateway for APIs, simplifying how LLMs interact with secured external resources.

2026-06-23

Simon Willison — 2026-06-23#

Highlight#

The standout news today is a massive step forward for Datasette’s mutation capabilities in the 1.0a35 release, introducing powerful new graphical interfaces for creating and altering tables. This shifts Datasette further from its read-only roots toward a full-fledged database management UI.

Posts#

datasette 1.0a35 Simon dropped a major pre-release for Datasette that introduces powerful new “Create table” and “Alter table” graphical interfaces, complete with their own backing JSON APIs. Users can now seamlessly define columns, NOT NULL constraints, and foreign keys, or modify existing tables by adding, dropping, or reordering columns directly from the UI. Additionally, the release formalizes the template context variables, generated directly from dataclass definitions, into a stable API for custom template authors to use until Datasette 2.0. Simon also shared a quick video demo walking through the new table mutation features.

2026-06-25

Simon Willison — 2026-06-25#

Highlight#

Today’s most substantive post tackles the critical issue of AI liability, highlighting Bruce Schneier’s perspective on a recent German court ruling against Google. It is a vital read for anyone tracking the intersection of generative AI, corporate accountability, and the legal frameworks shaping how these models are deployed in production.

Posts#

AI and Liability · Source Simon shares commentary from Bruce Schneier regarding a recent German ruling that holds Google legally responsible for errors and hallucinations produced by its AI overviews. Schneier argues forcefully that AI models act as agents for the organizations deploying them, meaning companies should face the exact same liability as if they had hired human writers. Allowing corporations to dodge accountability by blaming “faulty AI” would create disastrous incentives, ultimately encouraging businesses to replace human experts—like doctors or lawyers—with cheaper, unaccountable models.

2026-07-02

Simon Willison — 2026-07-02#

Highlight#

The standout update today is Simon’s release of a brand-new coding agent framework, llm-coding-agent 0.1a0, which he bootstrapped entirely using Claude Fable 5. It represents a significant step in evolving his popular llm library into a capable, tool-wielding agentic framework.

Posts#

llm-coding-agent 0.1a0 Simon released a new alpha tool that turns his llm library into a full-fledged coding agent. By prompting Claude Fable 5 in Claude Code to write the spec and build it via test-driven development, he shipped a CLI that includes file manipulation and command execution tools like edit_file and execute_command. He also highlights a neat Python API (the CodingAgent class) the AI implemented unprompted, and shared a successful test run where the agent built a SwiftUI ASCII time app using llm code --yolo.

Simon Willison

Simon Willison — 2026-07-13#

Highlight#

DOOMQL stands out as a wonderfully unreasonable experiment—running a Doom engine entirely in SQLite. It perfectly highlights the creative potential of AI-assisted programming when combined with Simon’s ecosystem, as he used Claude to instantly build a live-updating companion minimap using his new Datasette Apps plugin.

Posts#

DOOMQL · Source Peter Gostev used GPT-5.6 Sol to build a functional Doom-like game where SQLite acts as the game engine, handling everything from collision to a recursive CTE ray tracer for rendering. Simon took this a step further by using Claude Fable 5 and his Datasette Apps plugin to quickly generate a live-updating HTML and JavaScript minimap that reflects the game state in the browser while playing in the terminal. It is a brilliant showcase of using LLMs to push small sharp tools to their absolute limits.

Simon Willison

Simon Willison — Week of 2026-06-25 to 2026-07-03#

Highlight of the Week#

The single most impactful release this week was Simon’s launch of llm-coding-agent 0.1a0, which successfully turns his popular llm library into a full-fledged coding agent capable of file manipulation and command execution. Bootstrapped entirely using Claude Fable 5 via test-driven development, this represents a massive leap forward for his CLI ecosystem and a brilliant showcase of using frontier models to build the very tools that will orchestrate them.