Deep Dive: Why did DoorDash ship a CLI? - by Umang
SubscribeSign in
Deep Dive: Why did DoorDash ship a CLI?<br>A deep dive in shipping your own disintermediation: why a CLI and not an API, who it's for, how DoorDash measures something that moves no metrics, and what it risks.
Umang<br>Aug 04, 2026
Share
It all traces back to February 23, 2026, when shares of DoorDash slid 6.6%. No earnings report, no outage, and by gods grace no executive caught doing anything. Someone somewhere on the research firm had a written paragraph.<br>That paragraph described an economy where AI agents have developed sufficient ability to operate independently. They called this “habitual intermediation” and used DoorDash as the example of it. Essentially, the argument was that DoorDash's moat is that you are hungry, and lazy, and DoorDash happens to sitting on your home screen. An agent, though has got no home screen. It looks DoorDash, then Uber Eats, then the restaurant’s own website, then twenty vibe-coded substitutes and chooses whichever is cheapest. Every time.<br>This prompted a reply from Andy Fang, DoorDash’s CTO on X.
Why give birth to dd-cli?
Fang’s next post came five months later, on 15 July. This time with a deliberately humorous demo where an agent reads a message, parses JSON, examines the structure of a restaurant menu JSON response, creates and executes a python script that runs into an error but recovers and produces total. While it is running, the interface says: Flibbertigibbeting.
This was almost a reference to the old XKCD comic strip where a programmer issues the command sudo make me a sandwich and receives an OK.
It became an instant sensation on LinkedIn, X, Reddit niches and over lunch tables everywhere. Everyone shared it because command lines deploy code, they don't order lunch. The thing that I find fascinating is DoorDash was already using a Claude connector + ChatGPT integration + an assistant within their own app but they shipped a CLI. Each of them, at least stops and asks a human before any monetary movement occurs. Not the CLI.<br>DoorDash didn’t remove the confirmation step but instead decided to not build one and pushed the decision onto whoever writes the agent harness.
Infact, Gergely Orosz (Author, the Pragmatic Engineer) said he was surprised, and his logic is hard to dismiss. Food delivery is thin-margin. It survives by owning the customer relationship and selling ads against it. Which is exactly why, these companies never give developers an API.<br>Is this a real strategic move or a marketing stunt?
Currently, the beta is only available on macOS and behind a waitlist in the US and Canada. And to access the waitlist you complete a Google Form asking what you’d build with it.
That is not a rounding error on the business. That’s the round-off error on the round-off error. Before shipping, DoorDash surely knew that. Which means it isn’t a growth channel. It’s something else.<br>DoorDash is acquiring a catalogue of use cases its own org would never have written through the Google Form signup barrier. DoorDash has thousands of years of experience understanding how a hungry human acts, but very little understanding what an autonomous agent does, what it orders, when it fires, if something is out of stock and how it interprets hunger in humans.
The first couple of responses say a lot about who this is for. But not your average consumers, for the hackers who just attach orders to a calendar so an entire meeting room ends up with lunch without anyone remembering to order it. A terminal beats the touchscreen in accessibility workflows. A hungry person opening an app is none of those. That’s the sequence DoorDash is paying to find.
So why a terminal, of all things AI?
Because DoorDash needed something that could bleed money, and a place only a few thousand select people could access. Only a command line does both at once.<br>In pre-AI era, a CLI isn’t just a strange way to reach consumers but an impossible one. Nobody stumbles into dd-cli. That means no App Store listing, no push notification, no referral link to help you convert into an active user. You need to have a terminal, a package manager, a Mac, an approved slot, and an agent harness running. Which is also why the launch reads like it does. The rest of the flibbertigibbeting and XKCD nod aren’t transparent to the everyday user.<br>DoorDash also had a ceiling on cash. But you could ask, why would DoorDash build an MCP Server when it groups perform official connectors that browse menus, compare options, construct carts, book tables? Then why build a CLI? And one of the reasons for that is because the MCP server does not buy anything. Person still validates that action, unlike the CLI.
Two agent surfaces divided by who is allowed to spend. With one person giving the order and the other carrying it out. Anyone with Claude can access the assembly surface and DoorDash stops there. They started out with a gate infront of the spend surface (waitlist and...