In sessions running under the babylon environment, a guard hook intercepts outward/destructive Bash operations — notably git push — and blocks them. This is expected, not a failure. Local git add / git commit are NOT gated.

Symptom

A git push (or other outward/destructive op) errors with something like:

gated destructive op … run it directly via ! or set BABYLON_GUARD=0. Do not retry or route around it.

What is and isn’t gated

  • Gated: outward / destructive Bash ops — git push is the headline case.
  • Not gated: local git add, git commit.

Resolution (two sanctioned paths)

  1. Hand the user a ! one-liner to run in-session, e.g. give them the exact ! git push ... command to execute.
  2. User sets BABYLON_GUARD=0, after which the agent can push.

Do not route around the guard

NEVER prepend BABYLON_GUARD=0 to the command yourself, and never split the push into pieces to sneak it past the guard. The guard’s own message forbids retrying or routing around it — doing so is exactly the behavior it exists to stop. Wait for the user to either run the ! one-liner or set the env var themselves.