5 ms·
I think it is hilarious that there are four different ways to set settings (settings.json config file, environment variable, slash commands and magical chat key
by johndough 6mo ago
I think it is hilarious that there are four different ways to set settings (settings.json config file, environment variable, slash commands and magical chat keywords).
That kind of consistency has also been my own experience with LLMs.
- monatron 6mo agoTo be fair, I can think of reasons why you would want to be able to set them in various ways. - settings.json - set for machine, project - env var - set for an environment/shell/sandbox - slash command - set for a session - magical keyword - set for a turn
- tracker1 6mo agoI tend to make a concerted effort to often make sure anything settable via cli is settable via environment variable... though, I often have a search-upward option for a .env file as well. Mostly so that it's easier to containerize/deploy an application in a predictable/reusable way.
- ggdxwz 6mo agoEspecially some settings are in setting.json, and others in .claude.json So sometimes I have to go through both to find the one I want to tweak
- SAI_Peregrinus 6mo agoIt's not unique to LLMs. Take BASH: you've got `/etc/profile`, `~/.bash_profile,` `~/.bash_login`, `~/.bashrc`, `~/.profile`, environment variables, and shell options.
- subscribed 6mo agoYeah, but for ash/shells these files have wildly different purposes. I don't think it's so distinct with cc.
- hackerbrother 6mo agoI don't think they're wildly different purposes. They're the same purpose (to set shell settings) with different scopes (all users, one user, interactive shells only, etc.).
- hansmayer 6mo agoI would laugh so hard at this, if your attempt at comparison was not so tragic. Bash and other shells are deterministic. Want to set it just for one user ? - use ~/.bashrc . Set it for all users on the system? use /etc/profile.d/ . Want it just temporary for this session? You got it, environment variables. And it is going to work like that every single time. It is deterministic you see.
- SAI_Peregrinus 6mo agoThe non-determinisim in the LLM systems isn't because of the different config uses, that works much like shell configs. The non-determinism is inherent in LLM operations.
- hansmayer 6mo agoExactly my point here...
- larpingscholar 6mo agoYou are yet to discover the joys of the managed settings scope. They can be set three ways. The claude.ai admin console; by one of two registry keys e.g. HKLM\SOFTWARE\Policies\ClaudeCode; and by an alphabetically merged directory of json files.
- brookst 6mo agoway more than that. settings.json and settings.local.json in the project directory's .claude/, and both of files can also be in ~/.claude MCP servers can be set in at least 5 of those places plus .mcp.json
- windexh8er 6mo agoI just had this conversation today. It's hilarious that things like Skills and Soul and all of these anthropomorphized files could just be a better laid out set of configuration files. Yet here we are treating machines like pets or worse.
- bmitc 6mo agoThere's also settings available in some offerings and not in others. For example, the Anthropic Claude API supports setting model temperature, but the Claude Agent SDK doesn't.
- OliverGuy 6mo agosettings.json -> global config Env vars -> settings different to your global for a specific project Slash commands / chat keywords -> need to change a setting mid chat