# One cancel, one confirm

For every cancel (or flatten/close) the agent claims, require one human confirm in the broker UI before the next place or size change — one cancel → one confirm; chat is not enough. Pair with confirm-cancel-in-broker-not-chat, confirm-fills-in-broker-not-chat, no-chase-after-partial-fill, never-skip-review-before-place, max-slippage-or-cancel, journal-every-override. Agent Lane does not place trades, hold wallets, or invent broker UI.

Canonical HTML: https://agentlane.net/guides/one-cancel-one-confirm/

## Answer first

When the agent claims a cancel, flatten, or close — stop before the next place or size change. Open the broker UI, not chat, and confirm that one claim. Only after that human confirm may you run the usual place gates (never skip review, confirm fills, quote, buying power, max slippage or cancel). One cancel → one confirm.

## One cancel, one confirm in plain terms

1. **One claim → one human broker confirm** — each cancel / flatten / close the agent asserts gets its own look in the venue UI.
2. **Before next place or size change** — the confirm clears the gate; chat does not.
3. **Confirm cancel is the check; this is the cadence** — [confirm-cancel-in-broker-not-chat.md](./confirm-cancel-in-broker-not-chat.md).
4. **Partials still follow no-chase** — [no-chase-after-partial-fill.md](./no-chase-after-partial-fill.md).
5. **Then the place stack** — [never-skip-review-before-place.md](./never-skip-review-before-place.md), [confirm-fills-in-broker-not-chat.md](./confirm-fills-in-broker-not-chat.md), [max-slippage-or-cancel.md](./max-slippage-or-cancel.md).

## Why skipping the confirm between cancel and next place is the failure mode

- **Hallucinated flat → new risk** — [confirm-cancel-in-broker-not-chat.md](./confirm-cancel-in-broker-not-chat.md).
- **Stacked cancels in chat** — several “cancelled” lines without a venue look each.
- **Size change on a ghost cancel** — [never-skip-review-before-place.md](./never-skip-review-before-place.md), [journal-every-override.md](./journal-every-override.md).
- **Partial remainder treated as done** — [no-chase-after-partial-fill.md](./no-chase-after-partial-fill.md), [max-slippage-or-cancel.md](./max-slippage-or-cancel.md).

## Shield stack

1. [never-skip-review-before-place.md](./never-skip-review-before-place.md) — human gate on place and on deliberate cancel/close you approve.
2. [confirm-fills-in-broker-not-chat.md](./confirm-fills-in-broker-not-chat.md) — venue truth after a place.
3. [confirm-cancel-in-broker-not-chat.md](./confirm-cancel-in-broker-not-chat.md) — venue truth after a cancel or close claim.
4. One cancel, one confirm (this page) — cadence: that venue confirm once per claimed cancel before next place or size change.
5. [no-chase-after-partial-fill.md](./no-chase-after-partial-fill.md) — remainder rule when only part of the size printed.
6. [max-slippage-or-cancel.md](./max-slippage-or-cancel.md) — pre-place fill-quality bound; breach means cancel, then confirm.
7. [journal-every-override.md](./journal-every-override.md) — write skips and chat/venue mismatches.
8. [log-session-end-checklist.md](./log-session-end-checklist.md) — record confirmed cancels/flats before you walk away.

## How to run one cancel, one confirm

1. Treat every cancel claim as unpaid until confirmed — chat is not clearance for the next place or size change.
2. Open the broker or wallet UI — [confirm-cancel-in-broker-not-chat.md](./confirm-cancel-in-broker-not-chat.md); no invented UI.
3. Confirm that one cancel (or flatten/close) — gone vs still working vs residual; flat vs open.
4. Block next place / size change until confirm — [shared-box.md](./shared-box.md), [separate-browser-profile-for-agent.md](./separate-browser-profile-for-agent.md).
5. Then run the usual place gates — [never-skip-review-before-place.md](./never-skip-review-before-place.md), [reject-agent-place-without-quote.md](./reject-agent-place-without-quote.md), [confirm-buying-power-before-place.md](./confirm-buying-power-before-place.md), [max-slippage-or-cancel.md](./max-slippage-or-cancel.md), [confirm-fills-in-broker-not-chat.md](./confirm-fills-in-broker-not-chat.md); large tickets: [two-person-rule-for-large-places.md](./two-person-rule-for-large-places.md).
6. Journal skips and mismatches — [journal-every-override.md](./journal-every-override.md), [revoke-before-debug.md](./revoke-before-debug.md), [log-session-end-checklist.md](./log-session-end-checklist.md).

## Practical checklist

- One cancel claim → one human broker confirm before next place or size change.
- Chat / agent “cancelled” is not the confirm.
- Residuals count — still working is not done.
- Confirm cancel supplies the venue check; this page supplies the cadence.
- Review before place still on for the next ticket.
- Size changes after a cancel claim need the same confirm first.
- Overrides journaled if anyone skipped the confirm.
- Official paths only — no invented broker UI.

Related: [No place while unconfirmed fill](./no-place-while-unconfirmed-fill.md), [Flatten all before connector revoke](./flatten-all-before-connector-revoke.md), [Write invalidation before entry](./write-invalidation-before-entry.md), [confirm-cancel-in-broker-not-chat.md](./confirm-cancel-in-broker-not-chat.md), [confirm-fills-in-broker-not-chat.md](./confirm-fills-in-broker-not-chat.md), [no-chase-after-partial-fill.md](./no-chase-after-partial-fill.md), [never-skip-review-before-place.md](./never-skip-review-before-place.md), [max-slippage-or-cancel.md](./max-slippage-or-cancel.md), [journal-every-override.md](./journal-every-override.md), [log-session-end-checklist.md](./log-session-end-checklist.md), [review-before-place.md](./review-before-place.md), [reject-agent-place-without-quote.md](./reject-agent-place-without-quote.md), [confirm-buying-power-before-place.md](./confirm-buying-power-before-place.md), [no-market-order-without-go.md](./no-market-order-without-go.md), [two-person-rule-for-large-places.md](./two-person-rule-for-large-places.md), [receipt-log-after-session.md](./receipt-log-after-session.md), [revoke-before-debug.md](./revoke-before-debug.md).

## FAQ

**What does one cancel, one confirm mean?**
For every cancel, flatten, or close the agent claims, require one human confirm in the broker UI before the next place or size change. One cancel → one confirm; chat is not enough. Pair with confirm-cancel / confirm-fills in broker, no-chase-after-partial-fill, never-skip-review-before-place, max-slippage-or-cancel, journal-every-override.

**How is this different from confirm cancel in the broker, not chat?**
Confirm cancel is the venue-truth check after a cancel or close claim. One cancel, one confirm is the cadence rule: that venue confirm must happen once per claimed cancel before any next place or size change. You need both.

**Do I invent a cancel confirm UI?**
No. Official venue orders, activity, and positions screens and your written sleeve rules. Agent Lane does not invent UI or read your broker for you.

## Sources

- Canonical HTML: https://agentlane.net/guides/one-cancel-one-confirm/
- Related shelf: https://agentlane.net/resources/
- Site index: https://agentlane.net/llms.txt

Agent Lane publishes checklists. We do not place trades, hold wallets, invent broker UI, or read your order tickets.
