> ## Documentation Index
> Fetch the complete documentation index at: https://anaconda.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Using Anaconda behind a company proxy

When using Anaconda's repositories behind a company proxy, you might encounter an HTTP and SSL error like the one below due to custom security profiles managed by your IT department.

```
CondaHTTPError: HTTP 000 CONNECTION FAILED for url https://repo.anaconda.com/pkgs/main/win-64/current_repodata.jsonElapsed:
An HTTP error occurred when trying to retrieve this URL.
HTTP errors are often intermittent, and a simple retry will get you on your way.
If your current network has https://www.anaconda.com blocked, please file
a support request with your network engineering team.
ConnectTimeout(MaxRetryError("HTTPSConnectionPool(host='repo.anaconda.com', port=443):
Max retries exceeded with url: /pkgs/main/win-64/current_repodata.json
(Caused by ConnectTimeoutError(<urllib3.connection.VerifiedHTTPSConnection object
at 0x000001B79FFE3278>, 'Connection to repo.anaconda.com timed out.
(connect timeout=9.15)'))"))
```

There are three potential ways to resolve this error. Start by updating the `.condarc` file before trying the other methods.

## Updating the .condarc file

Anaconda recommends updating your `.condarc` file to include the `proxy_servers` key. This is the preferred method because it will affect only conda and not the system environment variables.

Read more about the [.condarc file and using proxies](https://docs.conda.io/projects/conda/en/latest/user-guide/configuration/settings.html#proxy-servers-configure-conda-for-use-behind-a-proxy-server).

For example:

```sh theme={null}
proxy_servers:
    http: http://username:password@corp.com:8080
    https: https://username:password@corp.com:8080
```

You can see if your proxy is set by running `conda config --show proxy_servers`.

## Updating environment variables

You can also resolve an HTTP and SSL error by updating the system environment variables. This can affect all CLI software across the whole system.

<Tabs>
  <Tab title="Windows">
    To change environment variables on Windows:

    1. In the Start menu, search for "env".
    2. Select "Edit Environment Variables for your account".
    3. Select "Environment Variables...".
    4. Press "New\...".
    5. Add two variables `http_proxy` and `https_proxy` both with the same value: `http://proxy-XX:XXX`
  </Tab>

  <Tab title="macOS">
    To change environment variables on macOS:

    1. Check the current environment variable settings by running `printenv` in the terminal.
    2. To check a specific environment variable, use `echo $variable_name`.
    3. Temporarily change the environment variables by running `export variable_name=variable_value`. You can check if it's there by running `conda info --all`.

    To change your environment variables on macOS permanently, review this [guide](https://medium.com/@youngstone89/setting-up-environment-variables-in-mac-os-28e5941c771c).
  </Tab>

  <Tab title="Linux">
    To change environment variables on Linux:

    1. Run `export variable_name=variable_value`.
    2. To output the value of the environment variable from the shell, run `echo $variable_name`.

    Read more about [setting and unsetting environment variables](https://www.digitalocean.com/community/tutorials/how-to-read-and-set-environmental-and-shell-variables-on-linux).
  </Tab>
</Tabs>

## Using `.netrc` authentication

A `.netrc` file is an alternate way to accomplish the same goal of setting the `*_PROXY` environment variables or configuring things only for conda in the `.condarc` file. The risk in this approach is that changing the environment variables here will affect the system settings as a whole.

Read more about the [.netrc file](https://everything.curl.dev/usingcurl/netrc).
