AgentsAutonomy & tool use
datasette-agent 0.5a0 adds a side panel that shows Datasette pages and apps next to the AI chat
Version 0.5a0 of the open-source datasette-agent plugin adds a side panel that displays Datasette pages next to the chat. Paired with datasette-apps, it lets users describe a database-backed app, have it built, and keep revising it conversationally.
From the Simon Willison article of November 3, 2026 and cited sources: A new side panel shows Datasette pages beside the chat. [1] [2]
SOURCES[1] Simon Willison: Release datasette-agent 0.5a0 simonwillison.net[2] GitHub: datasette-agent 0.5a0 release notes github.com
AI-assisted, not human-edited. Methodology Corrections Who owns this site
- Original source
- Simon Willison article, independent perspective
- Brief by
- AT Pulse research desk AI-assisted; publisher and contact on the desk page
- When
- November 3, 2026 article published
- Covered
- Nov 6 edition
- Evidence
- 11 sources across 5 sites
- 1Simon Willison: Release datasette-agent 0.5a0simonwillison.net
- 2GitHub: datasette-agent 0.5a0 release notesgithub.com
- 3Datasette Blog: Datasette Agent launchdatasette.io
- 4Simon Willison: datasette-agent 0.3a0simonwillison.net
- 5Simon Willison: DSPy and Datasette Agent promptssimonwillison.net
- 6GitHub: datasette-agent 0.4a0github.com
Reach: not measured yet

A new side panel shows Datasette pages beside the chat. The agent opens pages in it through a show_in_panel tool. Combined with the datasette-apps plugin, a user can describe a database-backed app in a prompt, get it built, and keep editing it from the chat next to it. [1] [2]
Each conversation now stays on the model picked when it starts. Users can stop the agent mid-task and leave conversations running in the background. Typing # lets users reference tables, databases and stored queries to give the model context, and a new hook lets plugins define their own reference types. [2]
Generated apps run in iframes locked down by a Content Security Policy, which blocks network access unless specific HTTPS origins are allowed. Apps read data through query functions that follow Datasette's existing permissions. [9]
The release notes show the chat and a working app sharing one screen, with Datasette permissions controlling data access. Teams with SQLite data could build internal tools by chatting.
Read the full assessment
The app-building workflow is the developer's own claim, with no independent testing.
Sources are gathered, so I'm writing the dossier now.
datasette-agent 0.5a0: dossier
Executive brief
The new datasette-agent release puts the AI chat and a working app on the same screen. Version 0.5a0, an early alpha released on 3 November 2026, adds a side panel that shows Datasette pages next to the chat. Combined with the datasette-apps plugin, a user can describe a database-backed app in a prompt, get it built, and then keep changing it from the chat beside it (Simon Willison). The release also lets users pick a model for each conversation, tag tables with #, stop the agent mid-task, and leave conversations running in the background (GitHub release notes). No independent evaluation of this release has been found.
What changed and event timeline
Datasette Agent launches
An open-source alpha plugin that answers plain-language questions by writing SQLite queries. It is built on the LLM library and shipped with plugins for charts, image generation and sandboxed code execution ().
Write access behind approval (0.3a0)
A new
execute_write_sqltool asks the user for approval and respects their permissions before changing a database ().DSPy prompt evaluation
Willison tested the agent's system prompts with DSPy against a live instance. Schema listings without column names led the model to guess column names and get stuck in error-retry loops ().
Tools can run code in the browser (0.4a0)
A new
context.browser_task()mechanism lets agent tools run code in the user's browser ().Panel and references (0.5a0)
Adds the side panel and a
show_in_paneltool,#references, a stop button and conversations that persist in the background ().
Capabilities and access
- Version: datasette-agent 0.5a0, a GitHub pre-release. Requires Python 3.11+, datasette ≥1.0a41, datasette-llm ≥0.1a9 and llm ≥0.37.1 (release notes).
- Models: any tool-calling model the LLM library supports. The public demo runs Gemini 3.1 Flash-Lite.
- Access: a live demo at agent.datasette.io, which requires a GitHub sign-in.
Read the full section
- Version: datasette-agent 0.5a0, a GitHub pre-release. Requires Python 3.11+, datasette ≥1.0a41, datasette-llm ≥0.1a9 and llm ≥0.37.1 (release notes).
- Models: any tool-calling model the LLM library supports. Each conversation is fixed to the model chosen when it starts. The public demo runs Gemini 3.1 Flash-Lite. Local models such as gemma-4-26b-a4b have been tested through LM Studio (Simon Willison, May).
- Access: a live demo at agent.datasette.io, which requires a GitHub sign-in.
Technical analysis for researchers and developers
- Panel: the agent calls a
show_in_paneltool to open a page. - Context injection:
#references to tables, databases and stored queries add context for the model. - Query tooling: a new
describe_querytool.sql_querynow takes named parameters and returns timing data.
Read the full section
- Panel: the agent calls a
show_in_paneltool to open a page. On wider screens, links to the same site also open in the panel (release notes). - Context injection:
#references to tables, databases and stored queries add context for the model. A newregister_agent_reference_types()hook lets plugins define their own reference types, including search, linking, instructions and context. - Query tooling: a new
describe_querytool.sql_querynow takes named parameters and returns timing data. - Bug fix: system prompts were not reaching some model types; the fix needs llm 0.37.1.
- App sandbox: datasette-apps runs HTML/JS apps in iframes restricted by a Content Security Policy. Network access is blocked unless specific
https://origins are allowed. Apps reach data throughdatasette.query()anddatasette.storedQuery(), which follow Datasette's permissions (datasette-apps).
Claims and evidence
- "Prompt an app into existence, then edit it from the chat": this comes from the developer, and no reproducible demo or benchmark backs it (Simon Willison).
- Feature list: documented in the maintainer's own release notes (GitHub).
- Evaluation: the only structured evaluation is Willison's DSPy experiment. It reported qualitative failure modes, not improvement numbers (Simon Willison).
Read the full section
- "Prompt an app into existence, then edit it from the chat": this comes from the developer, and no reproducible demo or benchmark backs it (Simon Willison).
- Feature list: documented in the maintainer's own release notes (GitHub).
- Evaluation: the only structured evaluation is Willison's DSPy experiment. It reported qualitative failure modes, not improvement numbers (Simon Willison).
- Third-party coverage: none independent of the developer was found for 0.5a0. An earlier third-party review of 0.1a3 gives a cost estimate based on assumed pricing, which is a projection rather than a measurement (devaitools review).
Context and prior work
Datasette Agent connects two long-running projects: Datasette, Willison's tool for publishing and exploring SQLite data, and his LLM library for working with many models (Simon Willison, May). Earlier releases added asking the user questions (0.2a0), approved writes (0.3a0) and browser-run tools (0.4a0) (tag archive).
Read the full section
Datasette Agent connects two long-running projects: Datasette, Willison's tool for publishing and exploring SQLite data, and his LLM library for working with many models (Simon Willison, May). Earlier releases added asking the user questions (0.2a0), approved writes (0.3a0) and browser-run tools (0.4a0) (tag archive). The panel follows the same pattern as AI-native editors that show chat next to the thing being built, applied here to a database tool.
Limitations, safety and contested findings
- Alpha status: every release so far is an alpha, and the API is still changing (Datasette Blog).
- Security detail: the launch post does not explain how prompt injection or SQL safety are handled beyond the GitHub sign-in on the demo (Datasette Blog).
- Containment: writes require approval and the apps run in a sandbox. However, the CLI has an
--unsafeflag that auto-approves confirmations (0.3a0).
Read the full section
- Alpha status: every release so far is an alpha, and the API is still changing (Datasette Blog).
- Security detail: the launch post does not explain how prompt injection or SQL safety are handled beyond the GitHub sign-in on the demo (Datasette Blog).
- Containment: writes require approval and the apps run in a sandbox. However, the CLI has an
--unsafeflag that auto-approves confirmations (0.3a0). - Schema prompting: Willison's own DSPy experiment found that the way schemas are shown to the model causes guessed column names and retry loops (DSPy post).
Business and practitioner implications
- Fast internal tools: teams with SQLite or Datasette data could build small internal dashboards and apps by chatting, with permissions enforced by Datasette.
- Model choice: fixing a model per conversation makes it easier to compare cost and quality, including local models for sensitive data.
- Extensibility: the reference-type hook lets plugin authors connect their own domain objects to the agent's context.
Read the full section
- Fast internal tools: teams with SQLite or Datasette data could build small internal dashboards and apps by chatting, with permissions enforced by Datasette.
- Model choice: fixing a model per conversation makes it easier to compare cost and quality, including local models for sensitive data.
- Extensibility: the reference-type hook lets plugin authors connect their own domain objects to the agent's context.
- Production readiness: treat it as a prototyping tool for now. Pin versions, keep write approvals turned on, and do your own evaluation before relying on it.