Prevents Git Bash path conversion issues when running Anubis commands on Windows. Use when building targets with cargo run or anubis.exe that use // target paths.
When running Claude Code on Windows in Git Bash (MSYS/MinGW environment), the shell automatically converts paths starting with // to /. This breaks Anubis target paths like //mode:win_dev or //samples/basic/simple_cpp:simple_cpp.
Example of the problem:
# What you type:
cargo run --release -- build -m //mode:win_dev -t //samples/basic/simple_cpp:simple_cpp
# What Git Bash sends to the command:
cargo run --release -- build -m /mode:win_dev -t /examples/simple_cpp:simple_cpp
This causes Anubis to fail because it expects target paths to start with //.
Use the MSYS_NO_PATHCONV=1 environment variable prefix to disable Git Bash path conversion.
cargo run commands:MSYS_NO_PATHCONV=1 cargo run --release -- build -m //mode:win_dev -t //samples/basic/simple_cpp:simple_cpp
anubis.exe directly:MSYS_NO_PATHCONV=1 ./target/release/anubis.exe build -m //mode:win_dev -t //samples/basic/simple_cpp:simple_cpp
MSYS_NO_PATHCONV=1 cargo run --release -- build --workers 16 -l debug --mode //mode:win_release --targets //samples/basic/nested_staticlib_cpp/...
Apply MSYS_NO_PATHCONV=1 when ALL of these conditions are true:
host_platform is windows)MSYSTEM env var or /usr/bin/bash path)// paths (Anubis target notation)To detect if you're in Git Bash on Windows:
# Check if MSYSTEM is set (Git Bash sets this)
echo $MSYSTEM
# Or check the shell path
echo $SHELL
If MSYSTEM is set to MINGW64, MINGW32, or MSYS, you're in Git Bash and need the prefix.
MSYS_NO_PATHCONV=1 cargo run --release -- build -m //mode:win_dev -t //samples/basic/simple_cpp:simple_cpp
MSYS_NO_PATHCONV=1 cargo run --release -- build -m //mode:win_release -t //samples/basic/simple_cpp:simple_cpp
MSYS_NO_PATHCONV=1 cargo run --release -- build -m //mode:linux_dev -t //samples/basic/simple_cpp:simple_cpp
MSYS_NO_PATHCONV=1 cargo run --release -- build -m //mode:win_dev -t //samples/basic/...
MSYS_NO_PATHCONV=1 cargo run --release -- build -l debug -m //mode:win_dev -t //samples/basic/simple_cpp:simple_cpp
MSYS_NO_PATHCONV=1 cargo run --release -- build --workers 16 -l trace -m //mode:win_dev -t //samples/basic/simple_cpp:simple_cpp
MSYS_NO_PATHCONV=1 cargo run --release -- build -m //mode:win_dev -t //samples/basic/simple_cpp:simple_cpp -t //samples/basic/trivial_cpp:trivial_cpp
| Action | Command |
|---|---|
| Build target | MSYS_NO_PATHCONV=1 cargo run --release -- build -m //mode:MODE -t //path:target |
| Install toolchains | cargo run --release -- install-toolchains (no // paths, no prefix needed) |
| Build Anubis itself | cargo build --release (no // paths, no prefix needed) |
| Run tests | cargo test (no // paths, no prefix needed) |
MSYS_NO_PATHCONV=1 prefix is harmless on non-Windows systems or non-Git-Bash shells, but it's only necessary in Git Bash on Windows.// path arguments. Standard cargo commands like cargo build or cargo test don't need the prefix.If you see errors like:
Error: Failed to parse target path '/mode:win_dev'Error: Target path must start with '//'Error: Invalid target specificationThese indicate Git Bash path conversion is occurring. Add the MSYS_NO_PATHCONV=1 prefix.