How I tricked Claude into leaking your deepest, darkest secrets
A security researcher tricked Claude's web_fetch tool into leaking private user data by exploiting a loophole in URL navigation rules.
SimonWillison.net is the long-running blog of Simon Willison, a software engineer, open-source creator, and co-author of the original Django framework. He writes about Python, Django, Datasette, AI tooling, prompt engineering, search, databases, APIs, data journalism, and practical software architecture. The blog includes detailed notes from experiments, conference talks, and real projects. Readers will find clear explanations of topics such as LLM workflows, SQL patterns, data publishing, scraping, deployment, caching, and modern developer tooling. Simon also publishes frequent micro-posts and TIL entries that document small discoveries and tricks from day-to-day engineering work. The tone is practical and research oriented, making the site a valuable resource for anyone interested in serious engineering and open data.
340 articles from this blog
A security researcher tricked Claude's web_fetch tool into leaking private user data by exploiting a loophole in URL navigation rules.
GitHub Dependabot now waits three days before opening version update PRs, improving dependency cooldown.
Creating a custom Codex Desktop pet named Pedalican using GPT-5.6 and image generation.
Lobste.rs migrated from MariaDB to SQLite, improving performance and reducing costs.
Datasette 1.0a37 release: an open-source multi-tool for exploring and publishing data with performance and documentation improvements.
A guide to caching uvx tools in GitHub Actions using UV_EXCLUDE_NEWER for faster, offline-friendly workflows.
Simon Willison explores a GitHub code-frequency chart for Datasette, showing coding agents' impact on his output.
Explores the concept of Directly Responsible Individuals (DRI) and argues that AI agents should not be DRIs due to lack of accountability.
Release notes for shot-scraper 1.11, a CLI tool for website screenshots, video demos, and JavaScript scraping with minor improvements.
Anthropic extends Claude Fable 5 access on paid plans amid competition with OpenAI's GPT-5.6 Sol.
Release notes for sqlite-utils 4.1.1, a Python CLI and library for SQLite, fixing a foreign key transaction edge case.
sqlite-utils 4.1 release: new CLI features like --code for inserts, --type for column types, drop-index command, strict mode support, and more.
Nilay Patel discusses privacy trade-offs in augmented reality glasses, highlighting the need for constant camera recording and cloud processing.
Simon Willison quotes OpenAI's clarification on ChatGPT Work, discussing cloud and desktop app boundaries.
OpenAI releases GPT-5.6 family (Luna, Terra, Sol) with pricing, benchmarks, and new API features like programmatic tool calling and multi-agent support.
Announcement of Muse Spark 1.1 with API access, improved agentic tool calling, and computer use capabilities.
Release of llm-meta-ai 0.1, an LLM plugin for the Meta AI API supporting the muse-spark-1.1 model.
Release notes for llm 0.31.1, a command-line tool for accessing large language models, with a bug fix for OpenAI Chat Completion endpoints.
Jarred Sumner details rewriting Bun from Zig to Rust using AI coding agents, highlighting memory safety and test suite benefits.