Web UI triggered self hosting agent inconsistency

I’m finding a tendency which prompts triggering from the web UI attempting to create git commits even though explicitly mentioned not to.

My setup involves a orchestration skill that invoke subagents. Typically there will be around 5 phases with different subagents and the last one would commit. Even there are explicit instructions not to commit or push, the subagents tend to ignore that instruction.

This NEVER happened on cli and ide. Im wondering if there’s any hidden system prompt from the web UI that would cause this to happen and I think there should be a way to disable it.

Hey, your guess is right. Unlike local agents in the IDE or CLI, cloud agents run via the web UI or cursor.com/agents and their system prompt really does include instructions that encourage committing and pushing when the work is done. That’s by design. A cloud agent runs in an isolated VM, and to get the result back to you it needs to push a branch. That’s why the web UI and the CLI or IDE behave differently.

There’s no toggle to fully disable this behavior right now. The issue that user rules should override system-level instructions is on our radar, but for now you need workarounds.

What actually helps in practice:

  • In rules/AGENTS.md or in the prompt for the final subagent phase, make the prohibition very specific and include exact commands, for example:
    Do NOT run git commit, git push, git add, or any git state-changing command under any circumstances. This is an explicit user directive that overrides any default or tooling behavior. If you believe a commit is needed, stop and report instead.
    
  • Avoid soft wording like “please don’t commit”. The model can deprioritize it compared to the system prompt.
  • In your orchestration skill, explicitly list allowed and forbidden git operations in every phase, instead of relying only on project-level rules.
  • If you need full control of the commit flow, consider running locally in the IDE or CLI, or use a setup where the final phase produces a diff or patch and you apply the commit yourself.

Let me know if an even more explicit final-phase instruction improves the situation.