Tau: The Self-Modifying, Browser-Based Agent
The power of Claude Cowork, the ability to self-modify, all running in the browser? That's Tau.
Distributing Agents through the Browser
Agents. One of the simplest concepts that can do some crazy shit.
Agents are LLMs, running a while loop, with access to tools. The state of the art agents, like Claude Code, Codex, Amp, and Pi, give the agent the all powerful tool: bash. With bash, anything is possible (on the computer).
I think of them like this:
conversation = []
while true:
user_input = get_user_input()
llm_output = llm(user_input)
if llm_output.should_do_something():
something_result = do_something(llm_output)
conversation.append(user_input, llm_output, something_result)Doing something can mean basically anything: run a bash command, pull a blog post and read it, update your calendar, send a telegram message, and so on. It’s the access to bash that allows for doing something arbitrary, something that’s unforeseen before the moment that it must be done, that makes these loops powerful.
The LLMs that we interact with in the browser as chatbots, like at chatgpt.com and claude.ai, are semi-agents. They run the LLM calls and tools in a loop, but their use of bash is limited because they run bash on a server, not your computer, without any meaningful data or impact. That’s why Anthropic released Claude Cowork, which is basically running those agents on your computer so it can run bash there.
That’s nice, but to use it requires downloading an application.
What if we could just visit the agent in the browser? Paul Kinlan published The Browser is the Sandbox with application Co-do that runs what’s effectively Claude Cowork in the browser. This is done through the browser’s filesystem API which gives websites the ability to read and write files to directories that the user permits.
Since the web is the best in the world at product and app distribution, what more can we do there?
Self-Modification: The Magic of Pi
My favorite coding agent is Pi. It’s a minimal agent harness that has at its base all the features of Claude Code and Codex. It’s different because it has a minimal system prompt and more importantly, an extension system that allows you to modify Pi’s behavior by adding skills and hooks that run during the agent lifecycle.
What’s brilliant is this: Pi is self-modifying. It knows about itself and can read its own code and documentation, so it can write new extensions for itself and then reload them without needing to start a new session.
You can be working on a coding feature, have some nice context built up, and then ask Pi to modify itself to better do thing X. It uses the context of the conversation to build that extension. Once built you can continue the conversation, still with that context, and use that extension to achieve your goals.
Self-modification is big. You’re not limited by what the designer of the agent harness could think of and had time to implement. You’re in control of the capabilities, the limits, the imagination of what the coding agent can do.
Tau: Pi in the Browser
Miguel and my hackathon project was this: let’s take the self-modification capability of Pi with the browser distribution of Co-do and see what we can make.
The result was Tau (named for the mathematical constant equal to 2π).
Tau is a Javascript library that gives you developer-friendly access to a full coding agent, right in the browser. You can prompt, have conversations, use the virtual file system, and call the LLM with one easy import. If you and the agent self-modify by adding an extension, that’s preserved in the virtual filesystem and auto-imported each time the browser opens.
We built a number of examples that use Tau to demonstrate its capabilities. You can check those out on the Tau website. The most basic one is Chat. It’s the experience you’re familiar with, just chatting with an agent.
To use the examples, you’ll need an OpenRouter API key. We chose OpenRouter because they support every model and it’s easy to limit how much your API key can spend, so you don’t accidentally end up with a $10,000 bill.

What’s Next
Well, that’s it for now. The hackathon is over. Miguel is at the Recurse Center continuing to study LLMs, and I’m back to my day job of building websites and apps.
I’m sure I’ll come back and hack on Tau when I read a good Simon Willison blog post and want to try out an idea. You’re welcome to use it and we’re happy to fix bugs and add features on request.
If you do use it, send us a note and let us know how your experience was.
I’m taking on new clients for website and app projects. I’ve been leaning into Three.js lately — building visualizations and animations that help clients show their work & story in a more engaging way. You can check out my recent work in my portfolio.
If you’re interested, please reach out at contact@alexledger.net!
Thanks to Cat Neshyba for helping with editing this post. I highly recommend Cat’s services if you’re looking for a freelance editor for Substack, blogging, short stories, fanfic, novels, and more. Free consultation and free feedback on the first piece!


