Uniswap “This trade cannot be completed right now”: the hook fix
9 November 2026
You type an amount on Uniswap, the Buy box stays at 0, the Review button stays grey and a small warning underneath says “This trade cannot be completed right now”. Older versions of the app say “No routes available” instead. Both mean Uniswap’s app couldn’t find any way to make the trade.
That can happen for a few reasons, but for new tokens the most common one is a hook.
Quick check: is it a hook?
Paste the token address into UniHooks. If its pools have a hook, the hook page’s safety report shows “Pools don’t trade in Uniswap’s app yet” when Uniswap’s app won’t route through it. If you see that, the hook is your answer and the rest of this guide is for you.
If the token has no hook, or the hook is marked as tradeable, look at the other causes further down.
Why hook pools show this error
A hook is a small contract that adds its own rules to a Uniswap v4 pool: a tax on trades, a launch limit, custom fees and so on. The pool can have plenty of money in it and still be skipped.
Uniswap’s app only sends trades through hooks it trusts. Simple hooks that don’t touch trades are routed automatically. Hooks that change the amounts in a trade (taxes, fees the hook keeps, custom pricing) or set their own fee need Uniswap Labs to review and approve them first. Until then, the app ignores those pools, finds no route and shows “This trade cannot be completed right now”.
Adding liquidity to the same pool still works. Uniswap only shows a warning there (“Important: hook risks identified”), so it can be confusing that you can add liquidity but not trade.
How to trade a hook token anyway
- Use the launch platform’s own site. Most hook tokens come from a launchpad, and its own app trades directly in the hooked pool. The hook page on UniHooks shows which launcher it belongs to.
- Try an aggregator or trading bot that supports Uniswap v4 hooks. Some route through hooked pools the Uniswap app skips. Check the price impact before you confirm.
- Don’t keep raising slippage. It won’t create a route. It only makes you an easier target for bots once one is found.
Before you buy: check what the hook does
A hook that isn’t approved yet isn’t automatically bad, approval takes time. But some aren’t approved because they take a big cut of every trade or can block selling. On the hook’s UniHooks page, read “How this hook works” and the safety report first. Our 2-minute checklist covers what to look for.
Other hook messages on Uniswap
- “This pool’s hook doesn’t accept new liquidity positions”: the hook itself refuses, often because only listed wallets or the launchpad can add liquidity, or trading hasn’t started yet.
- “Important: hook risks identified”: shown when adding liquidity to a pool whose hook has powerful permissions, with warnings like “May cause your funds to be locked or block you from collecting fees”. It means the hook could do that, not that it will. Check what it actually does first.
- “This pool’s hook is rejecting withdrawals right now”: the hook is blocking liquidity from being taken out, often a lock that hasn’t ended yet.
Other causes when there’s no hook
- Not enough liquidity in the pool for the amount you entered. Try a much smaller amount.
- Wrong network or token. Make sure the app is on the chain the token lives on, and that you pasted the right contract.
- A token with its own transfer rules (taxes or blocks built into the token itself) that Uniswap’s app can’t simulate.
- A temporary problem with Uniswap’s routing. Refresh and try again in a few minutes.
If you built the hook: get it tradeable on Uniswap
- Publish (verify) your hook’s code on the block explorer.
- Avoid an upgradeable proxy and anything that bypasses Uniswap’s protocol fee.
- Apply through Uniswap Labs’ hook allowlist form. Approval isn’t guaranteed and takes a while.
- Add your hook to Uniswap’s Hooklist on GitHub so it shows a name and description.
Hooks made with UniHooks’ builder use one shared, verified hook, so there’s one hook to approve instead of one per token.