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

"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:
- Variáveis de ambiente:
HTTP_PROXY,HTTPS_PROXY,NO_PROXY(funcionam apenas quando o Cursor é iniciado pelo terminal) - settings.json:
http.proxy,http.proxySupport,http.proxyStrictSSL - 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_PROXYe esquecerHTTPS_PROXY→ as requisições da API do Cursor, que são HTTPS, não passam pelo proxy - Esquecer
.internal.corpemNO_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:
| Campo | Função |
|---|---|
http.proxy | Endereç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.proxyStrictSSL | Proxies empresariais costumam usar certificados autoassinados; definir como false evita falhas de validação de certificado |
http.noProxy | Faz endereços locais ignorarem o proxy, evitando lentidão em serviços internos |
cursor.general.disableHttp2 | Obrigatório quando o proxy empresarial não oferece suporte a HTTP/2 |
cursor.general.disableHttp1SSE | Alguns 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 timeoutcertificate 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)
- Pressione
Win+Re digitecertmgr.msc - Expanda Trusted Root Certification Authorities → Certificates
- Clique com o botão direito → All Tasks → Import
- Selecione o arquivo de certificado raiz da empresa (
.cerou.pem) - 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:
- Configure primeiro o settings.json —
http.proxy+http.proxySupport: "override" - Desabilite HTTP/2 — se o proxy empresarial não oferecer suporte, adicione
disableHttp2: true - Confira certificados — em
TLS handshake timeoutouCERT_AUTHORITY_INVALID, importe o certificado raiz corporativo - Use cursor-api-proxy em cenários complexos — servidor remoto, rede privada e travessia via Tailscale
Tabela de erros comuns:
| Mensagem de erro | Causa | Solução |
|---|---|---|
Network error | Proxy não configurado ou não aplicado | Conferir settings.json + reiniciar o Cursor |
Connection refused | Endereço do proxy incorreto ou serviço de proxy desligado | Confirmar o endereço em http.proxy |
TLS handshake timeout | Certificado SSL incompatível | Importar o certificado raiz corporativo ou definir proxyStrictSSL: false |
Agent travado | Incompatibilidade com HTTP/2 | Definir 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
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
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
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
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?
Por que a variável de ambiente HTTP_PROXY não funciona?
O que fazer quando o Agent fica travado em Thinking?
Como saber se o problema é de certificado ou de proxy?
Em quais cenários o cursor-api-proxy faz sentido?
8 min de leitura · Publicado em: 29 mai 2026 · Atualizado em: 14 jul 2026
Guia completo Cursor
Se você chegou pela busca, o caminho mais rápido é ir para o post anterior ou próximo desta série.
Anterior
Guia completo para usar a API DeepSeek no Cursor: configuração, modelos personalizados e revisão de custos
Tutorial de configuração do Cursor com DeepSeek em 2026: confira assinatura do Cursor, DeepSeek API Base URL, modelos deepseek-v4-flash/deepseek-v4-pro, custos e solução de falhas.
Parte 17 de 25
Próximo
Problemas de rede no Cursor: proxy, diagnóstico e correção de HTTP/2
O proxy do Cursor está configurado, mas não funciona? Veja como diagnosticar o http.proxySupport, executar o Run Diagnostics e corrigir HTTP/2, DNS e certificados corporativos.
Parte 19 de 25



Comentários
Entre com GitHub para comentar