I Quit Claude Code Twenty Times. Now It Reads Every Annual Report I Own.
The non-technical analyst's guide to wiring your research library into an AI that actually reads it.
I gave up on Claude Code twenty times.
Maybe more. I lost count somewhere around attempt fifteen.
Every time went the same way. I’d read a tweet about someone doing something incredible with it, feel the fear of missing out kick in, open a terminal window on my Mac, type a few commands I barely understood, get a cryptic error, close the terminal, and tell myself the same lie: “I’m a finance guy. This isn’t for me. I’ll stick with the chat window.”
Then last month, something broke that pattern.
Not because Claude Code got easier. It didn’t. The terminal still looks exactly as scary as it did two years ago.
What changed was the reason to stay.
I found a way to give Claude Code a brain, a real, grounded, zero-hallucination research brain. Every annual report I own. Every earnings transcript I’ve downloaded. Every consultancy PDF sitting in my Downloads folder. All of it, indexed, cited, queryable, from one window.
Attempt twenty-one stuck.
This is what I wish someone had told me before attempt one.
Before we go further — a confession, and a reframe
If you’ve been following Alpha with AI for a while, you know I’ve spent months teaching Claude Cowork. The interface. The projects. The skills library. The $100K Research Framework I published earlier this month runs entirely on Cowork.
I’m not walking any of that back. Cowork is the right tool for most of what most analysts do, most of the time.
But I owe you the truth about something.
There is a layer underneath Cowork. It’s called Claude Code. And once you cross over, you don’t go back for the heavy lifting.
Think of it like this.
Cowork is your Bloomberg terminal interface: visual, guided, polished, curated. Everything you need is a click away. No learning curve beyond knowing where to click.
Claude Code is the raw data feed: direct, unfiltered, infinitely configurable. Every senior trader who’s spent ten years on a desk eventually memorises the keyboard shortcuts and stops using the mouse. It’s not that the mouse is bad. It’s that the shortcuts are faster, deeper, and do things the mouse can’t.
Same thing here. Cowork got me in the door. Claude Code is what I reach for when I want to do things Cowork can’t do.
Today’s story is about one of those things.
What I was chasing, and why I kept quitting
Here’s the problem I’ve been trying to solve for about a year.
My research library is enormous. Annual reports going back five years for every company I cover. Earnings call transcripts. Sector reports from McKinsey, BCG, Deloitte, and every Indian consultancy worth reading. Regulatory filings. Trade body publications. My own notes and memos. Thousands of pages across hundreds of PDFs.
All of it useless when I actually need to answer a question.
Because when I want to check something, “has management mentioned China+1 in the last four concalls?” — I can’t just ask. I have to open each PDF, use Ctrl-F, scroll through, read context, copy-paste into a doc. Repeat for each source. Forty minutes later I have an answer.
“But wait, I already have Drive connected to Claude and Notion connected to ChatGPT.” I hear you. So do I, and I use both. But those connectors blend your files with the model’s training data, and they pick the top few matching chunks rather than read everything. That’s fine for finding a slide; it’s the reason I lost months of research in early 2024 when I trusted AI outputs I couldn’t verify. NotebookLM solved that for me, if the answer isn’t in your sources, it says so, and every claim comes with a citation you can click through to the exact passage. That story sits at the heart of the industry research playbook.
But here’s where I stayed stuck for a year.
NotebookLM is a website. Every query lives in my browser. I can’t reach it from other tools. I can’t chain it into a workflow. I can’t hand it to my research process, it’s a separate app I have to remember to open. Even once I was using NotebookLM religiously, I was the bridge between it and everything else. Manually.
What I wanted was for my NotebookLM notebook to be a service. Something Claude could call on its own. Something that sat behind everything else I was building.
That’s exactly what Claude Code + NotebookLM does.
The moment it clicked
Last week I found a skill on GitHub called notebooklm-py. Unofficial, built by a developer named Teng Lin. 10,400 stars. The description was simple: it lets AI agents like Claude Code talk directly to your NotebookLM notebooks.
I installed it on my Mac.
Fifteen minutes later, I was asking Claude Code a question about the specialty chemicals industry, and Claude was reaching into my NotebookLM notebook, querying only the sources I’d approved, and answering me with citations pulled from my own library.
No copy-paste. No browser tab. No Ctrl-F.
Just a conversation with a research assistant who had already read everything in my folder.
That’s the moment I should have had two years ago.
Okay, but isn’t Claude Code for coders?
This is where I stopped the first twenty times, so let’s handle it head-on.
Claude Code looks like it’s for coders. The screenshots you’ve seen online usually show a terminal window with green text and a lot of what looks like magic. That’s intimidating. It intimidated me for two years.
Here’s what I learned on attempt twenty-one:
Claude Code is not a coding tool. It is Claude, with hands.It’s the same Claude you talk to in the chat window. Same voice, same intelligence. The only difference is that this version of Claude can read files on your computer, run commands on your behalf, and install skills that extend what it can do. The “coding” part is just one of the many things it can do and unless you ask it to write code, it won’t.
Better still, you don’t have to live in a terminal.
Claude Code runs in three places:
Inside Cursor: an app that looks and feels like a chat window, with the power of Claude Code underneath. This is what I use, and it’s what I’ll walk you through below. Cursor is “VS Code on steroids” if that means anything to you. If it doesn’t, forget the phrase, Cursor is just a clean, quiet app where you type questions to Claude and watch it work.
Inside the Claude desktop app: the same Claude app you already use. Claude Code lives inside it now as a feature. No separate tool to install. If you want the softest possible entry, start here.
In your terminal: the hardcore option. You don’t need this. I barely use it.
Two paths, one destination. Pick whichever one looks less scary.
The install — plain English, nothing hidden
Before we start, one thing you need to internalise. It’ll change the whole experience.
If anything in this section throws an error, don’t think. Don’t Google. Don’t panic. Copy the error message, paste it into Claude (the regular chat window you already know), and tell it: “I’m installing Claude Code and ran into this. Help me fix it.” Nine times out of ten, Claude will give you the exact next command to run. If you want to go nuclear, paste this entire section of the newsletter into Claude along with the error, it’ll know exactly where you are in the process and what to try.
You’re not debugging as a programmer. You’re handing an error back to Claude and asking for the fix. That’s it. Keep that in your back pocket, and the fear of the terminal disappears.
Two reference pages worth bookmarking, if you want to go deeper, or if Claude needs context to help you debug, feed it these:
Official Claude Code setup docs: code.claude.com/docs/en/setup
The NotebookLM skill GitHub page: github.com/teng-lin/notebooklm-py
Now, pick your path before we start.
Step 1: Pick your path
There are two ways to get Claude Code running on your machine. Pick the one that fits you. You don’t do both.
Path A: Claude desktop app (easiest, no terminal). If you already have the Claude desktop app installed, you’re most of the way there. Claude Code is built into the desktop app as a separate section in the sidebar. No terminal, no install commands, no config files. If you don’t have the app yet, download it from claude.ai/download, install it, open it, find the Claude Code section, sign in with your Claude Pro ($20/month) or Max subscription. Done.
If you pick Path A, skip straight to Step 4. You can ignore Steps 2 and 3.
Path B: Terminal + Cursor (what I use). More power, slightly more setup. Claude Code runs as its own tool on your computer, and you talk to it inside Cursor, a clean workspace that feels like a chat window with Claude’s full agentic capability behind it. This is the path I personally use for serious research work.
If you pick Path B, continue to Step 2.
Step 2: (Path B only) Install Claude Code
No Node.js. No app downloads. One command in your terminal. Anthropic now ships a native installer that handles everything in one step.
On Mac, open Terminal (hit Cmd + Space, type terminal, press Enter), paste this, press Enter:
curl -fsSL https://claude.ai/install.sh | bashOn Windows, open PowerShell (hit the Windows key, type powershell, press Enter), paste this, press Enter:
irm https://claude.ai/install.ps1 | iexPlain English for both: “Go to Anthropic’s website, download the Claude Code installer, and run it.”
Windows users: if the installer tells you it needs Git for Windows, let it guide you through that or download it yourself from git-scm.com before running the command above. Git for Windows is a one-time install; Claude Code uses it under the hood. Leave all the default settings when you install it.
When the installer finishes, close your terminal window and open a new one. This matters, your computer needs a fresh terminal session to recognise that Claude Code is now installed.
Then sign in. Type this into your fresh terminal and press Enter:
claudePlain English: “Start Claude Code.”
Now it may ask you to log in via Anthropic API or OAuth your Claude subscription. You can choose your Claude subscription.
A browser tab opens and asks you to sign in. Use your Claude Pro ($20/month) or Max subscription. Either works. Done.
Step 3: (Path B only) Install Cursor
Download Cursor from cursor.com. Install it like any other app. Open it. It looks like a clean code editor, don’t let that scare you; you won’t be coding. It has a chat sidebar where you talk to Claude Code. That’s the window you’ll live in from here on.
Step 4: Install the NotebookLM skill (everyone does this step)
This is where your two paths rejoin. Whether you’re on the desktop app or Cursor, the NotebookLM skill install works the same way.
The easy way, let Claude Code do it for itself. Open Claude Code (in the desktop app or in Cursor) and paste this message:
“Please install the notebooklm-py skill for yourself. The GitHub page is https://github.com/teng-lin/notebooklm-py. Follow the ‘Agent Setup’ section. After installing, run notebooklm login so I can authenticate my Google account, then run notebooklm skill install to register the skill. Walk me through each step and ask for confirmation before running commands.”
Claude Code will run the commands on your behalf, ask for your approval at each step, and handle the Google login flow when it reaches that part. This is the path I’d recommend, it’s literally what Claude Code is built for.
The fallback, do it yourself in the terminal. If Claude Code hits trouble, or if you’d rather do it manually, open a terminal and paste these three commands one at a time:
pip install "notebooklm-py[browser]"playwright install chromiumnotebooklm loginA browser window will open on the last command. Sign in with the Google account you use for NotebookLM. Close the browser.
Then finally:
notebooklm skill installPlain English for all of it: “Install the NotebookLM library, install an invisible browser it uses to talk to Google, log me in, and register the skill with Claude Code.”
You’re done. If any step errored out, you know the drill, paste the error into Claude, get the fix, keep moving.
A quick note on MiniMax (optional, only if you don’t want a Claude subscription)
Everything above assumes you have a Claude Pro or Max subscription. If you don’t, and don’t want to buy one just to experiment, there’s a cheaper alternative called MiniMax M2.
MiniMax is a Chinese AI lab whose M2 model is designed to slot into Claude Code as a replacement engine. Claude Code can’t tell the difference, it just talks to MiniMax’s servers instead of Anthropic’s. Their token plans start at $10, $20, or $50 a month, and independent reviewers report roughly 85% of Claude’s code quality at about 7% of the cost. For the equity research workflows we’re building, it’s more than enough.
The setup takes two minutes. Here it is:
1. Subscribe to the MiniMax Token Plan at https://platform.minimax.io/subscribe/token-plan . Pick the tier you want.
2. Grab your Token Plan API key from your MiniMax account page after subscribing. Copy it. Keep it handy.
3. Let Claude handle the rest. Open the regular Claude chat window and paste this:
“I’ve subscribed to the MiniMax Token Plan. I want to use MiniMax M2.7 as the backend for Claude Code on my [Mac / Windows] machine instead of Anthropic. Walk me through configuring it, step by step, beginner-friendly, and give me every command I need to run. Here is the official MiniMax setup guide for reference: https://platform.minimax.io/docs/token-plan/claude-code — use it to generate the exact instructions for my machine.”
Claude will give you the exact steps tailored to your system. Paste your API key when it asks for it, follow the instructions, and you’re done. Restart Claude Code, and you’re running the same interface with MiniMax underneath.
The first question
I opened Cursor. I started a new chat with Claude Code. I typed:
“Use the NotebookLM skill to query my Indian Specialty Chemicals notebook. Tell me what the annual reports I’ve loaded say about China+1 and quote the exact passages.”
Claude Code thought for a second. Then it opened a connection to NotebookLM, found my notebook, queried it, and came back with a list of specific quotes from specific annual reports, with source citations pointing to the exact documents in my notebook.
Every answer grounded. Every citation traceable. Zero hallucinations.
That’s it. That’s the whole thing.
A forty-minute Ctrl-F exercise, done in 120 seconds. Against sources I trust. With citations I can verify.
The specialty chemicals notebook was incidental
I want to be honest about something.
I used my Indian Specialty Chemicals notebook for this demo because it was already built, the one I walked through in the industry research playbook and made publicly available to all readers.
But this newsletter isn’t about specialty chemicals.
The point is the setup. Once NotebookLM is wired into Claude Code, anything you load into a notebook becomes queryable by an AI that can actually do work with the answers.
Let me put this in concrete terms. Here’s what opens up:
→ Load every 10-K from your coverage universe into a notebook. Ask Claude Code to build a comparison table of gross margins, capex intensity, and free cash flow yield across all of them. Export as CSV. Forty companies, thirty seconds.
→ Load the last eight concall transcripts for a single company. Ask Claude Code to build a timeline of how management’s tone on a specific topic (pricing, demand, capex) has shifted quarter by quarter. Get the answer with exact quotes and dates.
→ Load every RBI policy document from the last two years. Ask Claude Code which banks in your portfolio are most exposed to the changes. Grounded in the actual regulatory text.
→ Load every sector report you’ve ever downloaded into one master notebook. Treat it as your second brain. Ask it questions you’d normally forget you had sources for.
→ Build separate notebooks per theme, one for AI infrastructure, one for India defence, one for semiconductors and have Claude Code pull from whichever one you point it at, depending on the question.
→ Use NotebookLM’s auto-generation features from inside Claude Code: turn a notebook into a podcast (for your commute), a mind map (for a team walk-through), a slide deck (for a client meeting), a structured data table (for your model). All grounded in your sources.
Every one of these was impossible for me a month ago. Not expensive. Not slow. Impossible, because the sources lived in my Downloads folder and my research brain lived in a chat window and there was no bridge between them.
Now there is.
What this actually changes
The thing most analysts don’t realise about AI is that grounding is everything.
A model that doesn’t know your sources will make things up. Confidently. With formatting. You’ve seen it. You may have lost money to it, I did.
A model that is forced to answer only from sources you’ve vetted is a different animal. It doesn’t “know” things. It reads the material you gave it and tells you what’s there. If the answer isn’t in the material, it says so. That’s not a limitation. That’s the whole point.
NotebookLM gave us that discipline in the browser.
Claude Code + NotebookLM makes that discipline composable. Queryable from inside a larger workflow. Plug-in-able to every other research task you’re doing.
You stop thinking of NotebookLM as a website. You start thinking of it as a research layer that sits behind everything. A sources brain. And Claude Code is the interface that lets every other tool in your stack tap into it.
That’s the shift.
Where to start
If you’ve read this far and you’re feeling the same pull I felt on attempt twenty-one, here’s what I’d do:
First, read the industry research playbook if you haven’t. That’s the framework for building a notebook worth querying. A Claude Code + NotebookLM stack is only as good as the sources you’ve loaded. Garbage in, elegant garbage out. Build the notebook properly first.
Second, run the install steps above. Give yourself an hour. Not a tutorial hour, a real one. Coffee on the desk, phone face-down, don’t expect it to work the first time. The first attempt will have a hiccup. That’s normal. Read the error, paste it into Claude, ask Claude what it means. Fix it. Move on.
Third, start small. Don’t try to rebuild your entire research workflow on day one. Pick one question you’ve been putting off because it would take too long. Point Claude Code at the right notebook. Ask the question. See what comes back.
That first answer will sell you on the rest.
Related watch: AI is making researchers lazy. Here's how to fix it.
What’s next
Next issue I’m going to take one of my notebooks and have Claude Code generate few things which might be good hacks for investment research, product research, and use it for building a real robust system for analysts.
If you want that, make sure you’re subscribed.
And if this newsletter saved you from attempt twenty-two through forty at Claude Code, forward it to a friend who’s still staring at their terminal wondering if it’s worth the effort. It is.
🧰 Free and Premium Resources from Shikshan Nivesh
If you want the frameworks, prompts, and workflows I use across my research stack, free and paid, they all live in one place: shikshannivesh.com. The industry research playbook, the $100K Research Framework, the Kill Report prompt, and more. Everything built for analysts and investors who’d rather spend their time thinking than clicking.
🤝 Help Us Grow This Circle
Thank you for reading and supporting Alpha with AI. If you share this edition with even one person who might find it valuable, it means the world to us and helps this project reach those who need it most.
At Shikshan Nivesh, our goal is simple, to make financial research faster, smarter, and more accessible.
We believe investing should start with understanding and every newsletter we write is built to reflect that.
Written by Shubham Borkar | Research & Insights by Shikshan Nivesh AI Team
Financial Clarity. Insightful Ideas.
Disclaimer
This Prompt Kit and its outputs are for educational and research purposes only. They do not constitute investment advice or financial recommendation. Always verify disclosures and consult qualified professionals before making investment or business decisions.






