I filed my own taxes with Claude in one sitting. Last year it took me seven hours.

A messy multi-source ITR-3 (foreign freelance income, F&O, capital gains, a buyback) filed with Claude Code in one sitting. Reconciled to the rupee, two notice-triggering errors caught, and for the first time I understood my own return. The full playbook, plus the open-source skill.

TL;DR: My return is the messy kind: foreign freelance income, some F&O, capital gains, dividends, and a share buyback I barely understood. Last year it took seven hours and I still hit submit unsure. This year I did it with Claude Code in one sitting, reconciled every rupee to source, and caught two errors that would have triggered notices. Claude does the thinking; I do the authenticated clicks. It never logs into my tax account. Playbook below, and the whole thing is an open skill you can steal.

Indian tax filing runs on a specific kind of learned helplessness. The form is hostile, the rules change every year, and most people I know just pay someone a few thousand rupees to make the anxiety go away, then stay a stranger to their own money for another year.

My return is the kind that makes that tempting. Foreign consulting income, a bit of F&O, some capital gains, dividends, and a share buyback I understood just well enough to be scared of it. That mix forces ITR-3, the heaviest individual form, roughly twenty-four schedules deep. Last year I spent seven hours in it, guessed at half the boxes, and hit submit with the quiet certainty that I had gotten something wrong.

This year I did the whole thing with Claude Code in one sitting, and caught two errors that would have earned me notices.

The part that actually surprised me had nothing to do with speed. For the first time, I understood my own return.

The one rule everything rests on

Say this out loud before you start:

Claude does the thinking. I do the clicks that matter.

It parses the files, reconciles the income, computes the tax to the rupee, picks the form, maps every number to the right schedule, and catches the mistakes. I download the files, pay the challan, and hit submit and e-verify. It never logs into the income-tax portal. It never submits anything. Those steps run on my PAN login and my Aadhaar OTP, and they stay mine.

That is not a limitation I am apologizing for. It is the reason handing your taxes to an AI is sane instead of reckless.

Step one: three files

Log into the portal and download three things:

  1. Last year's filed ITR (JSON). Tells Claude your form, your regime, your history.
  2. This year's pre-filled JSON. The portal's own auto-populated data: TDS, dividends, interest.
  3. Your AIS and TIS. The department's master list of everything it can already see about you.

Drop them in a folder. That is your entire prep. The pre-filled JSON is not meant to be read by humans, it is built for the offline utility, and it does not matter. Claude reads the raw JSON and pulls out every figure.

Step two: the reconciliation, where the fear goes away

Then I gave it the thing no tax guide ever asks for: my full-year bank statement. All of it, over a thousand transactions.

It summed my foreign-income credits and matched them to the rupee against my remittance dashboard. It confirmed my interest income lined up with the AIS exactly. And then it did the tedious thing I never actually do: it sorted the real income from the noise. A big chunk of my UPI credits turned out to be rent splits with flatmates and money moving between family, not income. Cash coming back from my trading account was my own money returning, not earnings.

Ten minutes of that replaced hours of me scrolling a statement muttering "wait, is this income?"

But do not mistake this for magic. Pretending it is would be the fastest way to file a wrong return. Claude proposed which credits were income and which were noise, and it was right about most of them. Not all, because it cannot know my life. A credit that looks like a flatmate paying me back could just as easily be a client who ran two weeks late. Those calls it hands back to me, and it should. It proposes; I decide. That handoff is not a crack in the setup, it is the setup.

This is the step people skip, and it is the whole game. A number you can trace to a bank credit is a number you can defend. A number you guessed is a future notice, and a mismatch notice is not a slap on the wrist. It is the department writing to say your figures do not match theirs, then weeks of you proving over email that you were not hiding anything.

The moment it earned its keep

Here is where reading my data beats any listicle. Roughly how one exchange went (company and figures changed for privacy):

Me:     Reconcile my capital gains against the broker P&L and the AIS.

Claude: One flag before I do. Your AIS lists a large "dividend" from a
        company you hold. It's far too big to be a normal dividend on
        that holding. Your broker report shows a separate "Buyback P&L"
        line for the same company, same amount.

        This isn't a dividend and it isn't a capital gain. It's a share
        buyback. Since 1 October 2024, buyback proceeds are taxed as a
        deemed dividend, at slab, in Schedule OS.

        Right now you'd count it twice: once inside your capital gains,
        once as the AIS dividend. That overpays and still mismatches.
        I'm removing it from the capital-gains figure so it lands once.

I would have gotten that wrong. Confidently. The buyback showed up in two documents, under two different labels, and the "obvious" reading was the expensive one. Claude traced it across the bank statement, the broker report, and the AIS, and counted it exactly once.

The other one it caught

The portal's schedule-picker did not auto-add the Capital Gains schedule. Filing without it would have quietly dropped share sales that the department already has on record. That is not a gray area, it is a guaranteed mismatch notice. Claude checked my TIS, saw the sale value sitting right there, and stopped me: you are missing this schedule, add it.

Neither of those is in any "how to file your ITR" post. Both came from an AI actually reasoning over my documents instead of reciting general advice.

Compute, fill, pay, verify

With the numbers pinned, it produced the full computation: 44ADA presumptive math, the F&O loss set off against business income, the capital-gains treatment, the exact tax, and the interest owed for skipping advance tax. When we reached the portal, its number matched the portal's own, to the rupee. Independent confirmation, for free.

Then it walked me through the online ITR-3 one schedule at a time: what goes in each box, what to leave zero, and why. Every cryptic validation error ("fill particulars in Sl. No 6 of Part-A BS") got screenshotted and answered in seconds.

Last steps are mine, and the order matters. Pay the self-assessment tax first, enter the challan, confirm the balance reads ₹0, then submit. File with a balance owing and you buy yourself a demand notice plus interest. Then e-verify with the Aadhaar OTP, because an unverified return counts as not filed. People forget that one and think they are done.

Claude Code session summary confirming my ITR-3 for FY2025-26 is filed and e-verified: return type ITR-3 for AY 2026-27, status filed and Aadhaar-OTP verified and officially closed, with a recap listing the two errors it caught, the missing Capital Gains schedule and the double-counted buyback. Income, the acknowledgement number, and the company name are redacted.

That screenshot is the real thing, the moment the return came back e-verified. I have blocked out the income, the acknowledgement number, and the company name; nothing else is touched. The recap even lists the two errors it caught, the missing Capital Gains schedule and the double-counted buyback, and ends where this whole post does: most people pay a few thousand rupees for a worse version of this.

What this actually buys you

Not the six hours. The six hours are nice.

The real thing is that I can no longer be bluffed about my own money. I know why the buyback is a dividend now and not a capital gain. I know which of my bank credits are income and which are my flatmate paying me back. A bad CA can't wave any of that away, and next year this takes twenty minutes instead of seven hours.

And here is the part I keep coming back to. The tax department cannot actually see my foreign income. No Indian client, no TDS deducted, no line for it in their system. I could have left it off the return and nobody would have come knocking. I declared all of it, to the rupee. Not out of some tax-day virtue, out of plain self-interest: the cleanest return you can file is the one with nothing left to find, and the only way to sleep well with an unusual income is to be the most transparent person in the room. Understanding my return is what let me make that call on purpose instead of by accident.

That is the difference between "AI did my taxes," which should worry you, and "AI taught me to do my taxes right," which is the version worth having.

The honest caveats

Claude is not a chartered accountant, and neither am I. For a return this tangled, a CA's thirty-minute review is cheap insurance. Claude got the structure and the numbers right and verified them against primary sources, but it is a tool that makes you competent, not a licensed stand-in.

AI can misread and hallucinate. Which is the entire reason reconciliation matters. Every figure got cross-checked against bank, AIS, and broker. If a number can't be traced to a source, it does not go in the return. Full stop.

Your data stays yours. Everything ran on local files on my machine. Nothing left it except what I typed into the chat. Keep your PAN, your account numbers, your statements in local, private files.

Steal the whole thing

I packaged this exact process as an open Claude Code skill: itr-filing, part of my claude-skills repo (MIT). Drop the itr-filing folder into your ~/.claude/skills/, open Claude Code, and say "help me file my ITR." It looks up the current year's rules first (they change annually), asks for the documents, reconciles them, computes to the rupee, and walks you through the portal. You still do every authenticated click. It bakes in the long list of gotchas that trigger notices, including the two that caught me.

Filed with Claude Code. The AI reconciles, computes, and catches errors; the human downloads, pays, and clicks submit. That split is the whole trick, and it is why it is both fast and safe.

Not tax advice. Verify every figure against primary sources, and get a CA to glance at anything complex. But do it yourself, at least once. The point was never the speed. It was that I stopped being a stranger to my own money.

FAQ

Does Claude log into my tax account or file for me?

No. Claude never touches the income-tax portal. You download the files, pay the tax, submit, and e-verify. Claude reads your documents, reconciles them, computes the tax, and catches errors. Every authenticated click stays yours. That division of labor is the whole system, and it is what keeps it safe.

Is this a replacement for a chartered accountant?

No. Claude is not a CA and neither am I. For a return with foreign income, trading, and capital gains, a CA's short review is cheap insurance. Claude makes you competent to understand and check your own return; it is not a licensed substitute.

Is my financial data safe?

It stays on your machine. Everything runs on local files. Nothing is uploaded anywhere except what you type into the chat. Keep your PAN, account numbers, and statements in local, private files.

Can it handle a messy multi-source return?

Yes, that is the point. Freelance income under 44ADA, F&O losses, capital gains, dividends, and a buyback all at once. Claude parses each document, reconciles them against your bank statement and AIS, and maps every figure to the right ITR-3 schedule.