Stop Letting ChatGPT Plan Your Trips. Build Your Own AI Travel Agent Instead.
ChatGPT makes up the hotels and the prices. Here is the build that
June 1, 2026
Stop Letting ChatGPT Plan Your Trips. Build Your Own AI Travel Agent Instead.
ChatGPT makes up the hotels and the prices. Here is the build that doesn’t.
···
Ask ChatGPT to plan a trip and you get something that looks perfect. A clean day-by-day, a tidy budget, a couple of restaurant names. The problem is the numbers are fiction. ChatGPT guesses prices from old training data, so it will confidently hand you a $180 boutique hotel that has actually been $400 for two years, or a flight price that stopped existing last summer. You only find out when you go to book.
That gap is the whole reason I built my own AI travel agent. One difference makes it work: it never invents a price. It opens an actual browser, reads the live number off the page, and only then puts it in the plan.
The version I scrapped
The first version I designed used a flight API, a hotel-search API, a places API, and a calendar API. Four integrations, a pile of OAuth flows, and a weekend of wiring before it did anything useful.
I scrapped all of it.
The version that ships
Four pieces. No API keys.
- WebSearch (built into Claude) for flights, hotels, weather, drive times, and things to do
- Firecrawl CLI for hidden gems on local Reddit threads and niche blogs the big aggregators bury
- Claude-in-Chrome MCP for browser control to read live prices and grab the real booking links
- Three markdown files for memory: how I travel, who is going, and past trips with a 1-10 reaction
That is the entire stack. Anyone watching can install it day one without eight OAuth flows.
Why it doesn’t hallucinate
This is the part that matters. ChatGPT predicts a price from patterns in its training data. My skill treats price as something to look up, not guess. When it wants a hotel rate or a flight cost, the browser navigates to the live page, reads the number, and that verified number is the only one that makes it into the itinerary. The plan is built on real availability today, not a memory of what things cost a year ago.
The intake matters more than the skill
Before I wrote the skill file, I had Claude interview me for 15 minutes. Home airport. Who usually travels. Packed days versus slow mornings. Hotels versus rentals. Budget bands for a weekend, a week, and a big trip. Food I will not compromise on. Activities I keep saying I want to do. Trips I loved and trips I hated, and why.
That intake produced three markdown files, and those files are the engine. Two trips of post-trip capture later, the skill plans more like me than I would on a tired Sunday night.
The agent loop
I type /trip 5 days lisbon mid-june $1500 food and views.
Claude reads memory, asks one or two delta questions, then runs parallel research: WebSearch for the obvious options, Firecrawl for the local-Reddit gems, and the browser for live prices. It filters out anywhere I have been recently, then returns a full day-by-day with real prices and a running budget total. I approve it. Claude-in-Chrome drops every day onto my Google Calendar with the booking links attached.
End to end is about a minute from prompt to a planned trip that comes in under budget.
The lesson that generalizes
Most personal software people try to build is over-engineered by 5x. Browser control plus a markdown file replaces most SaaS. The constraint is rarely the tool. It is the willingness to write a clear intake interview once and let the memory compound.
···
The full setup guide and both prompts (the intake interview and the build prompt) are at: theactionableai.com/posts/sf145-trip-planner-skill