Created
November 11, 2025 17:58
-
-
Save lucianodiisouza/285f28a7f0798de336d73fe3d438a65e to your computer and use it in GitHub Desktop.
cursor setup
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Resumo das opções | |
| 1. Separar user-data-dir + abrir Chrome com perfil específico (simples e confiável) | |
| 2. Duplicar o app do Cursor no /Applications e usar --user-data-dir (isola tudo e é visualmente claro) | |
| 3. Criar outro usuário macOS (isolamento absoluto — mais pesado) | |
| Vou focar nas duas primeiras (são práticas, rápidas e não exigem logout do seu macOS). | |
| ⸻ | |
| Pré-requisitos | |
| • macOS (qualquer versão moderna) | |
| • Terminal (app Terminal ou iTerm) | |
| • Google Chrome (essa instrução presume Chrome — se usar outro browser, o conceito é o mesmo) | |
| • Permissão para criar scripts em /usr/local/bin (ou outro diretório no seu PATH) | |
| ⸻ | |
| 1) Criando um diretório separado para a conta da empresa | |
| Abra o Terminal e rode: | |
| mkdir -p ~/.cursor-firma | |
| Esse diretório será usado como user-data-dir para a instância “Cursor Empresa”. | |
| ⸻ | |
| 2) Encontrar o profile-directory do Chrome (nome exato) | |
| Para garantir que o Chrome abra com o perfil correto, vamos mapear os perfis que existem no seu sistema. | |
| Comando rápido (lista os diretórios): | |
| ls -la ~/Library/"Application Support"/Google/Chrome | |
| Você verá pastas como Default, Profile 1, Profile 2, etc. | |
| Para mapear o nome legível do perfil para a pasta (recomendado) | |
| Cole este script Python no Terminal — ele lê o Local State do Chrome e mostra qual pasta corresponde a cada nome de perfil: | |
| python3 - <<'PY' | |
| import json, pathlib, sys | |
| p = pathlib.Path.home() / "Library/Application Support/Google/Chrome/Local State" | |
| if not p.exists(): | |
| print("Arquivo Local State não encontrado em:", p) | |
| sys.exit(1) | |
| data = json.loads(p.read_text()) | |
| profiles = data.get("profile", {}).get("info_cache", {}) | |
| if not profiles: | |
| print("Nenhum profile encontrado no Local State.") | |
| else: | |
| for dir_name, info in profiles.items(): | |
| name = info.get("name", "") | |
| print(f"{dir_name} -> '{name}'") | |
| PY | |
| Exemplo de saída: | |
| Default -> 'Pessoal' | |
| Profile 1 -> 'Trabalho' | |
| Profile 2 -> 'Firma' | |
| Anote o dir_name que corresponde ao perfil que você usa para a conta da empresa — por exemplo: Profile 2. | |
| ⸻ | |
| 3) Script prático: abrir o Chrome com o perfil da firma e abrir o Cursor com user-data-dir | |
| Este é o método que eu recomendo primeiro. Ele garante que, quando o Cursor abrir a janela de login no navegador, o Chrome já está usando o perfil da empresa. | |
| Crie um script cursor2 em /usr/local/bin: | |
| sudo mkdir -p /usr/local/bin | |
| sudo nano /usr/local/bin/cursor2 | |
| Cole o conteúdo abaixo (substitua Profile 2 pelo dir_name que você obteve no passo anterior): | |
| #!/bin/bash | |
| # Abre o Chrome no perfil da empresa | |
| open -a "Google Chrome" --args --profile-directory="Profile 2" | |
| # Aguarda um pouco para o Chrome subir (ajuste se necessário) | |
| sleep 0.7 | |
| # Abre uma nova instância do Cursor com user-data-dir isolado | |
| open -n /Applications/Cursor.app --args --user-data-dir="$HOME/.cursor-firma" | |
| Salvar e sair (CTRL+O, Enter, CTRL+X) e então tornar executável: | |
| sudo chmod +x /usr/local/bin/cursor2 | |
| Agora você pode executar cursor2 no Terminal. Depois de abrir, clique em “Login” no Cursor, e o navegador vai abrir usando o perfil da empresa (evitando que a sessão pessoal seja usada). | |
| Dica: ajuste o sleep se seu Chrome demorar mais para abrir. | |
| ⸻ | |
| 4) Método alternativo (isolar ainda mais): duplicar o app do Cursor | |
| Se você preferir isolamento total (e um ícone separado na Dock), pode duplicar o app: | |
| cp -R "/Applications/Cursor.app" "/Applications/Cursor Empresa.app" | |
| Então crie o script cursor2 assim: | |
| #!/bin/bash | |
| open -n "/Applications/Cursor Empresa.app" --args --user-data-dir="$HOME/.cursor-firma" | |
| Torne executável como antes. | |
| Com esse método você tem duas aplicações tratadas pelo macOS como apps diferentes (ícones distintos, preferências separadas) e o user-data-dir garante que a sessão do Cursor fique isolada. | |
| ⸻ | |
| 5) Automatizar alias para o cursor padrão | |
| Se quiser que o comando cursor abra sua instância pessoal rapidamente, adicione isto ao seu ~/.zshrc (ou ~/.bashrc): | |
| # alias para abrir Cursor pessoal (app normal) | |
| alias cursor='open -a /Applications/Cursor.app' | |
| Depois rode source ~/.zshrc (ou reinicie o Terminal). | |
| ⸻ | |
| 6) Problemas comuns e como resolver | |
| • As duas instâncias ainda abrem com a conta da firma — significa que o navegador tem a sessão da firma ativa no perfil que o Cursor está usando. Verifique se você abriu o Chrome no perfil correto antes do login do Cursor. | |
| • O --profile-directory não funciona quando passado ao Cursor — isso pode ocorrer dependendo de como o app abre o link de login. A estratégia de primeiro abrir o Chrome com o perfil (open -a "Google Chrome" --args --profile-directory="Profile X") é a forma mais robusta. | |
| • Permissão negada ao criar script em /usr/local/bin — use sudo para criar e mudar permissões. | |
| • O app demora a abrir e o Cursor abre antes do Chrome — aumente o sleep (ex.: sleep 1.5) ou faça um loop que verifica se o Chrome está respondendo. | |
| ⸻ | |
| 7) Conclusão | |
| Combinando um user-data-dir isolado para o Cursor com a abertura do Chrome no perfil da empresa você consegue dois comandos simples: | |
| • cursor → sua instância pessoal | |
| • cursor2 → instância da firma (login separado) | |
| Se preferir isolamento máximo, duplicar o app é uma solução prática e visualmente clara. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment