Original: Simon Willison · 17/02/2026
Summary
Rodney v0.4.0 introduces several new features for the CLI tool, including improved error handling, new commands for testing, and enhanced support for Windows.Key Insights
“Errors now use exit code 2, which means exit code 1 is just for check failures.” — Release notes for Rodney v0.4.0
“New rodney assert command for running JavaScript tests, exit code 1 if they fail.” — Feature addition in Rodney v0.4.0
“I’ve been using Showboat to create demos of new features.” — Author’s experience with the tool
Topics
Full Article
17th February 2026 Rodney v0.4.0. My Rodney CLI tool for browser automation attracted quite the flurry of PRs since I announced it last week. Here are the release notes for the just-released v0.4.0: Errors now use exit code 2, which means exit code 1 is just for for check failures. #15 New rodney assert command for running JavaScript tests, exit code 1 if they fail. #19 New directory-scoped sessions with —local/—global flags. #14 New reload —hard and clear-cache commands. #17 New rodney start —show option to make the browser window visible. Thanks, Antonio Cuni. #13 New rodney connect PORT command to debug an already-running Chrome instance. Thanks, Peter Fraenkel. #12 New RODNEY_HOME environment variable to support custom state directories. Thanks, Senko Rašić. #11 New —insecure flag to ignore certificate errors. Thanks, Jakub Zgoliński. #10 Windows support: avoid Setsid on Windows via build-tag helpers. Thanks, adm1neca. #18 Tests now run on windows-latest and macos-latest in addition to Linux. I’ve been using Showboat to create demos of new features - here those are for rodney assert, rodney reload —hard, rodney exit codes, and rodney start —local. The rodney assert command is pretty neat: you can now Rodney to test a web app through multiple steps in a shell script that looks something like this (adapted from the README): #!/bin/bash set -euo pipefail FAIL=0 check() { if ! ”*” FAIL=1 fi } rodney start rodney open “https://example.com” rodney waitstable # Assert elements exist check rodney exists “h1” # Assert key elements are visible check rodney visible “h1” check rodney visible “#main-content” # Assert JS expressions check rodney assert ‘document.title’ ‘Example Domain’ check rodney assert ‘document.querySelectorAll(“p”).length’ ‘2’ # Assert accessibility requirements check rodney ax-find —role navigation rodney stop if [ “$FAIL” -ne 0 ]; then echo “Some checks failed” exit 1 fi echo “All checks passed”Related Articles
Introducing Showboat and Rodney, so agents can demo what they’ve built
Simon Willison · explanation · 59% similar
Agentic manual testing - Agentic Engineering Patterns
Simon Willison · how-to · 56% similar
I'm Boris and I created Claude Code. I wanted to quickly share a few tips for using…
Boris Cherny · how-to · 47% similar
Originally published at https://simonwillison.net/2026/Feb/17/rodney/#atom-everything.