Claude Code is the IDE I didn't know I needed.

A short, practical report from someone who has now mostly stopped opening VS Code. What changed, what got better, and the two things that took longer to get used to than I expected.

For about a decade my default for writing code was Visual Studio Code. Then, briefly, Cursor — the same editor with an AI panel bolted on. Both fine. Then I tried Claude Code, which is not an editor at all. It's a terminal agent that lives in your project, reads your files, runs your commands, and edits things on your behalf. After about a month I'd stopped opening VS Code for most of my work.

This post is the practical version of why.

What it actually is

Claude Code is a CLI you launch inside a project directory. You type natural language; it has tools — Read, Write, Edit, Bash, Grep, and a few more — that it uses to inspect and modify your codebase. You see every action it's about to take before it takes it. You can approve, deny, or refine. It also reads a file called CLAUDE.md at the project root, which is where you put the conventions and behaviours you want it to follow.

That's the whole interface. No autocomplete popup. No sidebar of suggestions. No “AI panel.” Just a conversation with something that can actually do things in your project.

The shift

The thing that broke my brain at first: I wasn't writing code anymore. I was describing code. The act of editing migrated from “hands on keyboard, characters appearing” to “hands on keyboard, intent appearing.” The agent does the typing.

That sounds bad if you imagine it as Copilot's autocomplete grown up. But it's the opposite. Autocomplete asks you to write code and offers to finish your sentences. Claude Code asks you to think about what you want and translates that into the file changes. The cursor is no longer where the work happens.

The cursor migrated from the editor to the conversation. Once you notice it, you can't unsee it.

The things that got better

Cross-file reasoning is now trivial

In an IDE, when I wanted to refactor something that touched four files, I'd open four tabs, jump between them, hold the context in my head, hope I didn't break anything. With Claude Code I describe the refactor and it does the four-file pass while I watch. If something needs to change in a fifth file I forgot about, it changes the fifth file too. Project-wide thinking is now the default thinking, not the expensive thinking.

The CLAUDE.md file is genuinely powerful

I put project conventions in there once, and they stop being a thing I have to remember. “Use Tailwind, not styled-components.” “Don't add comments unless they explain a why that's not obvious.” “Tests live next to the file they test, not in __tests__.” Every session inherits these. I stopped re-stating preferences on every prompt.

It does the boring parts I always procrastinated

Reading through a logfile to find the error. Writing tests for the thing I just finished. Updating the README to match what actually changed. Adding the right entries to .gitignore. None of these are hard. All of them are the work I'd skip when I was tired. The agent doesn't get tired.

The things that took longer to get used to

Letting the agent run commands felt wrong for about a week

The first time it offered to run my migration, I genuinely paused. There's something deep in the developer reflex that says “I run my own commands.” Once I let it actually do the work — and once I noticed it explicitly tells you what it's about to do before doing it — that reflex faded. The permission model is the friend, not the enemy.

I had to learn to write better prompts

“Fix this” is not a prompt. “The form on /signup silently fails when the email contains a plus sign — look at the validator in auth/signup.ts and the API handler in api/auth/register.ts and identify whether the issue is client-side or server-side” is a prompt. The quality of output scales with the quality of input in a way that's genuinely new. After a month I notice myself writing prompts with the precision I used to reserve for production code.

What it's not good for (yet)

It's worth being honest:

Net

The pitch isn't that Claude Code replaces VS Code for everyone or for every job. It's that for a particular shape of work — building features across files, refactoring with confidence, doing the operational scaffolding around a project — it's straightforwardly faster and more pleasant than the editor-first workflow I used for ten years.

The fact that the same agent also runs the operational repo behind Havenga Labs is gravy. One tool, one mental model, two jobs.

— ✦ —
§ Next in the notebook
The Dublin Padel League, one month in