No more AI in my IDE

I turned off all the AI features that have been shoved into my text editor. They’re distracting.

For the last three years I’ve scrambled to find comfort in my dev environment while the landscape shifts monthly: new apps, new plugins, new integrations. Switching back and forth between IDEs and the latest “agentic development” tooling gave me the feeling of productivity, but surely has been a huge waste of time. In the process of (unsuccessfully) porting keybindings and settings repeatedly, a decade of muscle memory began to atrophy. The only constant that has survived is codex-cli. It gets out of the way.

I re-settled on Zed three months ago and committed to keeping it that way. AI is transformational for software development. I just don’t want it in my text editor anymore. At least not the way it’s done today. Hijacking tab autocomplete was great for a while but this can’t be the future of writing code.

I imagine the product manager responsible for an “AI-first CRM” will have a harder time bolting their vision onto the boundaries of Salesforce than they will starting from a blank canvas. AI-first experiences require wholesale reimagining; developer enablement is no different. Codex recently launched a desktop app that took a stab at that reimagining. What they came up with is… relegating text editing to a small dropdown in the header? Weird. My whole job is text. Another distracting tool.

The codex desktop app

Dismissing it forced me to think more about how I work. My workflows with codex-cli mostly fall into two categories: (1) pair programming; long design sessions in cli while I collaborate in Zed, and (2) articulating discrete, small, well-defined tasks in a separate session and (almost always) accepting the result. Said another way, I’m (1) doing all of the fun, design-heavy work that brings me joy, and (2) sequentially delegating well-shaped tasks.

Looking back, that second category has never required an IDE. I’ve shipped discrete tasks off to new colleagues with little-to-no context my whole career. Very rarely have I needed more than a clean .patch and green CI to accept or reject changes. That “blind trust” depended entirely on my deep understanding of the system1. The more comfortable I became with the system, the more reliably I could describe work, hand it off to somebody with no context, and not be surprised by what came back. If the work went off the rails, I could usually track it down to an assumption I hadn’t communicated.

Whether OpenAI intended it or not, the Codex desktop app tests (and rewards) deep understanding of your system. For delegating discrete, well-defined work, it has turned out to be a better experience than any other tooling precisely because it has no attachment to my text editor. It’s a blank canvas. I decide how threads pick up tasks, how they’re tested for correctness, and how I accept or reject changes. I’m limited only by how well I can articulate the work and how comfortably I can review a change without my editor; then I just need to feed it a backlog. I would never tell a new colleague to go wild on a poorly defined rearchitecture of my system, so I don’t use it for that. When the work goes off the rails I don’t have to worry about messaging or emotions. I trash it blindly, re-clarify, and start it over.

Call me an OpenAI shill2, but Codex (the desktop app) has found its place in my toolkit. And it helps me continue using my text editor the way I want. For writing text.

I just wish they’d implement natural language -> terminal command suggestions in codex-cli. AI autocomplete in my terminal is similarly frustrating and has been disabled. For now, c.sh does the job.


  1. I haven’t (yet) found any shortcuts to reliably develop this sense; AI hasn’t displaced us quite yet!

  2. Their plans are also just such a good deal. Here’s a dump of my last 10 days of usage.

    • Date (UTC)InputCached InputOutput
      2026-02-1626,275,19825,190,656123,712
      2026-02-1715,543,62114,371,072108,362
      2026-02-188,022,1547,233,28036,702
      2026-02-1915,720,06714,948,73687,715
      2026-02-205,345,2015,019,39257,713
      2026-02-21000
      2026-02-22000
      2026-02-23986,775905,60016,781
      2026-02-241,626,9931,520,51216,899
      2026-02-2561,895,31658,803,328344,728
      2026-02-269,303,2678,977,79229,294
      2026-02-27287,524149,5041,010