Warp Fork
SkillDev toolsFork a warp route from the local HTTP registry for development and testing. Forks each chain with the right local node per protocol — anvil for EVM chains, surfpool (Solana mainnet fork) for Sealevel chains. Use when the goal is to simulate transactions on a set of local forks before submitting them on-chain.
Available today. Use it from your connected AI after setup.
No other account needed.
Connect ahel once, and every AI you use reads what you have installed.
Then ask your AI: use the Warp Fork skill
What this skill tells your AI
The instructions your AI receives, as published by hyperlane-xyz/hyperlane-monorepo in .claude/skills/warp-fork/SKILL.md and read by ahel’s review.
Fork a warp route using the local HTTP registry.
Instructions:
-
Check if
http://localhost:3333is running. If not, run the start-http-registry SKILL. If that fails, useAskUserQuestionto prompt the user for an alternate registry URL to use instead ofhttp://localhost:3333. -
First, use
AskUserQuestionto prompt the user for the warp route ID:- Question: "Which warp route would you like to fork?"
- Header: "Warp Route"
- Options: Provide 2-3 common examples if known, otherwise use generic placeholders. Note that the fork may fail if the warp routes are invalid. Re-prompt the user!
-
Run the command in the background:
pnpm -C typescript/cli exec tsx cli.ts warp fork --registry $REGISTRY --warpRouteId $WARP_ROUTE_ID- Use the registry URL from step 0 for $REGISTRY (
http://localhost:3333by default, or user-provided if the local registry failed) - Use
run_in_background: trueso it doesn't block the conversation.
- Use the registry URL from step 0 for $REGISTRY (
-
After starting, report the task/shell ID and the fork registry server port back to the user.
-
Remind the user they can stop it later with
KillShellusing that ID
Prerequisites:
- The http-registry server must be running on port 3333. If not, start it first with
/start-http-registry. - Forking is per-protocol: EVM chains need Foundry
anvilonPATH; Sealevel chains need a locally-installedsurfpoolbinary (>= 1.5.0) onPATH— there is no Docker fallback in the CLI. Install the pinned, checksum-verifiedsurfpoolrelease the way CI does — see theInstall surfpoolstep in.github/workflows/test-cli-e2e.yml(a pinnedv1.5.0release tarball verified against its SHA-256); do not pipe the mutablerun.surfpool.runinstaller to a shell. If the binary is missing,warp forkaborts with a "surfpool 1.5.0+ is required" error before forking.
Related skills:
/warp-simulate-safe-txs— EVM fork → replay a Safe batch → check./warp-simulate-svm-txs— Sealevel fork → replay SVM/Squads governance txs → check.
Example output:
Started warp fork for
EZETH/ethereum-megaethin background (shell ID:shell_abc123). To stop it later, I can use KillShell with that ID.
Signals
- GitHub stars
- 75
- Forks
- 601
- Last commit
- Sep 2026
Advanced
- Catalog kind
- skill
- Gateway key
warp-fork- Source
- github.com/hyperlane-xyz/hyperlane-monorepo