Skip to content

Remove toolbox-env.* global file generation#384

Merged
alex-feel merged 1 commit intomainfrom
alex-feel-dev
Apr 13, 2026
Merged

Remove toolbox-env.* global file generation#384
alex-feel merged 1 commit intomainfrom
alex-feel-dev

Conversation

@alex-feel
Copy link
Copy Markdown
Owner

Global toolbox-env.* files in ~/.claude/ used last-write-wins semantics via Path.write_text(), causing each new environment configuration to overwrite the previous one and producing stale/incomplete environment state for multi-config users. Shell profiles (.bashrc, .zshrc, .profile, config.fish) are the authoritative persistence layer and correctly accumulate variables across multiple configurations. Per-command env.* files remain unchanged as they are correctly scoped and auto-loaded by launchers.

BREAKING CHANGE: generate_env_loader_files() no longer creates toolbox-env.sh, toolbox-env.fish, toolbox-env.ps1, or toolbox-env.cmd in ~/.claude/. Users who manually sourced these files should open a new terminal instead, which loads variables from shell profiles. Per-command env.* files in ~/.claude/{cmd}/ are unaffected.

Global toolbox-env.* files in ~/.claude/ used last-write-wins semantics via Path.write_text(), causing each new environment configuration to overwrite the previous one and producing stale/incomplete environment state for multi-config users.
Shell profiles (.bashrc, .zshrc, .profile, config.fish) are the authoritative persistence layer and correctly accumulate variables across multiple configurations.
Per-command env.* files remain unchanged as they are correctly scoped and auto-loaded by launchers.

BREAKING CHANGE: generate_env_loader_files() no longer creates toolbox-env.sh, toolbox-env.fish, toolbox-env.ps1, or toolbox-env.cmd in ~/.claude/.
Users who manually sourced these files should open a new terminal instead, which loads variables from shell profiles.
Per-command env.* files in ~/.claude/{cmd}/ are unaffected.
@github-actions
Copy link
Copy Markdown

Coverage report

Click to see where and how coverage changed

FileStatementsMissingCoverageCoverage
(new stmts)
Lines missing
  scripts
  setup_environment.py 10711-10717
Project Total  

This report was generated by python-coverage-comment-action

@alex-feel alex-feel merged commit d4bb749 into main Apr 13, 2026
15 checks passed
@alex-feel alex-feel deleted the alex-feel-dev branch April 13, 2026 18:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant