litellm/tests/e2e/claude_code
mateo-berri d23f919e2c fix(claude_code): scope the pinned claude bin dir to the env -i blocks that spawn claude
The npm install's node_modules/.bin was prepended to PATH at script
scope, so every later step (git, gh with the agent token, curl, uv
sync, the docs publish) ran with package-controlled binaries first on
PATH; a compromised dependency shipping a bin named git or gh would
have executed with the full systemd-injected token environment. The
bin dir is now captured once as CLAUDE_CLI_BIN and prepended only
inside the two env -i allowlists that need claude: the version probe
and the pytest invocation (cli_driver re-derives its allowlist from
the pytest env). A structural test pins the exactly-two prepends and
rejects any script-scope PATH reassignment. Anchor lookups in the
touched test files now fail via pytest.fail naming the missing anchor
instead of raising a bare ValueError.
2026-07-15 17:35:58 -07:00
..
_builder_unit_tests test(claude_code): move the Claude Code compatibility matrix under tests/e2e (#32548) 2026-07-14 19:19:03 -07:00
_driver_unit_tests test(claude_code): move the Claude Code compatibility matrix under tests/e2e (#32548) 2026-07-14 19:19:03 -07:00
_pr_gate_unit_tests test(claude_code): move the Claude Code compatibility matrix under tests/e2e (#32548) 2026-07-14 19:19:03 -07:00
_publisher_unit_tests fix(claude_code): scope the pinned claude bin dir to the env -i blocks that spawn claude 2026-07-15 17:35:58 -07:00
basic_messaging_non_streaming test(claude_code): move the Claude Code compatibility matrix under tests/e2e (#32548) 2026-07-14 19:19:03 -07:00
basic_messaging_streaming test(claude_code): move the Claude Code compatibility matrix under tests/e2e (#32548) 2026-07-14 19:19:03 -07:00
count_tokens test(claude_code): move the Claude Code compatibility matrix under tests/e2e (#32548) 2026-07-14 19:19:03 -07:00
cron_vm fix(claude_code): scope the pinned claude bin dir to the env -i blocks that spawn claude 2026-07-15 17:35:58 -07:00
long_context_1m test(claude_code): move the Claude Code compatibility matrix under tests/e2e (#32548) 2026-07-14 19:19:03 -07:00
pdf_input test(claude_code): move the Claude Code compatibility matrix under tests/e2e (#32548) 2026-07-14 19:19:03 -07:00
prompt_caching_1h test(claude_code): move the Claude Code compatibility matrix under tests/e2e (#32548) 2026-07-14 19:19:03 -07:00
prompt_caching_5m test(claude_code): move the Claude Code compatibility matrix under tests/e2e (#32548) 2026-07-14 19:19:03 -07:00
structured_outputs test(claude_code): move the Claude Code compatibility matrix under tests/e2e (#32548) 2026-07-14 19:19:03 -07:00
thinking test(claude_code): move the Claude Code compatibility matrix under tests/e2e (#32548) 2026-07-14 19:19:03 -07:00
thinking_with_tool_use test(claude_code): move the Claude Code compatibility matrix under tests/e2e (#32548) 2026-07-14 19:19:03 -07:00
tool_search test(claude_code): move the Claude Code compatibility matrix under tests/e2e (#32548) 2026-07-14 19:19:03 -07:00
tool_use test(claude_code): move the Claude Code compatibility matrix under tests/e2e (#32548) 2026-07-14 19:19:03 -07:00
tool_use_streaming test(claude_code): move the Claude Code compatibility matrix under tests/e2e (#32548) 2026-07-14 19:19:03 -07:00
vision test(claude_code): move the Claude Code compatibility matrix under tests/e2e (#32548) 2026-07-14 19:19:03 -07:00
web_search test(claude_code): move the Claude Code compatibility matrix under tests/e2e (#32548) 2026-07-14 19:19:03 -07:00
__init__.py test(claude_code): move the Claude Code compatibility matrix under tests/e2e (#32548) 2026-07-14 19:19:03 -07:00
_basic_messaging.py test(claude_code): move the Claude Code compatibility matrix under tests/e2e (#32548) 2026-07-14 19:19:03 -07:00
cli_driver.py test(claude_code): move the Claude Code compatibility matrix under tests/e2e (#32548) 2026-07-14 19:19:03 -07:00
conftest.py test(claude_code): move the Claude Code compatibility matrix under tests/e2e (#32548) 2026-07-14 19:19:03 -07:00
http_probe.py test(claude_code): move the Claude Code compatibility matrix under tests/e2e (#32548) 2026-07-14 19:19:03 -07:00
manifest.yaml test(claude_code): move the Claude Code compatibility matrix under tests/e2e (#32548) 2026-07-14 19:19:03 -07:00
matrix_builder.py test(claude_code): move the Claude Code compatibility matrix under tests/e2e (#32548) 2026-07-14 19:19:03 -07:00
pr_gate_version_resolver.py fix(claude_code): pin daily compat run to the 3-day-buffered claude-code version 2026-07-15 16:30:08 -07:00
rate_limiter.py test(claude_code): move the Claude Code compatibility matrix under tests/e2e (#32548) 2026-07-14 19:19:03 -07:00
run_compat.sh test(claude_code): move the Claude Code compatibility matrix under tests/e2e (#32548) 2026-07-14 19:19:03 -07:00
sample_compatibility-matrix.json test(claude_code): move the Claude Code compatibility matrix under tests/e2e (#32548) 2026-07-14 19:19:03 -07:00
test_config.yaml test(claude_code): move the Claude Code compatibility matrix under tests/e2e (#32548) 2026-07-14 19:19:03 -07:00