Alternar tema

Configuração de proxy empresarial no Cursor: guia completo do HTTP_PROXY à importação de certificados

Easton editorial illustration: Cursor request stream confronting two gateway paths: trusted proxy tunnel and broken certificate wall

"A documentação oficial do Cursor para configuração de rede empresarial explica em detalhes os três caminhos de configuração de proxy: variáveis de ambiente, settings.json e parâmetros de inicialização"

"Usuários do fórum do Cursor relataram o problema de requisições HTTP/2 não seguirem a configuração de proxy e discutiram a solução"

Você clica em Send, e o painel do Agent no Cursor mostra Network error. O proxy global está ligado. Então por que ainda não conecta?

A resposta está na pilha de rede do Electron v25+: Cursor, VS Code e o sistema operacional usam configurações de proxy diferentes, que não conversam entre si. Neste guia, vamos organizar a configuração de proxy empresarial do começo ao fim: variável de ambiente HTTP_PROXY, proxy no settings.json, incompatibilidade com HTTP/2, importação de certificados SSL e proxy transparente com Anygress. Os cenários de Windows, Mac e WSL2 também entram na conta.

Por que o Cursor não herda o proxy do sistema?

O Cursor é construído sobre Electron v25+. A pilha de rede do Electron funciona como a do Chrome e não herda automaticamente as configurações de proxy do sistema operacional nem do processo pai. Isso é diferente do VS Code: o VS Code consegue ler o proxy do sistema; o Cursor precisa da própria configuração.

O ponto mais chato são as variáveis de ambiente. Você roda export HTTP_PROXY=... no terminal e depois abre o Cursor pelo Dock ou pelo ícone da área de trabalho. Essa variável simplesmente não chega ao aplicativo. Ela só funciona quando você inicia o comando cursor a partir da mesma janela de terminal.

Por isso, em rede empresarial, o caminho mais confiável é direto: editar o settings.json do Cursor.


O que a documentação oficial diz?

Segundo a documentação de Network Configuration do Cursor, uma implantação empresarial tem três caminhos para configurar proxy:

  1. Variáveis de ambiente: HTTP_PROXY, HTTPS_PROXY, NO_PROXY (funcionam apenas quando o Cursor é iniciado pelo terminal)
  2. settings.json: http.proxy, http.proxySupport, http.proxyStrictSSL
  3. Parâmetros de inicialização: --proxy-server, --proxy-auto-detect, --disable-http2

Cada método serve para um cenário. Vamos passar por eles um a um.

Configuração da variável de ambiente HTTP_PROXY

Variáveis de ambiente são o método mais leve, mas têm uma condição: o Cursor precisa ser iniciado a partir do terminal já configurado.

Windows PowerShell

# Configurar proxy (com autenticação)
$env:HTTP_PROXY = "http://username:[email protected]:8080"
$env:HTTPS_PROXY = "http://username:[email protected]:8080"

# Endereços locais não passam pelo proxy
$env:NO_PROXY = "localhost,127.0.0.1,.internal.corp"

# Iniciar o Cursor pelo mesmo terminal
cursor

macOS / Linux

# Bash/Zsh
export HTTP_PROXY="http://username:[email protected]:8080"
export HTTPS_PROXY="http://username:[email protected]:8080"
export NO_PROXY="localhost,127.0.0.1,.internal.corp"

# Iniciar o Cursor
cursor

Tratamento especial no WSL2

O WSL2 tem uma placa de rede virtual própria e não fica na mesma sub-rede do host Windows. As configurações de proxy do Windows não são sincronizadas automaticamente para dentro do WSL2.

Uma saída é usar a ferramenta graftcp como proxy TCP transparente:

# Instalar graftcp
sudo apt install graftcp

# Configurar o endereço do proxy (graftcp.conf)
proxy_addr = "192.168.1.100:7890"  # Endereço do proxy no host Windows

# Iniciar o Cursor com graftcp
graftcp cursor

Algumas pegadinhas:

  • Abrir pelo Dock ou pelo ícone da área de trabalho → variáveis de ambiente não funcionam
  • Configurar só HTTP_PROXY e esquecer HTTPS_PROXY → as requisições da API do Cursor, que são HTTPS, não passam pelo proxy
  • Esquecer .internal.corp em NO_PROXY → serviços internos também passam pelo proxy e podem ficar mais lentos

Se você não quer iniciar pelo terminal toda vez, a configuração via settings.json dá menos trabalho.

Configuração de proxy no settings.json (método recomendado)

Abra o Cursor, pressione Cmd+Shift+P no Mac ou Ctrl+Shift+P no Windows e digite Preferences: Open User Settings (JSON).

Adicione estes itens ao settings.json:

{
  "http.proxy": "http://username:[email protected]:8080",
  "http.proxySupport": "override",
  "http.proxyStrictSSL": false,
  "http.noProxy": ["localhost", "127.0.0.1", "*.internal.corp"],
  "cursor.general.disableHttp2": true,
  "cursor.general.disableHttp1SSE": true
}

Explicando item por item:

CampoFunção
http.proxyEndereço do servidor proxy, com suporte a http:// e socks5://
http.proxySupport"override" força o uso do proxy; "on" usa proxy apenas quando não há conexão direta
http.proxyStrictSSLProxies empresariais costumam usar certificados autoassinados; definir como false evita falhas de validação de certificado
http.noProxyFaz endereços locais ignorarem o proxy, evitando lentidão em serviços internos
cursor.general.disableHttp2Obrigatório quando o proxy empresarial não oferece suporte a HTTP/2
cursor.general.disableHttp1SSEAlguns proxies não suportam conexão longa SSE; ao desabilitar, o Cursor usa polling curto

Reinicie para aplicar.

Depois de alterar o settings.json, é preciso fechar completamente o Cursor e abrir de novo. Apenas atualizar a janela (Cmd+R) não recarrega a configuração de rede.

Parâmetros de inicialização no atalho do Windows:

Se você não quiser editar o settings.json, pode adicionar parâmetros ao atalho:

cursor.exe --proxy-server="http://proxy.company.com:8080" --proxy-auto-detect --disable-http2

Esse método é equivalente ao settings.json, mas entra em vigor a cada inicialização e não exige reiniciar depois de editar o arquivo.

Incompatibilidade com HTTP/2 e como resolver

O Agent do Cursor depende de transmissão bidirecional via HTTP/2. Chat em tempo real, autocompletar código e conversas em várias rodadas dependem de conexões longas e streaming via HTTP/2.

O problema: muitos proxies empresariais não suportam HTTP/2.

Proxies com inspeção SSL, como Zscaler e Netskope, normalmente processam apenas HTTP/1.1. Quando a requisição HTTP/2 do Cursor chega ao proxy, ela pode ser truncada, retornar dados corrompidos ou simplesmente estourar timeout.

Sintomas:

  • O painel do Agent fica preso em “Thinking…”
  • O autocompletar funciona às vezes e falha em outras
  • O modo Chat funciona, mas o modo Agent fica todo vermelho

Solução: desabilitar HTTP/2 e fazer o Cursor cair para HTTP/1.1 SSE.

{
  "cursor.general.disableHttp2": true
}

Ou via parâmetro de inicialização:

cursor --disable-http2

Depois disso, o Cursor usa Server-Sent Events (SSE) sobre HTTP/1.1 para streaming. SSE é unidirecional e menos eficiente que o fluxo bidirecional do HTTP/2, mas tem compatibilidade melhor.


Um detalhe: quando --disable-http2 e o disableHttp2 do settings.json existem ao mesmo tempo, o parâmetro de inicialização tem prioridade. Se você quer garantir que HTTP/2 fique desabilitado, configure os dois.

Pelo feedback no Cursor Forum, esse método resolveu o problema do Agent para a maioria dos usuários em redes empresariais. Em Cursor http/2 requests don’t go through proxy setting, usuários relataram que o Agent voltou ao normal depois de desabilitar HTTP/2.

Importação de certificados SSL (inspeção empresarial no meio do caminho)

Quando um proxy empresarial faz descriptografia SSL, ele troca o certificado original por um certificado próprio. Netskope e Zscaler têm esse recurso.

O Cursor tenta se conectar a cursor.com ou api2.cursor.sh, mas recebe um certificado assinado pelo proxy corporativo, não por Let’s Encrypt ou DigiCert. A validação falha, e a conexão cai.

Sintomas:

  • TLS handshake timeout
  • certificate signature failure
  • O painel do Agent mostra CERT_AUTHORITY_INVALID

Método 1: importar o certificado raiz corporativo para o repositório do sistema (Windows)

  1. Pressione Win+R e digite certmgr.msc
  2. Expanda Trusted Root Certification Authorities → Certificates
  3. Clique com o botão direito → All Tasks → Import
  4. Selecione o arquivo de certificado raiz da empresa (.cer ou .pem)
  5. Reinicie o Cursor depois de concluir

Esse método faz o sistema confiar no certificado corporativo. Com isso, o Cursor também passa a confiar nele.

Método 2: apontar o certificado por variável de ambiente (recomendado)

O Cursor oferece suporte às variáveis de ambiente SSL_CERT_FILE e SSL_CERT_DIR:

# Certificado único
export SSL_CERT_FILE=/path/to/company-root-ca.pem
cursor

# Diretório de certificados
export SSL_CERT_DIR=/etc/ssl/certs
cursor

Esse método é mais flexível: não altera o repositório de certificados do sistema e vale apenas para o Cursor.

Método 3: desabilitar validação SSL estrita (não recomendado)

{
  "http.proxyStrictSSL": false
}

Isso contorna a validação de certificado, mas reduz a segurança. Use apenas em ambiente de teste; não é recomendado em produção.


Importação de certificados no Mac / Linux:

# Debian/Ubuntu
sudo cp company-root-ca.pem /usr/local/share/ca-certificates/
sudo update-ca-certificates

# macOS
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain company-root-ca.pem

Depois da importação, reinicie o Cursor.

Anygress e cursor-api-proxy (configuração avançada)

Em redes empresariais, servidores remotos e redes privadas, a configuração de proxy padrão pode não bastar. Existe um projeto open source chamado cursor-api-proxy (GitHub: anyrobert/cursor-api-proxy) criado justamente para esses casos.

Princípio básico:

O cursor-api-proxy sobe um serviço de proxy local que encaminha as requisições da API do Cursor para os servidores reais. No meio do caminho, ele pode trocar certificados TLS, atravessar uma rede Tailscale, injetar API Key e fazer outras operações.


Exemplo de configuração:

# Clonar o projeto
git clone https://github.com/anyrobert/cursor-api-proxy
cd cursor-api-proxy

# Configurar variáveis de ambiente
export CURSOR_BRIDGE_TLS_CERT=./macbook.tail4048eb.ts.net.crt
export CURSOR_BRIDGE_TLS_KEY=./macbook.tail4048eb.ts.net.key
export CURSOR_BRIDGE_API_KEY=your-secret-key
export CURSOR_PROXY_URL=http://127.0.0.1:8765

# Iniciar (com Tailscale TLS)
npm start -- --tailscale

Depois, aponte o proxy do Cursor para esse serviço:

{
  "http.proxy": "http://127.0.0.1:8765"
}

Cenários de uso:

  • A rede da empresa bloqueia conexão direta com cursor.com
  • O servidor remoto não tem saída para a internet pública e precisa passar pelo Tailscale
  • É necessário injetar uma API Key unificada nas requisições, compartilhada por vários usuários
  • Uma implantação privada precisa enviar requisições de API por um gateway interno

Esse método é mais complexo que o proxy padrão, mas também é mais flexível. Ele faz sentido para equipes com alguma capacidade de operação.

Conclusão

Para configurar o proxy do Cursor em uma rede empresarial, investigue nesta ordem:

  1. Configure primeiro o settings.json — http.proxy + http.proxySupport: "override"
  2. Desabilite HTTP/2 — se o proxy empresarial não oferecer suporte, adicione disableHttp2: true
  3. Confira certificados — em TLS handshake timeout ou CERT_AUTHORITY_INVALID, importe o certificado raiz corporativo
  4. Use cursor-api-proxy em cenários complexos — servidor remoto, rede privada e travessia via Tailscale

Tabela de erros comuns:

Mensagem de erroCausaSolução
Network errorProxy não configurado ou não aplicadoConferir settings.json + reiniciar o Cursor
Connection refusedEndereço do proxy incorreto ou serviço de proxy desligadoConfirmar o endereço em http.proxy
TLS handshake timeoutCertificado SSL incompatívelImportar o certificado raiz corporativo ou definir proxyStrictSSL: false
Agent travadoIncompatibilidade com HTTP/2Definir disableHttp2: true

Depois de configurar, lembre-se de reiniciar completamente o Cursor. Não basta atualizar a janela.

Fluxo de configuração de proxy empresarial no Cursor

Passo a passo completo, das variáveis de ambiente à importação de certificados

⏱️ Estimated time: 15 min

  1. 1

    Step 1: Configurar o proxy no settings.json

    Abra o Cursor, pressione Cmd+Shift+P no Mac ou Ctrl+Shift+P no Windows, digite Preferences: Open User Settings (JSON) e adicione opções como http.proxy, http.proxySupport: "override" e http.proxyStrictSSL: false
  2. 2

    Step 2: Desabilitar o protocolo HTTP/2

    Adicione cursor.general.disableHttp2: true ao settings.json ou use --disable-http2 nos parâmetros de inicialização para resolver travamentos do Agent causados por proxies empresariais sem suporte a HTTP/2
  3. 3

    Step 3: Resolver problemas de certificado SSL

    Ao encontrar erros como TLS handshake timeout ou CERT_AUTHORITY_INVALID, importe o certificado raiz corporativo para o repositório de certificados do sistema, usando certmgr.msc no Windows ou comandos como security e update-ca-certificates no Mac/Linux, ou defina proxyStrictSSL: false temporariamente
  4. 4

    Step 4: Reiniciar o Cursor e validar a conexão

    Feche completamente o Cursor e abra novamente, em vez de apenas atualizar a janela. Teste se o Agent funciona normalmente. Se o problema continuar, confira se o endereço e a porta do proxy estão corretos

FAQ

Por que o Cursor não herda o proxy do sistema?
O Cursor é construído sobre Electron v25+. A pilha de rede do Electron é igual à do Chrome e não herda automaticamente as configurações de proxy do sistema operacional nem do processo pai. Isso é diferente do VS Code e exige configuração separada.
Por que a variável de ambiente HTTP_PROXY não funciona?
Quando o Cursor é iniciado pelo Dock ou pelo ícone da área de trabalho, as variáveis de ambiente não são repassadas. É preciso executar o comando cursor a partir de um terminal onde essas variáveis já foram configuradas. Na prática, vale mais usar o settings.json.
O que fazer quando o Agent fica travado em Thinking?
Esse é um sintoma típico de incompatibilidade com HTTP/2. Proxies empresariais, como Zscaler e Netskope, normalmente processam apenas HTTP/1.1. Defina cursor.general.disableHttp2: true no settings.json para resolver.
Como saber se o problema é de certificado ou de proxy?
Problemas de certificado aparecem como TLS handshake timeout ou CERT_AUTHORITY_INVALID; problemas de proxy aparecem como Network error ou Connection refused. No primeiro caso, importe o certificado. No segundo, revise a configuração do proxy.
Em quais cenários o cursor-api-proxy faz sentido?
Ele é útil quando a rede da empresa bloqueia conexão direta com cursor.com, quando um servidor remoto não tem saída pública e precisa passar pelo Tailscale, quando vários usuários compartilham uma API Key unificada ou quando uma implantação privada precisa passar por um gateway interno.

8 min de leitura · Publicado em: 29 mai 2026 · Atualizado em: 14 jul 2026

Comentários

Entre com GitHub para comentar

Easton BlogEaston Blog