Pay your taxes with Claude Code
Episode #47: How connecting Claude Code to Playwright MCP automated my tax return and revealed a bigger pattern

This year, I used Claude Code to fill my tax return.
I know. Taxes. How is that relevant to Software engineering. Bear with me.
This article isn’t really about taxes. Taxes are just the problem that pushed me to discover something much bigger.
The real story is about connecting tools in ways you didn’t expect. About turning a painful, weeks-long process into a few hours of work.
If you’re a software engineer, this matters to you. Not because of taxes. Because this pattern works for anything that happens in a browser. Batch-fill job applications. Automate web scraping. Test web applications. Scrape data at scale. Whatever repetitive browser work is eating your time, this unlocks it.
No AI browser was harmed in this process. Instead, I used Playwright MCP to give Claude Code direct control over my browser.
The tax return was just the catalyst. The real pattern is much bigger.
The Problem: Why Tax Returns Feel Impossible
Every January, I spend weeks filling out HMRC forms. Hundreds of questions. Complex income streams from stocks, side projects, and savings. The math is easy. The form is not.
I looked up accountants. Some were expensive, some might have actually helped, but it felt like overkill for someone who could probably figure this out themselves.
I tried tax software next.
But here’s the thing: most UK people don’t need to fill tax returns at all. If you work for a single employer, the system handles it for you.
Tax software is designed for the majority, not for someone like me with multiple income streams. I had stocks from my previous company, side income from mentoring, Substack revenue, sand avings interest.
My situation was slightly more complicated than most, but it didn’t fit the simple templates tax software was built for.
Last year, I got Claude Code to write Python code to calculate my total income, handle capital gains, all of it. That worked great.
But here’s the thing. The math was only 5% of the problem.
The other 95% was filling out the actual form. Understanding what each question meant. Figuring out which questions applied to my situation. Typing the right answers in the right boxes. That’s where I was losing weeks every year.
The Solution: Playwright MCP
Why AI Browsers Failed
I wanted Claude to actually read the form. See the questions in context, understand what each box was asking for. I tried Claude’s Chrome extension. Seemed perfect at first. Claude looking at my browser, helping me fill forms.
One problem. It only supported the older Haiku model. I’ve been using Opus, which is way smarter.
I looked at other AI browsers like Comet by Perplexity and others. Same issue. They locked me into weaker models. No Opus. No choice.
But there was a bigger problem I didn’t see at first.
These AI browsers had no access to my local data. My income calculations. My savings files. My bank statements. They could only see the form itself. That meant I had to manually copy-paste my data, which defeated the whole purpose of automation.
How Playwright MCP Works
Then I realised the approach was backwards.
Instead of bringing Claude Code into the browser, I needed to bring the browser to Claude Code. That meant finding a way for Claude to control my browser through proper automation, not through a limited Chrome extension.
I looked it up and found it. Playwright MCP. MCP stands for Model Context Protocol, Anthropic’s way of letting Claude access external tools. There’s a Playwright MCP that bridges Claude and Playwright together.
The setup is straightforward. Install the tool, add configuration to your Claude Code config file, tell it where Playwright is, and you’re done.
Suddenly Claude could see your browser, read the content, fill form fields, navigate pages, take screenshots. No copy-pasting. Claude actually looks at the form and fills it.
But the real magic? You keep access to everything on your machine. Your local files. Your income data. Your calculations. And you’re not locked into a weaker model. You can use Opus for complex reasoning. Switch to Haiku for fast form filling. You’ve got options.
That’s the difference. AI browsers give you sight into the form. Playwright MCP gives you full context plus full control.
In Practice: My Tax Return
This year I tested it on my tax return and the difference was night and day.
I went from spending weeks wrestling with forms to just a few hours, spread over a couple of days.
Here’s what actually happened. I asked Claude to navigate to the HMRC form, read each question, and fill in my answers based on my income data. Claude could see the form. It could read what each field was asking for. And because I had all my calculations locally, Claude had full context.
The best part wasn’t even the automation.
It was the conversations. Because Claude had access to every question on the form, I could ask it to explain things. Why does this field matter? Does this apply to my situation? It was like having a private accountant sitting next to me. One that costs nothing beyond a Claude Pro subscription. Not even Max. Just Pro.
Voice + Browser Automation: Combining Tools for Power
Do you want to know the best part of this experience?
Actually, while I was filling my taxes this way, I was also using my voice to ask Claude questions.
No typing. Just speaking. “Claude, why does this field matter? What does this mean?” All while Playwright was filling forms in the background. That’s when I realized how powerful combining these tools really is.
If you’re interested in learning how I stopped typing most of my AI prompts, check out my article at Talk to your AI agent: the ultimate vibe coding.
What You Can Do With This Pattern
I built my tax filling learnings into a reusable Claude Code skill I can trigger next financial year.
If you want to learn more about why Claude Code skills are a game changer, check out my article on Claude Agent Skills: Teaching Your AI Agent to Wear Multiple Hats.
But taxes were just the starting point. Think about what’s happening in your business. Where do people spend weeks filling out forms? Job applications. Expense reports. Data migration. Customer onboarding. Any repetitive web task that requires human judgment.
Now you have a tool for it. Claude Code plus Playwright MCP. Web scraping. Batch form filling. Testing. Data automation. Anything that happens in a browser.
You get full automation with human reasoning. Full access to your local context and data. And you’re not locked into a weaker model. You can use whatever Claude model makes sense for the task.
Conclusion
That’s the pattern. Voice. Browser automation. Local files. Three tools that weren’t designed to work together, now solving problems that seemed impossible.
Innovation isn’t about writing code anymore. It’s about connecting existing tools creatively. Playwright MCP proved that to me. A library I’ve used for years, suddenly powerful when connected to Claude Code.
The tax return was just the catalyst. This pattern works for anything that happens in a browser. Web scraping. Form filling. Job applications. Data automation.
What creative tool combinations have you found? What problem have you solved by wiring two things together that weren’t meant to work?
Drop a comment or reach out on LinkedIn. I’d love to hear what you’re building.
References
Claude Code - Anthropic’s official CLI for Claude with integrated tool access
Playwright MCP - Model Context Protocol server that bridges Claude Code to Playwright browser automation
Model Context Protocol (MCP) - Open protocol for connecting Claude to external tools and data sources
Playwright - Cross-browser automation library for web testing and form automation
Claude Agent Skills: Teaching Your AI Agent to Wear Multiple Hats - How to build reusable Claude Code skills and why they’re transformative for automation
Talk to your AI agent: the ultimate vibe coding - How voice-to-text unlocks a faster, smarter way to work with AI through natural conversation


This is absolutely genius! Great work!!
Impressive move flipping the architecture from bringing Claude to the browser to pulling browser into Claude's context. The local file access detail is understated but crucial, tax forms without linked data sources are basicaly useless. Ran into the same wall last year trying web scrapers that couldn't reference my csvs.