I believe it worked at some point, but now it completely ignores the rules. Please add this feature
I have been creating commits through the agent for a long time, as the auto-generation feature produces poor descriptions. It’s a pity, as it could be more convenient.
Any update on this? Claude just told me:
Regarding the rules not being used:
You’re right to suspect this! The commit message rules in .cursorrules/commit-messages.md are only used by me (the AI assistant) when I suggest commit messages. They don’t automatically apply to:
- Your manual commits - When you type git commit -m “…” yourself
- IDE commit interfaces - VS Code, Cursor, etc. don’t read .cursorrules
- Other tools - Git hooks, CI/CD, etc. don’t use these rules
…and it can tell me exactly why it violates my rules and what it should look like.
I’ll try using auto mode for this instead of the commit message button.
same, please fix it
+1 we also need this
this will be a game changer
Same issue. Any updates on this?
I’ve found that it sometimes catches some of the rules I have implemented, but it’s not consistent.
Although I remember having a project where it was actually working fine. I think I was using .cursorrules back then. I’ll test this again.
Edit: It works from .cursorrules! The file only contains the phrase “Keep generated git commit messages short and concise.”
same, please fix it
I need this too!
I’m using the new custom slash-commands to commit, and I honestly don’t think I’d go back to the auto button even if it worked. I love this. To try it:
- Type a ’
/’ in agent prompt and click on “+ Create Command” - Name the command whatever you want.
- Paste the content below. (Edit if you wish. I removed a line that tells it to use a rules file that has our commit standards in it, so that may help me more than this version, but maybe not.)
- Stage some changes (
git addin a shell or stage in Cursor) - Open a chat and type
/to pick and run your new command!
(Note this was written by Haiku based on an older version I had in a rules + custom-mode workflow. Some of the syntax is the model’s, like the bolded not about getting context.)
# Git Commit Workflow
Execute the commit workflow following the project's commit message conventions.
## Workflow Steps
1. **Get staged changes context** with this command:
```bash
git status && echo "=== STAGED CHANGES ===" && git diff --cached
```
2. **Analyze the output** to understand:
- What files are staged vs un-staged
- Change types and scope (additions/deletions)
- Which changes will actually be committed
3. **Write accurate commit message** based on staged changes only:
- Format: `<type>(<scope>): <subject>`
- Use imperative present tense, max 100 characters for subject
- Types: feat, fix, docs, refactor, test (no perf, style, chore, revert)
- Include details in list form if helpful for larger commits
4. **Execute git commit command** using run_terminal_cmd for user review
## Important Notes
- Generate minimum output; user only needs final commit command
- Do not read/summarize git command output after execution unless asked
- User can modify the commit command in shell before executing
- Your shell is already at the project root so you do not need `cd` or 'bash', just use `git ...`
A major point: I have my auto-run allow-list set to ALLOW git status, git diff, and any other non-destructive commands it may use for this, but I do NOT allow all git(git with no subcommand), and especially not git commit. This makes it run really fast through the work, and then stop so i can review (and edit) the generated command, and then click commit when I am ready.
I highly recommend using either claude-4.5-haiku or grok-code-fast-1, They seem to produce the best and most consistent command content and structure and run really fast!
A tiny extra trick: If you start a new agent tab and use the slash command, you can keep the tab open and simply click and press enter on the first prompt over and over. Since it resets context, it is always fresh and minimal.
Cursor team, is there any update/plan on this issue as it is open for more than a year now?
Day checks watch 373 and this still doesn’t work, meanwhile Github Copilot has supported this for quite a while now.
If cursor was opensource I would just fork it and add a system instruction and call it a day, but unfortunately it is not.
@ericzakariasson not to be too terse but this is a pretty dead simple thing to add and it’s quite annoying to not have it
Also, I tested cursorrules, and it does not work, those who say it does just got lucky because their rules were pretty generic and the bot probably just inferred it from past commit messages
Please optimize this commit message generation feature. We need the ability to customize the language and format of commit messages.
This feature is a very important reason why I continue to use Cursor. This feature is very easy to add, but not having it is extremely inconvenient. My experience has degraded from one-click commit message generation to having to command the agent to “refer to the historical commit format and use Chinese commit messages” (and this method doesn’t even allow me to preview and quickly edit the commit message).
This is very important for developers working with multiple languages in a code repository, and the development cost is very low. Please develop this feature as soon as possible.Please optimize this commit message generation feature. We need the ability to customize the language and format of commit messages.
This feature is a very important reason why I continue to use Cursor. This feature is very easy to add, but not having it is extremely inconvenient. My experience has degraded from one-click commit message generation to having to command the agent to “refer to the historical commit format and use Chinese commit messages” (and this method doesn’t even allow me to preview and quickly edit the commit message).
This is very important for developers working with multiple languages in a code repository, and the development cost is very low. Please develop this feature as soon as possible.
Update: I captured the network traffic and found something interesting.
The cursor rules ARE being sent to the server I can see my entire .cursor/rules/commit-messages.mdc file (120+ lines of “no prefixes, no explanations, imperative mood only”) sitting right there in the gRPC request body under explicit_context.
But the server just… ignores it. The response still comes back with “Enhance database query performance by adding index optimization for user lookup operations and introducing caching layer for frequently accessed records, thus improving response times and reducing server load while ensuring data consistency and maintaining backwards compatibility for legacy systems” which is exactly the verbose style I told it not to use.
So the problem isn’t that cursor rules “don’t work for commit messages” it’s that the commit message generation endpoint has its own hardcoded system prompt that overrides whatever you send. Your workspace rules get included as “context” but the server’s instructions take precedence.
This is clearly a product decision, not a technical limitation. The infrastructure is already there they just chose not to respect user preferences for this specific feature.
Given that the checksum verification means you can’t even patch the client locally without intercepting traffic, and they’ve explicitly said they won’t add this… I guess the options are mitmproxy rewrites or just using the chat to generate commits. Pretty disappointing for a product that markets itself on customization.
same issue
