Routing
Every Responses call accepts a routing parameter — what you want to happen. Use smart for production (the router uses the brain to pick and fall back), pin a runner (Browserbase, Steel, Skyvern, Hyperbrowser, Playwright, Deck — any of the catalog), or define an ordered fallback chain. Learning and learning-all exist to teach the router the best path: they calibrate the routing brain on a domain/task so later smart runs pick the winning runner. Banana Peel picks the executing runner (reported as banana_peel.runner) and retries so you get a completed run back. When a target site asks for MFA, 2FA, or an OTP, the run pauses immediately and asks the user for the code. It does not keep trying other runners. MFA / OTP.
Values
"routing": "smart"
"routing": "learning"
"routing": "learning-all"
"routing": "browserbase"
"routing": "hyperbrowser"
"routing": ["steel", "skyvern", "playwright"]
"routing": "SOC2"