-
Notifications
You must be signed in to change notification settings - Fork 7
Description
Parent: #196
Depends on: #193, #195, #197, #198
Problem
After the per-user settings (#197) and per-user workspaces (#198) are implemented, several env vars become redundant legacy paths:
ALLOWED_USER_IDS- replaced by users.yaml (Replace ALLOWED_USER_IDS with users.yaml in config wizard #193)CLAUDE_MODEL- replaced by per-usermodelin users.yaml +/settings modelCLAUDE_MAX_BUDGET_USD- replaced by per-usermax_budgetin users.yaml +/settings budgetCLAUDE_TIMEOUT_SECONDS- replaced by per-usertimeoutin users.yaml +/settings timeoutCLAUDE_USER- replaced by per-useros_userin users.yamlALLOWED_WORKSPACES- replaced by per-userallowed_workspacesin users.yaml +/settings workspaces
Proposal
Phase 1: Deprecation warnings
When config.py parses these env vars and a users.yaml equivalent exists, log a deprecation warning:
WARNING: CLAUDE_MODEL in env is deprecated. Set per-user defaults in users.yaml
or use /settings model via Telegram. This env var will be removed in a
future release.
The env vars continue to work as global fallback defaults.
Phase 2: Config wizard stops generating them
The config wizard (make config) no longer prompts for these values. #193 already handles ALLOWED_USER_IDS. This issue covers the remaining vars.
Phase 3: Remove from env parsing
After sufficient migration time, remove the env var parsing from config.py. The error messages should guide users to the replacement.
What stays
The env vars in the "truly global" category (see #196) are permanent. This only affects the per-user vars listed above.
Scope
This is the cleanup issue. It should not be started until #193, #195, #197, and #198 are all merged and stable.