feature: language toolchains and scripted HTTPS clients keep working
@huang195 is already working on this.
Since Sep 10, 2026.
- Dominant language
- Go
- Stars
- 13
- Forks
- 40
- Avg merge
- 12h 17m
- Merged PRs (30d)
- 156
Description
Feature Description
A different failure mode from the git/gh/ssh case. These tools do not use the OS trust store,
so each needs its own CA environment variable, and the semantics differ per tool.
cmd_claudecode.go already documents the matrix: NODE_EXTRA_CA_CERTS extends the trust
store so it gets ca.crt, while SSL_CERT_FILE (Go: gh, abctl), GIT_SSL_CAINFO (git,
including the fetches go mod makes), REQUESTS_CA_BUNDLE (Python requests) and
CURL_CA_BUNDLE replace it, so they get bundle.crt — get that wrong and every unproxied
TLS call fails.
The gap: those variables are written into Claude Code's settings.json env block, so they
only reach processes Claude Code spawns. A tool the user runs in their own shell gets none of them.
Proposed Solution
- Go module fetch /
go get,gh, and other Go CLIs run directly by the user -
npm/pnpm(Node),pip/uv(Python requests) -
curlandwget, with and without proxy env set - Shell scripts inheriting
HTTP_PROXY,HTTPS_PROXY,ALL_PROXY,NO_PROXY - macOS Go gap:
SSL_CERT_FILEis inert on darwin — Go resolves roots through
Security.framework and reads no files, so a Go tool cannot be pointed at a CA file by
environment at all. Decide the supported answer (keychain install, or documented
limitation) rather than leavingdarwinGoNoteas the only mitigation - Document the intended behaviour per tool: proxied, passed through, or unsupported
- Unsupported combinations fail with an actionable message, never intermittently
Additional Context
Part of the Cortex v0.9.0 release. Gates exit criterion 2 (Cortex is invisible to everything else).
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.