The pixi shell command doesn't work if I have enabled iTerm2 shell integration AND I've run it2check in my .zshrc file. When I attempt to run pixi shell, I see a command printed to the screen, but it isn't actually sourced appropriately:
Below is the entire contents of my .zshrc. (And I have no .zprofile.) If I DON'T call it2check from within my .zshrc file, then pixi shell works as expected. (But I do want to be able to call it2check in .zshrc if possible.)
# .zshrc
# Enable iTerm2 shell integration
test -e "${HOME}/.iterm2_shell_integration.zsh" && source "${HOME}/.iterm2_shell_integration.zsh"
# Check: iTerm2 detection
# If I remove this, then pixi shell works as expected.
if it2check; then
echo "You're using iTerm!"
fi
# Enable pixi
export PATH=/Users/bergs/.pixi/bin:$PATH
BTW, I had the same issue when using ssh to log in to a Linux machine on which I use bash instead of zsh. On that machine, my .bashrc file also calls it2check, and pixi shell also fails in the same way.
pixi.toml
```toml
[project]
channels = ["conda-forge"]
name = "pixi-hello-world"
platforms = ["osx-64"]
[tasks]
hello = "python hello_world.py"
[dependencies]
python = ">=3.12.5,<4"
```
Other boilerplate
### Checks
- [X] I have checked that this issue has not already been reported.
- [X] I have confirmed this bug exists on the [latest version](https://github.com/prefix-dev/pixi/releases) of pixi, using `pixi --version`.
- I'm using `pixi 0.29.0`
### Expected behavior
`pixi shell` should open a subshell in which the correct environment is active.
### pixi info
```
Pixi version: 0.29.0
Platform: osx-64
Virtual packages: __unix=0=0
: __osx=13.6.6=0
: __archspec=1=skylake
Cache dir: /Users/bergs/Library/Caches/rattler/cache
Auth storage: /Users/bergs/.rattler/credentials.json
Config locations: No config files found
Project
------------
Name: pixi-hello-world
Manifest file: /Users/bergs/workspace/pixi-hello-world/pixi.toml
Last updated: 09-09-2024 15:04:45
Environments
------------
Environment: default
Features: default
Channels: conda-forge
Dependency count: 1
Dependencies: python
Target platforms: osx-64
Tasks: hello
```
Issue description
(Disclaimer: I'm unsure if this is a
pixi
bug or really an iTerm2 bug.)On my Mac, I use iTerm2 with its "shell integration" feature.
The
pixi shell
command doesn't work if I have enabled iTerm2 shell integration AND I've runit2check
in my.zshrc
file. When I attempt to runpixi shell
, I see a command printed to the screen, but it isn't actually sourced appropriately:Reproducible example
Below is the entire contents of my
.zshrc
. (And I have no.zprofile
.) If I DON'T callit2check
from within my.zshrc
file, thenpixi shell
works as expected. (But I do want to be able to callit2check
in.zshrc
if possible.)FWIW, here's the source code for
it2check
.BTW, I had the same issue when using
ssh
to log in to a Linux machine on which I usebash
instead ofzsh
. On that machine, my.bashrc
file also callsit2check
, andpixi shell
also fails in the same way.pixi.toml
```toml [project] channels = ["conda-forge"] name = "pixi-hello-world" platforms = ["osx-64"] [tasks] hello = "python hello_world.py" [dependencies] python = ">=3.12.5,<4" ```Other boilerplate
### Checks - [X] I have checked that this issue has not already been reported. - [X] I have confirmed this bug exists on the [latest version](https://github.com/prefix-dev/pixi/releases) of pixi, using `pixi --version`. - I'm using `pixi 0.29.0` ### Expected behavior `pixi shell` should open a subshell in which the correct environment is active. ### pixi info ``` Pixi version: 0.29.0 Platform: osx-64 Virtual packages: __unix=0=0 : __osx=13.6.6=0 : __archspec=1=skylake Cache dir: /Users/bergs/Library/Caches/rattler/cache Auth storage: /Users/bergs/.rattler/credentials.json Config locations: No config files found Project ------------ Name: pixi-hello-world Manifest file: /Users/bergs/workspace/pixi-hello-world/pixi.toml Last updated: 09-09-2024 15:04:45 Environments ------------ Environment: default Features: default Channels: conda-forge Dependency count: 1 Dependencies: python Target platforms: osx-64 Tasks: hello ```