| At least this breakage is clear & obvious. I did some testing of configuring Claude CLI sometime ago via .claude json config files - in particular I tested: - defining MCP servers manually in config (instead of having the CLI auto add them) - playing with various combinations of ’permissions` arrays What I discovered was that Claude is not only vibe coded, but basic local logic around config reading seems to also work on the basis of "vibes". - it seemed like different parts of the CLI codebase did or didn't adhere to the permissions arrays. - at one point it told me it didn't have permission to read the .claude directory & as a result ran bash commands to search my entire filesystem looking for MCP server URLs for it to provide me with a list of available MCP servers - when restricted to only be able to read from a working directory, at various points it told me I had denied it read permissions to that same working directory & also freely read from other directories on my system without prompting - restricting webfetch permissions is extremely hit & miss (tested with Little Snitch in alert mode) --- I have not reported any of the above as Github issues, nor do I intend to. I had a think about why I won't & it struck me that there's a funny dichotomy with AI tools: 1. all of the above are things the typical vibe coder stereotypes I've encountered simply do not really care deeply about 2. people that care about the above things are less likely to care enough about AI tools to commit their personal time to reporting & debugging these issues There's bound to be exceptions to these stereotypes out there but I doubt there's sufficient numbers to make AI tooling good. |
---
(that it's a big pile of spaghetti that can't be improved without breaking uncountable dependencies)