saoudrizwan / claude-dev

Autonomous coding agent right in your IDE, capable of creating/editing files, executing commands, and more with your permission every step of the way.
https://marketplace.visualstudio.com/items?itemName=saoudrizwan.claude-dev
MIT License
4.51k stars 427 forks source link

Suggestion: only allow automatic reads from the initial prompt #196

Open looeee opened 2 weeks ago

looeee commented 2 weeks ago

The new feature to allow automatically reading files is great. However, while I always want Claude to read the files in the initial prompt, it often decides somewhere towards the end to update files I didn't ask it to. Often very large files. Prior to this I could reject those later reads.

My initial prompt often looks like this:

Check out components/ComponentA, which uses components/ComponentB and components/ComponentC to ..... Once you have understood those files, please add a function to ....

So reading those three files without approvals is great. However, I still want to approve later reads.

The big issue for me is that towards the end of a task Claude will decide Oh, I should update translations! and will then read my several thousand line en.ts file and suggesting a truncated and broken edit. I've tried telling it not to read this file in the system prompt but if anything that makes it worse (negative prompting rarely works well).

looeee commented 2 weeks ago

An alternative that would partially solve this for me would be a list of files to deny access to. Things like .env, en.ts and so on.

CiberNin commented 2 weeks ago

I did suggest adding a blacklist for file reading option. or asking the first time it askes to read a file.

vladstudio commented 2 weeks ago

Just for the sake of good UX conversation :-)

There's a balance every developer should keep, between keeping features simple and solving as many use cases as possible.

"Auto-allow" feature can potentially become very flexible and powerful - with rules, black lists, whatnot. Then it will work well even for very extreme use cases. Problem is: it will also become complex: for developer to maintain, for new users to understand. The complexity also tends to accumulate quietly, and before you know it, your Settings interface is a puzzle.

Maybe in your particular case the best solution is to simply disable auto-allow option, and yeah you'll have to click Allow on every initial prompt but then you'll have the control you need.

looeee commented 2 weeks ago

I understand your point and I did consider it before making this post.

However, I figured that this is an issue many people will experience, and that either adding a blacklist, or only allowing reads on initial prompt, might solve a problem for many people and not just me. If it does turn out that only a very few people would find this useful - or if @saoudrizwan doesn't want to introduce any extra complexity here - that's fine.

It does seem to me that adding a blacklist would strike a good balance though. Then people can write as much complexity into their blacklist as they want.

vladstudio commented 2 weeks ago

btw another idea to consider might be: replace a checkbox with the dropdown.

Automatically allow read-only operations