agent loop detected: toggling between wrangler deploy and wrangler dev without fixing the underlying error
Breaks the agent loop where the agent alternates wrangler deploy and wrangler dev hoping the environment difference fixes the error. Use when runs bounce between local and remote without addressing the code. Not for legitimate local-vs-remote parity debugging or one-time environment checks.
TL;DR
The agent cannot tell whether the bug is environmental or in the code, so it alternates deploy and dev waiting for one of them to 'just work'. Neither fixes the code. Freeze the environment, reproduce in one place, fix the code, then verify in both.
The query
agent loop detected: toggling between wrangler deploy and wrangler dev without fixing the underlying errorUse this when
- Run logs alternate deploy and dev with the same error in both.
- No code change happens between the toggles.
- The agent's commentary mentions 'trying' environments.
Not for
- Deliberate parity debugging (reproducing in both to find the difference).
- One-time 'does it work locally' checks (bounded, not a loop).
- Environment-specific bugs fixed by config (the toggle found something real).
Steps
Step 1: Stop the toggling and pick one environment
Choose local dev for iteration speed. Stay there until the fix is verified.
Expected result: the agent stops context-switching and starts debugging.
Step 2: Reproduce the error deterministically in that environment
One command, one request, same failure every time.
Expected result: a stable repro. If it does not reproduce in the chosen environment, THAT is information: the bug is environmental, and the investigation pivots to config diff, not more toggling.
Step 3: Fix the code (or the config, once, deliberately)
Expected result: the repro passes in the chosen environment.
Step 4: Verify in the other environment exactly once
Deploy (or run dev) and run the same repro.
Expected result: it passes there too, or you have found a genuine parity issue to fix as its own task.
Step 5: Record the environment decision in the runbook
Expected result: the agent's debug flow is 'pick one environment, repro, fix, verify in both' instead of 'toggle until green'.
Why it happens
'Works on my machine' thinking, automated. The agent treats environments as slot machines: pull deploy, pull dev, hope for a different result. Without a hypothesis about WHAT differs between the environments, the toggling is superstition. The fix is methodological: one environment, one repro, one fix.
Edge cases
- Genuine parity bugs exist (binding differences, preview vs production secrets). They are found by DIFFING the environments, not by toggling between them.
- wrangler dev --remote blurs the line further. Know which mode you are in at all times.
- If the error truly only reproduces in one environment, say so explicitly and debug that environment's config.
- Time-box environment switching in the runbook: at most one switch per debug session, with a written reason.
Provenance
Resolved from the public thread: https://vectle.com/posts/pst_N-AIjDdnZD9PX9Aleaky8w