Stop
and ask.

AI agents are starting to spend money for people. But what happens when the price of a good suddenly increases or decreases? The agent can't finish the task on its own, and this prototype aims to tackle this.

Try the prototype ↗
Live prototype. It runs on its own, then stops at checkout.Open full screen
FeatureMid-task handoff for AI agents
Built forHummingbird, a fictional travel agent
ByKaran Chulliparambil

01 - The moment

Halfway is the
worst place
to fail.

You ask an agent to book a trip to Lisbon under $900. It finds a flight for $812 and holds your seat. Then at checkout the fare jumps to $952.

The agent has already done things on your behalf, but it hasn't done the one thing it can't take back. What it does next decides whether you ever trust it with your card again.

The eager agent

Pushes through.

Booked! ✓TA 202 · Oct 15 · $952 charged to Visa ·· 6411

It finished the task, and broke your rule doing it. You find out you're $140 over budget from your bank.

The fragile agent

Gives up.

Something went wrong.We couldn't complete your booking. Please try again.

It kept your money safe, and threw away everything else. Search, comparison, seat: gone. You start over.

This version

Stops and asks.

The fare went up, so I stopped before paying.$812 → $952 · seat 14C held · nothing charged

It keeps everything it did, stops right before the part it can't undo, and hands you the decision.

02 - The handoff card

Five things,
in this order.

The card has one job: get you from "wait, what happened?" to a decision in a few seconds. Each part answers the next question you'd ask.

1
‖ Paused at step 4 of 7

The fare went up, so I stopped before paying.

It jumped between search and checkout. That puts you over the $900 you set.

2$812→$952+$140 · over budget
3
✓Found your flight: Toucan Air TA 202, nonstop
◷Seat 14C (aisle) is held for you for 9:41
$0Nothing has been charged
4
↻Find options under $900I'll search again with your budgetSuggested
$Book it at $952Keep this flight and seat, pay the new fare
→Take over checkoutEverything's filled in. You finish it yourself
5Changed your mind about the trip?Undo everything
  1. 1

    Where it stopped, and why

    "Step 4 of 7" and a plain sentence in the agent's own voice. Not "an error occurred." You know how far it got and what made it stop.

  2. 2

    What changed, in numbers

    Old price, new price, the difference, and which of your rules it breaks. The whole problem fits in one line you can read at a glance.

  3. 3

    What's true right now

    What's done, what's held and for how long, and what hasn't happened. "Nothing has been charged" is the most important line on the card, so it gets its own row.

  4. 4

    Your options, with one suggested

    The agent suggests the option that respects the rule you gave it, but all three are always shown. It recommends; you decide.

  5. 5

    A way out

    "Undo everything" is always there, set apart from the options so it's never clicked by accident. Giving up on the trip shouldn't be harder than booking it.

03 - The choices

Four ways out,
none of them
a dead end.

Every option ends somewhere useful: a booked trip, or a clean slate with nothing charged. You never have to start from scratch, and you're never stuck.

↻

Find options under $900

The agent searches again with your budget and comes back with two flights that fit. Your seat stays held while you choose.

Agent keeps going, on your terms
$

Book it at $952

One more confirm, because paying can't be undone. It says exactly what gets charged, to which card, and the airline's 24-hour cancellation rule.

You approve, agent finishes
→

Take over checkout

You get the airline page with everything filled in, and the agent pauses. When you're done looking, you can hand it back.

You drive, agent waits
↺

Undo everything

The agent walks back through each step, releases the seat, and confirms it: nothing booked, $0 charged.

Clean slate
Try all four in the prototype ↗

04 - The rule underneath

Every step says
if it can be
taken back.

  1. ✓Search flightsJFK → LIS, Oct 15–22Undoable
  2. ✓Compare optionsPicked TA 202: nonstop, $812Undoable
  3. ✓Hold aisle seat14C held for 10 minUndoable
  4. !Check outFare went up $140. Stopped before payingUndoable
  5. 5PayVisa ending 6411Can't undo
  6. 6Confirm bookingGet the confirmation numberUndoable
  7. 7Add to calendarFlights + remindersUndoable

The agent can do anything undoable on its own. Anything it can't undo needs you, if something changed.

That one rule decides when the agent is allowed to keep going and when it has to stop. The labels are on screen the whole time, so the pause never feels random: you can see the step it's protecting you from before it gets there.

05 - The edge case

What if you
walk away?

The seat hold runs out after 10 minutes. If you come back late, the card doesn't pretend nothing happened. It tells you the seat was released, that nothing was charged, and what's still possible: search again, or hold another aisle seat on the same flight.

The step in the log is crossed out and marked "Expired," so the history stays honest about what the agent is still holding for you.

◷ Seat hold expired

Seat 14C was released while you were away.

Nothing was charged. The fare is still $952, and 3 aisle seats are left on this flight.

↻Find options under $900Start fresh with your budgetSuggested
◷Hold another aisle seat on TA 202Row 19 or 22, another 10 minutes
Not going anymore?Undo everything

06 - Decisions

Five choices,
and why.

01

Stop before the step it can't undo, not after an error

The agent notices the fare changed while it's still at checkout, before paying. Catching it one step early is the difference between asking a question and apologizing.

02

Lead with what changed, not that something went wrong

"$812 → $952, over your budget" tells you everything. "Something went wrong" tells you nothing and makes you go look. The card does that looking for you.

03

Say what's already true, especially what didn't happen

The first worry when an agent stops mid-payment is "did it charge me?" So the card answers that directly, next to what's held and for how long.

04

Suggest one option, show them all

The suggested option is the one that follows the rule you gave it. The others are right there, equal size, because the budget was your rule and you're allowed to break it.

05

Taking over means picking up where it left off

"Take over" opens the checkout with every field already filled, and "Hand back" returns you to the same card. Switching between you and the agent never costs you progress.

07 - What I'd want to be wrong about

The parts I'm
not sure about.

The budget rule is too simple. A hard $900 line means a $905 flight stops the agent too. Real people have soft limits, and the right version probably learns how far over is "fine" for each person.

The countdown adds pressure. It's accurate, since holds really do expire, but a ticking timer can push people into a choice. I'd test whether showing the expiry time ("held until 3:42 PM") feels calmer than a live count.

"Suggested" might carry too much weight. If people click the highlighted option without reading, the suggestion becomes the decision. I'd want to watch real sessions before deciding how loud it should be.