Morning Edition LIVE
Vol. I · No. 1
Est.
MMXXVI

The A.I. Beat

Dispatches from the frontier of machine intelligence
Three
Dollars
← Front page Tools & Releases May 25, 2026 · 5 min read
Tools & Releases

Datasette 1.0a30 Adds Extensible Jump Menu for Plugins

Simon Willison's latest Datasette alpha opens up a new plugin system for quick navigation, plus a handful of tools that already use it.
Datasette 1.0a30 Adds Extensible Jump Menu for Plugins

Datasette 1.0a30 shipped this weekend with something that sounds small but opens up interesting possibilities: a customizable “Jump to…” menu that plugins can extend.

Hit / anywhere in Datasette and you get a command palette-style search interface. That’s useful on its own. But the real change is the new jump_items_sql() plugin hook, which lets any plugin add its own searchable items to that menu.

The Datasette blog post goes into detail, but the short version is that this creates a standard entry point for plugin functionality. Instead of hunting through menus or remembering URLs, you can surface plugin features in one consistent place.

What’s Already Using It

Simon shipped a couple of plugins alongside the alpha to demonstrate the hook.

datasette-agent 0.1a4 adds “Start a new agent chat” to the jump menu. If you’re signed into agent.datasette.io with GitHub, hitting / now surfaces the agent interface directly. Small change, but it makes the agent feel more integrated instead of bolted on.

datasette-fixtures 0.1a0 is more niche. It exposes the fixture database API that Datasette’s own test suite uses, so plugin authors can use the same test data. You can run it without installing Datasette using uvx:

uvx --prerelease=allow \
  --with datasette-fixtures datasette \
  --get /fixtures/roadside_attractions.json

This one is purely for plugin developers, but it’s a nice quality-of-life improvement if you’re writing tests.

Why This Matters

Datasette’s plugin ecosystem is already pretty robust. But discoverability has always been a problem. Plugins add features, but users have to know they’re there.

A standardized jump menu gives plugins a consistent surface area. The JavaScript side of this is handled by a new makeJumpSections() hook, which means plugins can add items without touching Python if they don’t need to.

This is the kind of infrastructure work that pays off over time. Right now there are two plugins using it. In six months, if the pattern holds, hitting / in Datasette might surface a dozen different plugin actions. That’s when it starts feeling less like a collection of plugins and more like a cohesive tool.

Who Should Care

If you’re already using Datasette in production, this is worth upgrading for. The jump menu is a clear usability win even without plugins.

If you maintain a Datasette plugin, the new hooks are straightforward to implement. The datasette-agent code is a good reference if you want to see how it works.

If you’ve never used Datasette, this isn’t the feature that’s going to sell you on it. But if you’re exploring it, the 1.0 alpha series is getting close to stable. Now’s a reasonable time to kick the tires.

Side Note: The Usborne Thing

One of the weekend’s items wasn’t a tool release, just a fun rabbit hole. Simon Willison found that Usborne published free PDFs of their 1980s computer books and fed one into Claude to recreate a game he typed in as a kid.

This isn’t news, but it’s a nice example of using LLMs for something other than generating boilerplate. Taking a scanned BASIC program from 1983 and getting a working web version out the other end is the kind of task these models are actually good at.

If you grew up typing in code from magazines, those Usborne PDFs are worth a nostalgic browse.

developer tools tools