datasette-agent 0.3a0

Simon Willison's Blog Tools

Summary

Datasette Agent 0.3a0 adds an execute_write_sql tool that requests user approval before writing to a database, along with CLI enhancements and unsafe mode for auto-approval.

No content available
Original Article
View Cached Full Text

Cached at: 06/16/26, 01:01 AM

# Release: datasette-agent 0.3a0 Source: [https://simonwillison.net/2026/Jun/15/datasette-agent/](https://simonwillison.net/2026/Jun/15/datasette-agent/) > - New tool,`execute\_write\_sql`, which requests user approval and then writes to a database \- taking user permissions into account\.[\#27](https://github.com/datasette/datasette-agent/issues/27) I added a mechanism for asking user approval in[datasette agent 0\.2a0](https://simonwillison.net/2026/Jun/10/datasette-agent/)\. The new`execute\_write\_sql`tool can now prompt the user for all kinds of useful operations\. Here's an example where I add some pelican sightings to my`pelican\_sightings`table: ![Screenshot of a chat interface showing a write SQL confirmation dialog. User message (blue bubble): "I saw 4 pelicans flying over the harbor". Collapsed tool section: "► Tool: execute_write_sql". A yellow-bordered confirmation card reads: "Confirm write SQL batch / Database: pelicans / Statements execute in order. If one statement fails, later statements will not be executed. / Statement 1 / INSERT INTO pelican_sightings (number_of_pelicans, notes) VALUES (:number_of_pelicans, :notes); / number_of_pelicans 4 / notes Flying over the harbor". A table with columns "Operation, Database, Table, Required permissions" shows row: "insert, pelicans, pelican_sightings" with permission buttons "insert-row", "update-row", "delete-row". Below: "Execute 1 write SQL statement against database 'pelicans'? / Asked by tool: execute_write_sql" with "Yes" (blue) and "No" (gray) buttons.](https://static.simonwillison.net/static/2026/i-saw-pelicans-agent.jpg) The new version also enhances the`datasette agent chat`terminal mode to support approvals, and adds several new options including`\-\-unsafe`mode for auto\-approving them: > - `datasette agent chat`can execute tools that require user approval\.[\#30](https://github.com/datasette/datasette-agent/issues/30) - Three new options for`datasette agent chat`\-`\-\-root`to run as root,`\-\-yes`to approve all ask user questions, and`\-\-unsafe`for both\. - Tools can now provide plain text alternatives to HTML, for display in the`datasette agent chat`CLI\.[\#31](https://github.com/datasette/datasette-agent/issues/31) The`datasette agent chat content\.db \-m gpt\-5\.5 \-\-unsafe`command can now be used to chat directly with a specific database*and*directly modify it through prompts like "create a notes table", "add a note about X" etc\.

Similar Articles

datasette-agent 0.2a0

Simon Willison's Blog

datasette-agent 0.2a0 adds the ability for tools to ask user questions mid-execution and a new save_query tool that requires human approval.

datasette-agent 0.1a2

Simon Willison's Blog

datasette-agent 0.1a2, a new alpha release of the datasette-agent tool, is now available.

datasette-agent 0.1a3

Simon Willison's Blog

Datasette-Agent 0.1a3 is released with UI improvements including 'View SQL query' buttons, better handling of empty reasoning chunks, and improved truncated response display.

datasette-agent 0.4a0

Simon Willison's Blog

Datasette Agent 0.4a0 adds a new browser_task() mechanism, letting plugin tools run JavaScript directly in the user's browser. This enables new debugging capabilities for Datasette Apps.

datasette 1.0a31

Simon Willison's Blog

Datasette 1.0a31 introduces the ability to execute write queries and save stored queries (renamed from canned queries) for users with appropriate permissions, enhancing data editing capabilities.