Sweep 22 Sep 2026 · 17:19Z Build v2.1.280 501 read Stable v2.1.267 Latest v2.1.280 Next v2.1.280 Feeds RSS JSON llms.txt Unofficial
One change · claude-docs

Use Claude Science on a corporate network changed

claude-science/corporate-networks

Nearest release: v2.1.268, published under an hour after this site recorded the change. Shown because the two are within 24 hours of each other. Nothing here says the release caused the edit.

Recorded here
Lines+38added
Lines−30removed
From line 22 where the diff opens
First seen 14 Aug 2026 this site's first read of the page
Recorded edits4to this page, all time

### System proxy settings on macOS and Windows ### macOS system proxy settings

The whole hunk

from line 22, old and new numbered
/
lines
from line 22
2222 
2323## What works on a corporate network
2424 
25| Network shape | macOS | Linux |
26| ---------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
27| Explicit outbound HTTP proxy (HTTP CONNECT) | Supported; detected automatically from the system settings | Supported |
28| Proxy that requires Basic authentication | Supported, with credentials in the proxy address | Supported, with credentials in the proxy address |
29| Proxy that requires NTLM, Negotiate, or Kerberos authentication | Not supported | Not supported |
30| Network that only publishes a PAC or WPAD file | Not supported | Not supported |
31| SOCKS proxy | Not supported | Not supported |
32| TLS inspection on the app's own connections (Zscaler, Netskope, and similar) | Supported with a CA bundle setting | Supported with a CA bundle setting |
33| TLS inspection on conda package downloads | Supported with a CA bundle setting | Supported with a CA bundle setting |
34| TLS inspection on pip package downloads | Supported, with the corporate root also installed in the operating system's trust store (see [Corporate root for package downloads](#corporate-root-for-package-downloads)) | Supported, with the corporate root also installed in the operating system's trust store (see [Corporate root for package downloads](#corporate-root-for-package-downloads)) |
35| Internal package mirror (Artifactory, Nexus) | Supported | Supported |
36| Internal package mirror reached only through the corporate proxy | Not supported | Not supported |
37| Authenticated package mirror | Supported, with the credential saved in Settings | Supported, with the credential saved in Settings |
38| Local connectors (the bundled research tools) behind TLS inspection | Not supported | Not supported |
25| Network shape | macOS | Windows | Linux |
26| ---------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
27| Explicit outbound HTTP proxy (HTTP CONNECT) | Supported; detected automatically from the system settings | Supported; detected automatically from Windows proxy settings | Supported |
28| Proxy that requires Basic authentication | Supported, with credentials in the proxy address | Supported, with credentials in the proxy address | Supported, with credentials in the proxy address |
29| Proxy that requires NTLM, Negotiate, or Kerberos authentication | Not supported | Not supported | Not supported |
30| Network that only publishes a PAC or WPAD file | Not supported | Supported in the app window, which follows the proxy the script resolves (see [System proxy settings on macOS and Windows](#system-proxy-settings-on-macos-and-windows)) | Not supported |
31| SOCKS proxy | Not supported | Not supported | Not supported |
32| TLS inspection on the app's own connections (Zscaler, Netskope, and similar) | Supported with a CA bundle setting | Supported; a corporate root in the computer's certificate store is trusted automatically | Supported with a CA bundle setting |
33| TLS inspection on conda package downloads | Supported with a CA bundle setting | Supported automatically through the Windows certificate store | Supported with a CA bundle setting |
34| TLS inspection on pip package downloads | Supported, with the corporate root also installed in the operating system's trust store (see [Corporate root for package downloads](#corporate-root-for-package-downloads)) | Supported automatically through the Windows certificate store | Supported, with the corporate root also installed in the operating system's trust store (see [Corporate root for package downloads](#corporate-root-for-package-downloads)) |
35| Internal package mirror (Artifactory, Nexus) | Supported | Supported | Supported |
36| Internal package mirror reached only through the corporate proxy | Not supported | Not supported | Not supported |
37| Authenticated package mirror | Supported, with the credential saved in Settings | Supported, with the credential saved in Settings | Supported, with the credential saved in Settings |
38| Local connectors (the bundled research tools) behind TLS inspection | Not supported | Not supported | Not supported |
3939 
4040## Point package installs at an internal mirror
4141 
from line 68
6868 noarch/<package>.conda
6969 linux-64/repodata.json
7070 osx-arm64/...
71 win-64/...
7172 bioconda/
7273 noarch/...
7374```
from line 85
8485 
8586For a mirror that requires authentication, enter one username and access token under **Settings** > **Network** > **Package mirror** > **Mirror credentials**, using an account scoped to reading the mirror, then run the check so it signs in with the credential. The one credential is presented to both the conda-mirror host and the pip-index host, so if those need different accounts, keep one of them anonymous; the credential is sent only to `https://` mirror hosts.
8687 
87Claude Science stores the credential encrypted in its local database, using a key kept in a file only the member's account can read (on macOS, a copy of that key is in the keychain for recovery), and also writes the credential, automatically, to a plaintext `.netrc` at `~/.claude-science/conda/.netrc` that the conda and pip download tools read during environment builds. Code that runs while an environment builds (a package's `setup.py`, for example) can read that file, Claude's analysis code cannot read either location, and a `.netrc` in the member's home directory is not used for these downloads. For a fleet that manages credentials centrally, deploy that `.netrc` file yourself instead, one `machine <mirror hostname>` block per mirror host with `login` and `password` lines and no comments, and use either the file or Settings, not both: a credential saved in Settings rewrites the file from the saved value at the save and at every restart and environment build, while a file deployed with no credential saved in Settings is left alone.
88Claude Science stores the credential encrypted in its local database, using a key kept in a file only the member's account can read (on macOS, a copy of that key is in the keychain for recovery), and also writes the credential, automatically, to a plaintext `.netrc` at `~/.claude-science/conda/.netrc` that the conda and pip download tools read during environment builds. Code that runs while an environment builds (a package's `setup.py`, for example) can read that file, Claude's analysis code cannot read either location, and a `.netrc` in the member's home directory is not used for these downloads. For a macOS or Linux fleet that manages credentials centrally, deploy that `.netrc` file yourself instead (on Windows, save the credential in Settings), one `machine <mirror hostname>` block per mirror host with `login` and `password` lines and no comments, and use either the file or Settings, not both: a credential saved in Settings rewrites the file from the saved value at the save and at every restart and environment build, while a file deployed with no credential saved in Settings is left alone.
8889 
8990Environments a member registers from an existing project folder install their packages inside the analysis sandbox during a session, where the credential is hidden by design, so those environments need a mirror that allows anonymous reads.
9091 
from line 104
1031041. The standard proxy variables in its own process environment: `HTTPS_PROXY`, `HTTP_PROXY`, and `NO_PROXY` (lowercase spellings also work). `ALL_PROXY` fills in for either proxy variable that is unset, an empty variable counts as unset, and `NO_PROXY="*"` sends all traffic directly.
1041052. The `[network] proxy` key in `config.toml`, the form to [deploy with device management](/docs/claude-science/manage-on-devices#deploy-configuration-with-device-management).
1051063. The proxy field under **Settings** > **Network**, where a member can paste a proxy address by hand. It takes effect at the next restart, and when `config.toml` sets the proxy, the field shows as managed by your organization so members cannot override it.
1064. On macOS only, an explicit web proxy configured in the system's network settings, which Claude Science detects automatically.
1074. On macOS and Windows, the proxy configured in the operating system's settings, which Claude Science detects automatically: an explicit web proxy in macOS network settings, or the proxy server in Windows proxy settings.
107108 
108109Write the proxy as an `http://` URL; if it requires a username and password, embed them in the address and percent-encode special characters (for example, `@` in a password becomes `%40`):
109110 
from line 116
115116 
116117An `https://` (TLS-to-proxy) address works for the app's own connections only. Sandboxed package downloads tunnel only through `http://` proxies, so with an `https://` address they skip the proxy and connect directly; an `http://` address keeps every connection on the proxy.
117118 
118Claude Science always bypasses the proxy for loopback addresses (`localhost`, `127.0.0.1`, and their IPv6 equivalents), whether or not they appear in `NO_PROXY`, so the app and its background service can always talk to each other. Add your internal domains to `NO_PROXY`; entries match a host exactly or as a domain suffix (`.example.corp` and `example.corp` behave the same), and CIDR ranges such as `10.0.0.0/8` are not matched. `NO_PROXY` entries from the environment, the configuration file, and (when the system settings supply the proxy address) the macOS bypass list are combined.
119Claude Science always bypasses the proxy for loopback addresses (`localhost`, `127.0.0.1`, and their IPv6 equivalents), whether or not they appear in `NO_PROXY`, so the app and its background service can always talk to each other. Add your internal domains to `NO_PROXY`; entries match a host exactly or as a domain suffix (`.example.corp` and `example.corp` behave the same), and CIDR ranges such as `10.0.0.0/8` are not matched. `NO_PROXY` entries from the environment, the configuration file, and (when the system settings supply the proxy address) the macOS or Windows bypass list are combined.
119120 
120121### Proxy settings in the configuration file
121122 
122123For a fleet, set `[network] proxy` and `no_proxy` in `config.toml`; both keys and their formats are in the [configuration file reference](/docs/claude-science/configuration-file-reference#app-connection-keys).
123124 
124### macOS system proxy settings
125### System proxy settings on macOS and Windows
125126 
126Claude Science detects an explicit system web proxy automatically, so a machine whose proxy your MDM already sets needs no Claude Science configuration unless the proxy requires authentication. macOS keeps an authenticated proxy entry's credentials in the keychain, where Claude Science cannot read them, so connections through the detected proxy fail with HTTP 407 (see [the troubleshooting entry](#the-proxy-requires-its-own-sign-in-http-407)); set `[network] proxy` with the credentials in the address instead. When the network publishes only a PAC or WPAD file, Claude Science detects it and names the PAC URL in the sign-in error, but does not evaluate it. Set `[network] proxy` to the proxy the PAC file resolves to for Anthropic's hosts.
127On macOS, Claude Science detects an explicit system web proxy automatically, so a machine whose proxy your MDM already sets needs no Claude Science configuration unless the proxy requires authentication. macOS keeps an authenticated proxy entry's credentials in the keychain, where Claude Science cannot read them, so connections through the detected proxy fail with HTTP 407 (see [the troubleshooting entry](#the-proxy-requires-its-own-sign-in-http-407)); set `[network] proxy` with the credentials in the address instead. When the network publishes only a PAC or WPAD file, Claude Science on macOS detects it and names the PAC URL in the sign-in error, but does not evaluate it. Set `[network] proxy` to the proxy the PAC file resolves to for Anthropic's hosts.
127128 
129On Windows, Claude Science reads the proxy server and bypass list from Windows proxy settings at startup, which covers a proxy set under **Settings** > **Network & internet** > **Proxy**, in Internet Options, or by Group Policy, so a PC whose proxy your device management already sets needs no Claude Science configuration unless the proxy requires authentication. Windows proxy settings carry no credentials either, so for a proxy that requires Basic authentication, set `[network] proxy` with the credentials in the address. Bypass entries other than host names and domain suffixes are not applied, including the **Don't use the proxy server for local (intranet) addresses** option and entries written as IP ranges, so list internal domains in `[network] no_proxy`. To restart Claude Science on Windows after a settings change, quit it from its notification-area icon and open it again, because closing the window leaves it running.
130 
131When the network publishes only a PAC or WPAD file, the Claude Science app window follows the proxy that the script resolves for Anthropic's hosts and restarts the app's background service once to apply it. A script-resolved proxy that demands a sign-in of any kind, refuses the connection, or does not answer within a few seconds is not used, and Claude Science keeps connecting as it did before, which on such a network means directly. For a proxy that needs credentials, set `[network] proxy` with them in the address. Claude Science started from a terminal with `claude-science serve` does not evaluate PAC files, so set `[network] proxy` there too.
132 
128133### How the environment variables reach the app
129134 
130135How the variables reach the app depends on the operating system:
131136 
132137* On macOS, the menu-bar app reads `~/.claude-science/env`, a file of `KEY=VALUE` lines (`export KEY=VALUE` also works), when it launches. Put the three variables there, then quit and reopen the app; an app started from the Dock or Finder does not see variables exported in a terminal. The file's `NO_PROXY` entries merge with the other sources rather than replacing them.
138* On Windows, the app reads the variables from the user's environment when it starts, so set them as user environment variables, then quit Claude Science from its notification-area icon and open it again; variables typed into an open Command Prompt or PowerShell window do not reach an app started from the Start menu. Because Claude Science already follows Windows proxy settings, most PCs need no variables, and `[network] proxy` in `config.toml` is the form to deploy.
133139* On Linux, export the variables in the shell or service unit that starts `claude-science serve`. The `env` file is read only by the macOS app.
134140 
135Only Basic proxy authentication, supplied in the proxy address, is supported; NTLM, Negotiate, and Kerberos proxies are not, and neither are networks whose only published proxy configuration is a PAC or WPAD file, because Claude Science does not evaluate PAC files.
141Only Basic proxy authentication, supplied in the proxy address, is supported; NTLM, Negotiate, and Kerberos proxies are not. On macOS and Linux, networks whose only published proxy configuration is a PAC or WPAD file are not supported either, because Claude Science does not evaluate PAC files there. On Windows, the app window follows a PAC or WPAD file as described under [System proxy settings on macOS and Windows](#system-proxy-settings-on-macos-and-windows).
136142 
137143<Note>
138144 For a proxy that only speaks NTLM or Kerberos, a local relay such as `cntlm` or `px` works: the relay runs on the workstation, authenticates to your corporate proxy with the user's credentials, and exposes a plain HTTP proxy on the loopback interface. Point `HTTPS_PROXY` and `HTTP_PROXY` at the relay (for example `http://127.0.0.1:3128`). The loopback bypass governs which destinations skip the proxy, not whether the proxy can be reached, so a loopback relay works as a proxy address.
from line 154
148154 
149155### Corporate root for app connections
150156 
151The `[network] ca_bundle` key in `config.toml` points at a PEM file whose certificates Claude Science adds to its default trust for sign-in, the Claude API, Anthropic-hosted connectors, update checks, and [cloud storage](/docs/claude-science/cloud-storage) access from Settings. For cloud storage, the corporate root applies to Amazon S3 and S3-compatible connections, and to Google Cloud Storage connections that use an HMAC key. The public roots stay in place, so the file holds only your corporate root. The path rules are in the [configuration file reference](/docs/claude-science/configuration-file-reference#app-connection-keys). A failing value is ignored with a warning rather than stopping the app, so a sign-in error behind inspection usually means the bundle did not load, and the app re-reads the bundle every few minutes, so a corrected file takes effect without a restart. When you deploy a `config.toml`, deploy the bundle files alongside it.
157The `[network] ca_bundle` key in `config.toml` points at a PEM file whose certificates Claude Science adds to its default trust for sign-in, the Claude API, Anthropic-hosted connectors, update checks, and [cloud storage](/docs/claude-science/cloud-storage) access from Settings. For cloud storage, the corporate root applies to Amazon S3 and S3-compatible connections, and to Google Cloud Storage connections that use an HMAC key. The public roots stay in place, so the file holds only your corporate root. The path rules are in the [configuration file reference](/docs/claude-science/configuration-file-reference#app-connection-keys). A failing value is ignored with a warning rather than stopping the app, so a sign-in error behind inspection usually means the bundle did not load, and the app re-reads the bundle every few minutes (about every 30 minutes on Windows), so a corrected file takes effect without a restart. When you deploy a `config.toml`, deploy the bundle files alongside it.
152158 
159On Windows, when neither `[network] ca_bundle` nor `[conda] ca_bundle` (the **CA bundle path** field in **Settings**) is set, Claude Science automatically trusts the root certificates installed for the whole computer (the computer's **Trusted Root Certification Authorities** store, not the current user's) and rechecks that store about every 30 minutes, so a PC whose device management already installs your corporate root there needs no setting. Claude Science reads that store with Windows PowerShell, so on PCs where Windows PowerShell is blocked or restricted for users, set `[network] ca_bundle` for the app's own connections and `[conda] ca_bundle` for code inside sessions instead of relying on the store. If you do set `[network] ca_bundle` on Windows, the file is used instead of the store; write its path in single quotes, for example `'C:\ProgramData\corp\corporate-ca.pem'`, because a backslash inside double quotes is a TOML escape and a file that fails to parse stops Claude Science from starting.
160 
153161### Corporate root for package downloads
154162 
155Conda package downloads for the analysis sandbox use their own setting, `[conda] ca_bundle`, the complete list of roots those downloads trust, so it must contain the public roots your packages come from as well as your corporate root. On Linux, when the key is not set, Claude Science uses your distribution's system certificate bundle (maintained by `update-ca-certificates` or `update-ca-trust`), so a Linux image that already trusts your corporate root needs no setting at all.
163Conda package downloads for the analysis sandbox use their own setting, `[conda] ca_bundle`, the complete list of roots those downloads trust, so it must contain the public roots your packages come from as well as your corporate root. On Linux, when the key is not set, Claude Science uses your distribution's system certificate bundle (maintained by `update-ca-certificates` or `update-ca-trust`), so a Linux image that already trusts your corporate root needs no setting at all. On Windows, leave `[conda] ca_bundle` unset unless Windows PowerShell is blocked or restricted for users (covered under [Corporate root for app connections](#corporate-root-for-app-connections)): package downloads there verify certificates through the Windows certificate store and do not read the key, so a corporate root installed for the whole computer is trusted with no setting. A `[conda] ca_bundle` file that exists on a Windows PC becomes the complete certificate list that code inside sessions trusts, in place of the store, and the app's own connections then stop trusting the Windows certificate store automatically, so set `[network] ca_bundle` as well.
156164 
157`[conda] ca_bundle` affects package downloads only and never fixes sign-in. The CA bundle path field on the Settings page sets this same `[conda]` key, so filling it in helps package downloads only. Behind TLS inspection you also need `[network] ca_bundle`, which has no Settings field and is set in `config.toml`.
165On macOS and Linux, `[conda] ca_bundle` affects package downloads only, and it never fixes sign-in. The CA bundle path field on the Settings page sets this same `[conda]` key, so filling it in helps package downloads only, and on Windows leave the field empty. Behind TLS inspection you also need `[network] ca_bundle`, which has no Settings field and is set in `config.toml`.
158166 
159pip verifies package downloads against the operating system's trust store, and in this release setting `[conda] ca_bundle` alone may not be sufficient for pip, so also install the corporate root in that trust store: on Linux with `update-ca-certificates` or `update-ca-trust`, and on macOS in the system keychain through your MDM.
167pip verifies package downloads against the operating system's trust store, and in this release setting `[conda] ca_bundle` alone may not be sufficient for pip, so also install the corporate root in that trust store: on Linux with `update-ca-certificates` or `update-ca-trust`, on macOS in the system keychain through your MDM, and on Windows in the computer's Trusted Root Certification Authorities store, which pip reads in environments on Python 3.10 or later, the default.
160168 
161169```toml theme={null}
162170[conda]
from line 174
166174The same path rules apply as for `[network] ca_bundle`; the [configuration file reference](/docs/claude-science/configuration-file-reference#package-download-keys) lists them.
167175 
168176<Warning>
169 Do not point `[conda] ca_bundle` at the single-root file you use for `[network] ca_bundle`: the package-download setting replaces the whole trust list, so a file containing only your corporate root breaks every package download on any network your proxy does not inspect, such as a laptop on home Wi-Fi. Build the `[conda]` bundle from your system's public roots plus the corporate root.
177 Do not point `[conda] ca_bundle` at the single-root file you use for `[network] ca_bundle`: the package-download setting replaces the whole trust list, so a file containing only your corporate root breaks every package download (on Windows, every download made by code inside a session) on any network your proxy does not inspect, such as a laptop on home Wi-Fi. Build the `[conda]` bundle from your system's public roots plus the corporate root.
170178</Warning>
171179 
172180### What the certificate settings do not cover
173181 
174Code that Claude runs inside a session, such as a `pip install` typed into a cell or an R `install.packages()` call, is covered on macOS but not on Linux. On macOS, Python, pip, curl, git, and downloads from R in the session's environments trust the same certificates as environment builds: the `[conda] ca_bundle` file if you set one, otherwise the system's public roots plus the corporate root Claude Science finds in the macOS keychain (`[network] ca_bundle` alone does not reach in-session code). On Linux, neither bundle reaches code inside a session: curl and git there honor a root installed in the operating system's trust store, but the environment's Python, pip, and R see public roots only, so behind TLS inspection, have Claude install packages into an environment rather than in a cell.
182Code that Claude runs inside a session, such as a `pip install` typed into a cell or an R `install.packages()` call, is covered on macOS but not on Linux. On macOS, Python, pip, curl, git, and downloads from R in the session's environments trust the same certificates as environment builds: the `[conda] ca_bundle` file if you set one, otherwise the system's public roots plus the corporate root Claude Science finds in the macOS keychain (`[network] ca_bundle` alone does not reach in-session code). On Windows, Python, pip, and curl inside a session are pointed at an export of the root certificates installed for the whole computer (or the `[conda] ca_bundle` file if one is set). On Linux, neither bundle reaches code inside a session: curl and git there honor a root installed in the operating system's trust store, but the environment's Python, pip, and R see public roots only, so behind TLS inspection, have Claude install packages into an environment rather than in a cell.
175183 
176184The local connectors (the bundled research tools) do not work behind TLS inspection in this release: they run in their own Python environment, and nothing delivers your corporate root to that environment, so their connections fail certificate verification. This is a known limitation. Claude Science does detect TLS inspection from your configured CA bundle and relax the connectors' strict certificate-profile check, which stops them from rejecting a corporate root whose Basic Constraints extension is not marked critical, but that relaxation adds no trust. The Anthropic-hosted connectors keep working once `[network] ca_bundle` is set. Connector installs that use `npm` also keep npm's own certificate configuration.
177185 
from line 195
187195 
188196### The proxy requires its own sign-in (HTTP 407)
189197 
190Sign-in fails with this message when the proxy demands credentials the app is not sending, because the proxy address carries none or the proxy was detected from the macOS system settings, which never supply credentials. Include the Basic-authentication credentials in the proxy address (percent-encoding special characters) under **Settings** > **Network** > **Proxy address**, in `[network] proxy`, or in `HTTPS_PROXY`, then restart the app. Only Basic authentication works, so a proxy that requires NTLM, Negotiate, or Kerberos cannot be satisfied this way. During an environment build, a proxy authentication failure surfaces as a generic HTTP 502 error rather than a 407 message.
198Sign-in fails with this message when the proxy demands credentials the app is not sending, because the proxy address carries none or the proxy was detected from the macOS or Windows system settings, which never supply credentials. Include the Basic-authentication credentials in the proxy address (percent-encoding special characters) under **Settings** > **Network** > **Proxy address**, in `[network] proxy`, or in `HTTPS_PROXY`, then restart the app. Only Basic authentication works, so a proxy that requires NTLM, Negotiate, or Kerberos cannot be satisfied this way. During an environment build, a proxy authentication failure surfaces as a generic HTTP 502 error rather than a 407 message.
191199 
192200### Package downloads are being blocked by network policy
193201