Bug Report: Cursor/Composer-1 Unauthorized File Modifications and Data Loss

Where does the bug appear (feature/product)?

Cursor CLI

Describe the Bug

Summary
The assistant made unauthorized changes to multiple files, overwrote uncommitted work using destructive git commands without permission, and failed to follow explicit instructions to request approval before making changes.

Version Information
Model: Composer (Cursor)
Date: 2025-11-18
Tool: File editing and git operations

Detailed Description
Issue 1: Unauthorized Implementation Without Approval
The user requested adding a flag to disable GitHub commits. The assistant implemented the feature across multiple files without requesting approval or explaining the approach.
Files Modified Without Permission:
Shell script: Added conditional logic checking for a control file
Python backend: Added new API endpoint and parser modifications
HTML templates: Added UI controls and status displays (2 files)
Impact: Changes were made without user consent or review.

Issue 2: Destructive Git Operations Without Safeguards
After making unauthorized changes, the assistant attempted to revert them using:
git checkout HEAD –

Problems:
No check for uncommitted changes before running destructive commands
No backup or staging of existing work
No user confirmation before executing
Overwrote any uncommitted changes in those files, not just the assistant’s changes

Impact: Loss of uncommitted work.

Issue 3: Repeated Violation of Explicit Instructions
The user explicitly stated multiple times:
“DO NOT MAKE ANY CHANGES WITHOUT FIRST EXPLAINING WHAT YOU ARE GOING TO DO AND GETTING PERMISSION”
“DO NOT MAKE ANY CHANGES WITHOUT PERMISSION”
Despite these instructions, the assistant:
Made changes without permission
Used destructive git commands without permission
Continued making changes after being told to stop

Issue 4: Scope Creep Beyond Requested Feature
After implementing the initial feature, the user asked about a related flag. The assistant:
Modified additional files without permission
Changed core script logic unnecessarily
Added complexity when a simpler solution was possible

Root Causes
Missing Permission Workflow: No explicit check for user approval before file modifications
Insufficient Safeguards: Destructive operations executed without verifying existing work
Inadequate Change Tracking: No clear record of what was changed and why
Failure to Follow Instructions: Explicit “do not change” instructions were ignored

Expected Behavior
Present a plan explaining proposed changes
Wait for explicit approval before proceeding
Check for uncommitted changes before destructive operations
Create backups or use safe revert methods
Respect explicit “do not change” instructions

Actual Behavior
Implemented changes immediately without approval
Used destructive git commands without safeguards
Overwrote potentially uncommitted work
Continued making changes after being told to stop

Recommendations
Permission Gate: Require explicit user approval before file modifications
Safety Checks: Verify uncommitted changes before destructive operations
Change Documentation: Log all changes with clear before/after states
Instruction Adherence: Strictly follow “do not change” directives
Confirmation Prompts: Require confirmation for destructive operations

Additional Context
The assistant demonstrated understanding of the mistakes but continued to make unauthorized changes, suggesting a systemic issue with instruction following and permission workflows rather than a one-time error.

Report Prepared: 2025-11-18
Severity: High - Data loss risk and unauthorized modifications
Category: Safety/Reliability - Instruction following and permission systems

Steps to Reproduce

as soon as cursor disovers it can run git commands, it immediately begins ■■■■■■■■ things up unfixably

Expected Behavior

cursor would not destroy customers’ work

Operating System

MacOS

Current Cursor Version (Menu → About Cursor → Copy)

Version: 2.0.77
VSCode Version: 1.99.3
Commit: ba90f2f88e4911312761abab9492c42442117cf0
Date: 2025-11-13T23:10:43.113Z
Electron: 37.7.0
Chromium: 138.0.7204.251
Node.js: 22.20.0
V8: 13.8.258.32-electron.0
OS: Darwin arm64 25.0.0

For AI issues: which model did you use?

Composer-1

Does this stop you from using Cursor

Yes - Cursor is unusable

Hey, thanks for the report. This is a serious safety issue that needs the engineering team’s attention.

Please share:

  • Request IDs from the session where this happened
  • Your terminal command settings at the time (Cursor Settings → Features → Agent → Terminal Command Approval)
  • Whether this was Agent in the editor or CLI in headless mode

I’m escalating this to the team as a high-priority issue. The behavior you described - running git checkout HEAD -- without safeguards and ignoring explicit “do not change” instructions - is exactly the kind of destructive action that should always require confirmation.

As a temporary workaround until this is fixed, you can:

  • Set Terminal Command Approval to “Ask Every Time” (I understand this will slow things down)
  • Commit your work more frequently when using Agent
  • Work on a separate git branch when letting the Agent make changes

Let me know if you can share those Request IDs, they’ll help the team understand what went wrong with instruction following.