That is a good point, i had to also check several times my internet connections. Sometimes its the Cursor internal model overloaded, with other causes affecting the merge or code generated. I think people get used to Cursor working well and then when it doesnt its very hard for them.
[No changes made]
same question
Same here. It complained no changes made over and over again and the agent even tried to use cat, grep and > to edit the files. I was tolerating this for nearly two weeks, and finally can’t take it any more.
Getting “No Changes Made” when requesting pretty significant changes to a php file of mostly html. 0.47.5
I’ve already tried reinstalling and switching to other computers, but neither has solved the issue.
It’s even worse now that we can’t see the output:
It’s impossible to work like this. Have devs ever done anything to address this issue?
Does any one found a solution?! I’m having the same problem. I tried a lot of different things, but it’s not working. Got stuck.
Getting this as well. No changes made, we can’t see the output of the file or what it’s “generating” up until then, what is happening here?
Guys, I managed to make my cursor run very smoothly, and the “no changes made” message has stopped appearing. Before starting the project, I created an implementation plan in a .md file and added it to the project’s components. I achieved the result I was aiming for, and so far, the message hasn’t shown up again.
Unfortunately, I already do this and still encounter the issue. It generally occurs when working with existing code and especially when being asked to delete lines of existing code.
seeing the same thing with the following specs
Version: 0.47.8
VSCode Version: 1.96.2
Commit: 82ef0f61c01d079d1b7e5ab04d88499d5af500e0
Date: 2025-03-18T06:55:51.040Z
Electron: 32.2.6
Chromium: 128.0.6613.186
Node.js: 20.18.1
V8: 12.8.374.38-electron.0
OS: Darwin arm64 24.3.0
I also encountered the same problem. I asked Cursor about the specific reasons for this problem, and this is the answer it gave:
Detailed Instructions on Tool Usage Limitations
When attempting to modularize the DeepSeek extractor, I encountered the following tool limitations:
- Limitation of the File Editing Tool (edit_file)
Problem Phenomenon: I tried to use the edit_file tool multiple times to create and edit the content of files, but the result showed “The apply model made no changes to the file.”
Specific Limitation: The apply model did not execute the editing instructions correctly and was unable to write the content I specified into the file.
Example: When trying to edit files such as text-processor.js and message-extractor.js, I provided the complete code, but the content of the final file was not updated. - Limitation of the Terminal Command Tool (run_terminal_cmd)
Problem Phenomenon: When using terminal commands to create a file containing multiple lines of content, I received the error: “Command contains newline characters. Please write a single command without newlines.”
Specific Limitation: This tool does not allow newline characters in the command, while creating a JavaScript module file usually requires multiple lines of content.
Example: When trying to use commands such as cat > and echo to write into a file containing multiple lines of code, it was rejected. - Limitation of the Interactive Terminal Command
Problem Phenomenon: When trying to use the cat > command to create a file interactively, the command was interrupted.
Specific Limitation: The tool does not support interactive terminal sessions and cannot continue to input content after the command is executed.
Example: After executing the command cat > src/content/extractors/deepseek/text-processor.js, I was unable to input the content of the file.
These limitations mean that we can only successfully create the basic directory structure and the dom-utils.js file, and are unable to complete the full creation and content writing of other module files as planned. To solve these problems, it may be necessary to try other methods of creating files, or for the user to create these files manually.
sought help from deepseekR1, and this is the solution it provided:
Regarding the tool limitation issues you encountered during the development of Cursor’s Agent, here are the step-by-step solutions:
I. Limitation of the File Editing Tool (edit_file)
Core of the Problem:
The model may reject writing due to code format/integrity verification failure.
Solutions:
-
Progressive Step-by-Step Editing
edit_file( path="src/content/extractors/deepseek/text-processor.js", content="// First line comment marks the purpose of the file." ) # Subsequently, code blocks will be gradually added.
-
Forced Overwrite Flag
edit_file( path="message-extractor.js", content="/* New file - Forced overwrite mode */\nmodule.exports = ...", overwrite=True # Explicitly declare override intention )
-
Syntax Integrity Verification
- Ensure that closing symbols in the code are complete (such as
}
and;
) - Avoid unclosed strings or regular expressions
- Prioritize submitting pure logic code (temporarily delete comments)
- Ensure that closing symbols in the code are complete (such as
II. Multiline Limitation of the Terminal Command Tool (run_terminal_cmd)
Core of the Problem:
Direct use of newline characters in commands is prohibited.
Solutions:
-
Escaped Newline Character Solution
echo -e "const fs = require('fs');\n\nfunction process() {\n // logic\n}" > src/utils.js
- The
-e
parameter enables escaped parsing \n
represents the newline character
- The
-
Append Write Mode
echo "// Part 1" > file.js && echo "// Part 2" >> file.js
-
Heredoc Syntax (Requires Environment Support)
bash -c "cat <<'EOF' > deepseek.js const parser = () => { // Multi-line content. } EOF"
III. Limitation of the Interactive Terminal Command
Core of the Problem:
Non-interactive sessions cannot continue to input.
Solutions:
-
Single-line Redirected Writing
printf '%s\n' "Line1" "Line2" "Line3" > interactive.js
-
Base64 Encoding Transmission (for Complex Scenarios)
echo "Y29uc3QgbW9kID0gcmVxdWlyZSgnLi4vbW9kJyk7Cg==" | base64 -d > module.js
IV. Alternative Solutions
-
Manual Intervention Point
# Prompt the user to perform manual operations when automation fails. show_message("Please create the following files manually.:\n- src/extractors/deepseek.js\nContent reference:...")
-
Minimal Dependence Solution
- Prioritize creating core files (such as
dom-utils.js
) - Implement non-critical modules through dynamic loading
- Prioritize creating core files (such as
-
Feedback Channel
# Submit feedback through the built-in command submission tool limitation. submit_feedback("run_terminal_cmd Need multi-line input support.")
Verification Steps
- Check the newline characters in the file after executing the single-line escaped command.
- Confirm whether the model accepts fragment updates during step-by-step editing.
- Test the compatibility of the Heredoc syntax in the target environment.
If the above solutions still do not work, it is recommended to combine manual creation of the basic framework and then use the Agent for incremental development. The boundary limitations of the tool usually require a mixed strategy to deal with, with the focus on maintaining the realizable path of the core logic.
I actually tested the above methods. The “progressive editing” and “Base64” solutions can solve the problem, but both of these solutions have drawbacks.
- Progressive Editing: Its idea is to cut large files into small pieces and edit them multiple times, which undoubtedly increases the consumption of the number of requests.
- Base64: I am a Chinese developer, and there will be garbled characters after transcoding. This problem may not exist for English (I’m not sure).
Therefore, I continued to look for alternative solutions, and this is the alternative solution I found, which currently seems to be working properly:
- First, try using the temporary file method: Write to /tmp first, and then move it to the target location.
- Consider using the file operations of programming languages instead of shell commands.
- Use the fs module of Node.js to write files: node -e “const fs = require(‘fs’); fs.writeFileSync(‘file path’, ‘Content’);”
- Use Python to create files: python3 -c “import os; os.system(‘command’)”
- For small modifications, using command-line tools such as sed is more reliable: sed -i ‘’ ‘s/old content/new content/’ file path
Specific Practices
- This situation can be written into the cursor rules file, and the cursor will refer to the content in the custom commands when generating code.
- Specific Description:
When you are ready to create/edit a file, in order to avoid the problems of “The apply model made no changes to the file.” and “Command contains newline characters. Please write a single command without newlines.”, please follow the following best practices:
- First, try using the temporary file method: Write to /tmp first, and then move it to the target location.
- Consider using the file operations of programming languages instead of shell commands.
- Use the fs module of Node.js to write files: node -e “const fs = require(‘fs’); fs.writeFileSync(‘file path’, ‘content’);”
- Use Python to create files: python3 -c “import os; os.system(‘command’)”
- For small modifications, using command-line tools such as sed is more reliable: sed -i ‘’ ‘s/old content/new content/’ file path
I hope this can help everyone temporarily~
However, this is still not the best and most natural way. I hope the Cursor development team can pay attention to this problem, because it will generate incomplete or empty code files, which is fatal for developing code using Cursor. Even checking for those missing codes is a very difficult task. I hope it can be solved as soon as possible, which will help a large number of people. Thank you very much!
I am also getting this “no changes made” issue.
“I’ve resolved the ‘no changes made’ issue. My solution was to upgrade macOS from version 11.1 to 12.7.3 and then re-download the latest version of Cursor. The problem that had been troubling me for a month is now fixed. Good luck!”
I think i found a workaround, at least it worked for me. Cut a part of the code then save it manually, let agent edit it, so here for me it was success, then i pasted back the code i have cut and saved manually again. and got the honey
Bug Report: File Writing Operations Failing in Cursor Editor
Issue Description
The edit_file
operation in Cursor consistently fails to write file content properly, creating files with only 1 byte of size regardless of the intended content.
Environment
- Cursor Version: 0.48.7
- OS: macOS 24.3.0
- Location: Issue occurs in all directories (including
~/Documents/
)
Reproduction Steps
- Use Cursor’s
edit_file
tool to create or modify a file - Check the file size and content
- Observe that the file is created but only contains 1 byte
Expected Behavior
Files should be created with their complete intended content.
Actual Behavior
- Files are created successfully (indicating proper permissions)
- Files are consistently 1 byte in size
- No error messages or warnings are displayed
- The same behaviour occurs in all directories, including
~/Documents/
Technical Investigation Results
-
Extension Identification
- Issue traced to
cursor-always-local
extension (v0.0.1) - Located at
/Applications/Cursor.app/Contents/Resources/app/extensions/cursor-always-local/
- Configured as UI extension (
"extensionKind": ["ui"]
)
- Issue traced to
-
Process Analysis
- File creation succeeds (1 byte written)
- Content writing operation fails silently
- No relevant error messages in system logs
- File watcher and extension host processes show normal operation
-
Verification
- Shell commands can write files successfully
- Issue is not permission-related (occurs in all directories)
- No sandbox violations or access denials logged
Impact
- Unable to create or modify files through Cursor’s normal operations
- Affects all file operations using the
edit_file
tool - Requires falling back to shell commands for file operations
Workaround
Currently using shell commands (echo
, cat
, etc.) to write files instead of Cursor’s built-in file operations.
Additional Notes
- The extension is marked as version 0.0.1, suggesting recent changes
- The issue appears to be in the file writing implementation, not in permissions or sandbox restrictions
- Files have proper permissions after creation, only content writing fails
(This is cursor trying self heal itself, sadly didn’t fix itself, i’ll try make my own mcp server and force it to use the new edit server, ill communicate if this work around worked)
+1, the files cannot be written in agent mode. Until a recent update, everything worked. The is a workaround using bash commands like echo and cat, but it is annoying.
+1
Title: File Creation/Edit Issue with edit_file Tool
Description:
When attempting to create a new file or edit an existing file using the edit_file tool, the content is not being written correctly. The apply model appears to have issues with handling file creation and content writing operations.
Environment Information:
- OS: macOS (darwin 24.4.0, Sequoia V15.4)
- Workspace Path: /Users/muwang/Desktop/test
- Shell: /bin/zsh
- Cursor Version:
‘Version: 0.48.8 (Universal)
VSCode Version: 1.96.2
Commit: 7801■■■6824585b7f2721900066bc87c4a09b740
Date: 2025-04-07T19:55:07.781Z
Electron: 34.3.4
Chromium: 132.0.6834.210
Node.js: 20.18.3
V8: 13.2.152.41-electron.0
OS: Darwin arm64 24.4.0’
Concrete Example:
- User Request: “create a.txt, input ‘aaa’”
- Tool Response:
First attempt: - + Second attempt: "no changes to the file"
- Expected Result: A file named ‘a.txt’ containing the text “aaa”
- Actual Result: An empty file or file with only whitespace
Steps to Reproduce:
- Attempt to create a new file (e.g., a.txt) with content using the edit_file tool
- The apply model returns a diff showing “-” and “+” but fails to write the actual content
- Subsequent edit attempts return “no changes to the file”
Expected Behavior:
- File should be created with the specified content
- Content should be written correctly to the file
Actual Behavior:
- File is created but remains empty or contains only whitespace
- Apply model shows incorrect diff output
- Content writing operations fail silently
Technical Details:
- Tool: edit_file
- Operation: File creation and content writing
- Apply model response: Shows diff but fails to write content
- File system: macOS (darwin 24.4.0)
Impact:
- Unable to create new files with content
- Unable to edit existing files
- Affects basic file operations in the IDE
Additional Notes:
- The issue appears to be with the apply model’s implementation rather than user-side configuration
- File permissions are not the issue as file creation is possible
- The problem persists across multiple attempts with different content
Try delete everything in the Cursor folder under Application Support (on macOS). Then Cursor restarted from the initial setup, and everything started working normally. It does work for me.