rg is blocked by macOS

Open 💬 48 comments Opened Jun 14, 2026 by atacan
💡 Likely answer: A maintainer (etraut-openai, contributor) responded on this thread — see the highlighted reply below.

What version of Codex CLI is running?

0.139.0

What subscription do you have?

Pro

Which model were you using?

gpt-5.5

What platform is your computer?

macOS

What terminal emulator and version are you using (if applicable)?

iTerm

Codex doctor report

<details>
<summary>
See more...
</summary>

{
  "schemaVersion": 1,
  "generatedAt": "1781438268s since unix epoch",
  "overallStatus": "warning",
  "codexVersion": "0.139.0",
  "checks": {
    "app_server.status": {
      "id": "app_server.status",
      "category": "app-server",
      "status": "ok",
      "summary": "background server is not running",
      "details": {
        "control socket": "/Users/atacan/.codex/app-server-control/app-server-control.sock",
        "daemon state dir": "/Users/atacan/.codex/app-server-daemon",
        "mode": "ephemeral",
        "pid file": "/Users/atacan/.codex/app-server-daemon/app-server.pid (missing)",
        "settings": "/Users/atacan/.codex/app-server-daemon/settings.json (missing)",
        "status": "not running",
        "update-loop pid file": "/Users/atacan/.codex/app-server-daemon/app-server-updater.pid (missing)"
      },
      "remediation": null,
      "durationMs": 0
    },
    "auth.credentials": {
      "id": "auth.credentials",
      "category": "auth",
      "status": "ok",
      "summary": "auth is configured",
      "details": {
        "auth file": "/Users/atacan/.codex/auth.json",
        "auth storage mode": "File",
        "stored API key": "false",
        "stored ChatGPT tokens": "true",
        "stored agent identity": "false",
        "stored auth mode": "chatgpt"
      },
      "remediation": null,
      "durationMs": 0
    },
    "config.load": {
      "id": "config.load",
      "category": "config",
      "status": "ok",
      "summary": "config loaded",
      "details": {
        "CODEX_HOME": "/Users/atacan/.codex",
        "config.toml": "/Users/atacan/.codex/config.toml",
        "config.toml parse": "ok",
        "cwd": "/Users/atacan/Developer/Repositories/Speechall-Repositories/speech-router-hb",
        "enabled feature flags": "shell_tool, unified_exec, shell_snapshot, terminal_resize_reflow, sqlite, hooks, enable_request_compression, multi_agent, tool_suggest, plugins, in_app_browser, browser_use, browser_use_external, computer_use, plugin_sharing, image_generation, skill_mcp_dependency_install, steer, guardian_approval, goals, collaboration_modes, tool_call_mcp_elicitation, personality, fast_mode, tui_app_server, workspace_dependencies",
        "feature flag overrides": "apps=false",
        "feature flags enabled": "26",
        "log dir": "/Users/atacan/.codex/log",
        "mcp servers": "1",
        "model": "gpt-5.5",
        "model provider": "openai",
        "sqlite home": "/Users/atacan/.codex"
      },
      "remediation": null,
      "durationMs": 0
    },
    "git.environment": {
      "id": "git.environment",
      "category": "git",
      "status": "ok",
      "summary": "git version 2.50.1 (Apple Git-155)",
      "details": {
        ".git entry": "directory",
        "PATH git #1": "/usr/bin/git",
        "PATH git entries": "1",
        "git branch": "main",
        "git build options": "git version 2.50.1 (Apple Git-155); cpu: arm64; no commit associated with this build; sizeof-long: 8; sizeof-size_t: 8; shell-path: /bin/sh; feature: fsmonitor--daemon; libcurl: 8.7.1; zlib: 1.2.12; SHA-1: SHA1_DC; SHA-256: SHA256_BLK",
        "git exec path": "/Applications/Xcode-26.5.0.app/Contents/Developer/usr/libexec/git-core",
        "git version": "git version 2.50.1 (Apple Git-155)",
        "repo detected": "true",
        "repo root": "/Users/atacan/Developer/Repositories/Speechall-Repositories/speech-router-hb",
        "selected git": "/usr/bin/git"
      },
      "remediation": null,
      "durationMs": 10
    },
    "installation": {
      "id": "installation",
      "category": "install",
      "status": "ok",
      "summary": "installation looks consistent",
      "details": {
        "PATH codex #1": "/opt/homebrew/bin/codex",
        "current executable": "/opt/homebrew/bin/codex",
        "install context": "brew (package /opt/homebrew/Caskroom/codex/0.139.0, bin /opt/homebrew/Caskroom/codex/0.139.0/bin, resources /opt/homebrew/Caskroom/codex/0.139.0/codex-resources, path /opt/homebrew/Caskroom/codex/0.139.0/codex-path)",
        "managed by bun": "false",
        "managed by npm": "false",
        "managed package root": "not set"
      },
      "remediation": null,
      "durationMs": 1
    },
    "mcp.config": {
      "id": "mcp.config",
      "category": "mcp",
      "status": "ok",
      "summary": "MCP configuration is locally consistent",
      "details": {
        "configured servers": "1",
        "disabled servers": "0",
        "stdio servers": "1"
      },
      "remediation": null,
      "durationMs": 0
    },
    "network.env": {
      "id": "network.env",
      "category": "network",
      "status": "ok",
      "summary": "network-related environment looks readable",
      "details": {
        "proxy env vars": "none"
      },
      "remediation": null,
      "durationMs": 0
    },
    "network.provider_reachability": {
      "id": "network.provider_reachability",
      "category": "reachability",
      "status": "ok",
      "summary": "active provider endpoints are reachable over HTTP",
      "details": {
        "ChatGPT base URL": "https://chatgpt.com/backend-api/ reachable (HTTP 403)",
        "reachability mode": "ChatGPT auth"
      },
      "remediation": null,
      "durationMs": 157
    },
    "network.websocket_reachability": {
      "id": "network.websocket_reachability",
      "category": "websocket",
      "status": "ok",
      "summary": "Responses WebSocket handshake succeeded",
      "details": {
        "DNS": "2 IPv4, 2 IPv6, first IPv4",
        "auth mode": "chatgpt",
        "connect timeout": "15000 ms",
        "endpoint": "wss://chatgpt.com/backend-api/<redacted>",
        "handshake result": "HTTP 101 Switching Protocols",
        "model provider": "openai",
        "models etag present": "true",
        "provider name": "OpenAI",
        "proxy env vars": "none",
        "reasoning header": "false",
        "server model present": "false",
        "supports websockets": "true",
        "wire API": "responses"
      },
      "remediation": null,
      "durationMs": 694
    },
    "runtime.provenance": {
      "id": "runtime.provenance",
      "category": "runtime",
      "status": "ok",
      "summary": "running brew on macos-aarch64",
      "details": {
        "commit": "unknown",
        "current executable": "/opt/homebrew/bin/codex",
        "install method": "brew (package /opt/homebrew/Caskroom/codex/0.139.0, bin /opt/homebrew/Caskroom/codex/0.139.0/bin, resources /opt/homebrew/Caskroom/codex/0.139.0/codex-resources, path /opt/homebrew/Caskroom/codex/0.139.0/codex-path)",
        "platform": "macos-aarch64",
        "version": "0.139.0"
      },
      "remediation": null,
      "durationMs": 0
    },
    "runtime.search": {
      "id": "runtime.search",
      "category": "search",
      "status": "ok",
      "summary": "search is OK (bundled)",
      "details": {
        "search command": "/opt/homebrew/Caskroom/codex/0.139.0/codex-path/rg",
        "search command readiness": "file exists",
        "search provider": "bundled"
      },
      "remediation": null,
      "durationMs": 0
    },
    "sandbox.helpers": {
      "id": "sandbox.helpers",
      "category": "sandbox",
      "status": "ok",
      "summary": "sandbox configuration is readable",
      "details": {
        "approval policy": "Never",
        "codex-linux-sandbox helper": "none",
        "execve wrapper helper": "/Users/atacan/.codex/tmp/arg0/codex-arg0D9WDD4/codex-execve-wrapper",
        "filesystem sandbox": "unrestricted",
        "network sandbox": "enabled"
      },
      "remediation": null,
      "durationMs": 0
    },
    "state.paths": {
      "id": "state.paths",
      "category": "state",
      "status": "ok",
      "summary": "state paths and databases are inspectable",
      "details": {
        "CODEX_HOME": "/Users/atacan/.codex (dir)",
        "active rollout files": "618 files, 754308534 total bytes, 1220563 average bytes",
        "archived rollout files": "52 files, 19863711 total bytes, 381994 average bytes",
        "goals DB": "/Users/atacan/.codex/goals_1.sqlite (file)",
        "goals DB integrity": "ok",
        "log DB": "/Users/atacan/.codex/logs_2.sqlite (file)",
        "log DB integrity": "ok",
        "log dir": "/Users/atacan/.codex/log (dir)",
        "memories DB": "/Users/atacan/.codex/memories_1.sqlite (file)",
        "memories DB integrity": "ok",
        "sqlite home": "/Users/atacan/.codex (dir)",
        "state DB": "/Users/atacan/.codex/state_5.sqlite (file)",
        "state DB integrity": "ok"
      },
      "remediation": null,
      "durationMs": 127
    },
    "state.rollout_db_parity": {
      "id": "state.rollout_db_parity",
      "category": "threads",
      "status": "warning",
      "summary": "rollout files and state DB thread inventory differ",
      "details": {
        "default model provider": "openai",
        "rollout DB active files": "612",
        "rollout DB active rows": "596",
        "rollout DB archive mismatches": "0",
        "rollout DB archived files": "52",
        "rollout DB archived rows": "51",
        "rollout DB duplicate DB paths": "0",
        "rollout DB duplicate rollout thread ids": "0",
        "rollout DB malformed file names": "0",
        "rollout DB missing active rows": "16",
        "rollout DB missing active sample": [
          "/Users/atacan/.codex/sessions/2026/06/13/rollout-2026-06-13T16-52-49-019ec178-a593-7c82-829e-77c35485bf3d.jsonl",
          "/Users/atacan/.codex/sessions/2026/06/13/rollout-2026-06-13T16-13-09-019ec154-545f-7db3-acde-20c780a6b48c.jsonl",
          "/Users/atacan/.codex/sessions/2026/06/13/rollout-2026-06-13T14-54-48-019ec10c-97dc-7983-8ba8-2acc58ab1cd1.jsonl",
          "/Users/atacan/.codex/sessions/2026/06/13/rollout-2026-06-13T14-39-16-019ec0fe-607b-7cf0-8b49-a9ff52b4d9d5.jsonl",
          "/Users/atacan/.codex/sessions/2026/06/13/rollout-2026-06-13T14-42-18-019ec101-256b-7583-87f4-81af99d58a6b.jsonl"
        ],
        "rollout DB missing archived rows": "1",
        "rollout DB missing archived sample": "/Users/atacan/.codex/archived_sessions/rollout-2026-06-13T13-13-47-019ec0b0-1a08-7683-89f9-1b8d377b8db9.jsonl",
        "rollout DB model providers": "openai=647",
        "rollout DB rows": "647",
        "rollout DB scan cap reached": "false",
        "rollout DB scan error sample": [
          "/Users/atacan/.codex/sessions/2025/09/06/rollout-2025-09-06T10-09-39-39472550-9b3a-4266-892a-f421ea2627f2.jsonl (no parseable rollout items)",
          "/Users/atacan/.codex/sessions/2025/09/06/rollout-2025-09-06T10-08-51-87ecac90-f99a-446e-98d2-fea4b17f64ee.jsonl (no parseable rollout items)",
          "/Users/atacan/.codex/sessions/2025/09/20/rollout-2025-09-20T10-57-43-cfb92fe8-ce69-4891-8c2c-fbc78859688a.jsonl (no parseable rollout items)",
          "/Users/atacan/.codex/sessions/2025/09/20/rollout-2025-09-20T10-58-01-9d478252-8a75-4f17-bf53-b01d128adda6.jsonl (no parseable rollout items)",
          "/Users/atacan/.codex/sessions/2025/10/03/rollout-2025-10-03T18-00-46-0dea519c-efe7-4560-9fa4-dad1a627cbc4.jsonl (no parseable rollout items)"
        ],
        "rollout DB scan errors": "6",
        "rollout DB sources": "vscode=534, cli=58, subagent:thread_spawn=31, subagent:other=21, exec=3",
        "rollout DB stale rows": "0"
      },
      "issues": [
        {
          "severity": "warning",
          "cause": "rollout files are missing from the state DB",
          "measured": "16 active, 1 archived",
          "expected": "every rollout file has a matching threads row",
          "remedy": null,
          "fields": []
        },
        {
          "severity": "warning",
          "cause": "rollout scan was incomplete or found bad files",
          "measured": "6 scan errors, 0 malformed names, scan cap reached: false",
          "expected": "rollout directories are fully scannable",
          "remedy": "Check file permissions and unexpected files under CODEX_HOME sessions.",
          "fields": []
        }
      ],
      "remediation": null,
      "durationMs": 1867
    },
    "system.environment": {
      "id": "system.environment",
      "category": "system",
      "status": "ok",
      "summary": "OS language en-US",
      "details": {
        "EDITOR": "not set",
        "LANG": "en_US.UTF-8",
        "VISUAL": "not set",
        "os": "Mac OS 26.5.1 [64-bit]",
        "os language": "en-US",
        "os type": "Mac OS",
        "os version": "26.5.1"
      },
      "remediation": null,
      "durationMs": 1
    },
    "terminal.env": {
      "id": "terminal.env",
      "category": "terminal",
      "status": "ok",
      "summary": "terminal metadata was detected",
      "details": {
        "COLORFGBG": "15;0",
        "COLORTERM": "truecolor",
        "TERMINFO_DIRS entry": [
          "/Applications/iTerm.app/Contents/Resources/terminfo (dir)",
          "/usr/share/terminfo (dir)"
        ],
        "TERM_PROGRAM": "iTerm.app",
        "color output": "disabled (stdout is not a terminal)",
        "effective locale": "en_US.UTF-8",
        "stderr is terminal": "true",
        "stdin is terminal": "true",
        "stdout is terminal": "false",
        "terminal": "iTerm2",
        "terminal size": "120x43",
        "terminal version": "3.6.11"
      },
      "remediation": null,
      "durationMs": 0
    },
    "terminal.title": {
      "id": "terminal.title",
      "category": "title",
      "status": "ok",
      "summary": "terminal title default",
      "details": {
        "terminal title activity": "true",
        "terminal title items": "activity, project-name",
        "terminal title project source": "git repo root",
        "terminal title project value": "speech-router-hb",
        "terminal title source": "default"
      },
      "remediation": null,
      "durationMs": 0
    },
    "updates.status": {
      "id": "updates.status",
      "category": "updates",
      "status": "ok",
      "summary": "update configuration is locally consistent",
      "details": {
        "cached latest version": "0.139.0",
        "check for update on startup": "true",
        "last checked at": "2026-06-14T11:52:01.663815Z",
        "latest version": "0.139.0",
        "latest version status": "current version is not older",
        "update action": "brew upgrade --cask codex",
        "version cache": "/Users/atacan/.codex/version.json"
      },
      "remediation": null,
      "durationMs": 198
    }
  }
}

</details>

What issue are you seeing?

When codex searches the repo, MacOS pops an alert window with the following content

<img width="520" height="536" alt="Image" src="https://github.com/user-attachments/assets/aad6da13-f64c-4968-840b-22c2a0833150" />

“rg” Not Opened Apple could not verify “rg” is free of malware that may harm your Mac or compromise your privacy. Move to Trash / Done

What steps can reproduce the bug?

prompt "can you search for the term @Dependency and see how many files have it"

CLI shows

• Exploring
  └ Search @Dependency

macOS pops the alert

What is the expected behavior?

_No response_

Additional information

_No response_

View original on GitHub ↗

48 Comments

888luck8 · 1 month ago

I hate sandbox
I hate bloat

I hate anything above 60mbs

I hate modern cpu design

I love nvidia tho

888luck8 · 1 month ago

Don’t use codex with iTerm over codex

Use ghostly

ITerm is cancer causing

SmartArray · 1 month ago

Same issue here since most recent update (installed via brew).

ATTENTION: there is of course a minor risk because we don't know if rg was modified maliciously, or whether just the signing was done improperly. However, I don't see any updates here: https://github.com/burntsushi/ripgrep

Temporary hotfix is navigating to System Settings > Privacy Security

There you can add an exception (it's a prompt that shows, just click Allow)

backnotprop · 1 month ago
Don’t use codex with iTerm over codex Use ghostly ITerm is cancer causing

Still happens in ghostty

--

How do I downgrade versions?

888luck8 · 1 month ago

Here
https://ghostty.org

בתאריך יום א׳, 14 ביוני 2026 ב-20:06 מאת Michael Ramos <
@.***>:

backnotprop left a comment (openai/codex#28190) <https://github.com/openai/codex/issues/28190#issuecomment-4702450459> Don’t use codex with iTerm over codex Use ghostly ITerm is cancer causing Still happens in ghostty -- How do I downgrade versions? — Reply to this email directly, view it on GitHub <https://github.com/openai/codex/issues/28190?email_source=notifications&email_token=BHTN6C2ZJ3RBO35U5CO2FBL473LQTA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTINZQGI2DKMBUGU42M4TFMFZW63VHMNXW23LFNZ2KKZLWMVXHJLDGN5XXIZLSL5RWY2LDNM#issuecomment-4702450459>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/BHTN6CYR4OBLZCMOZCMIDSL473LQTAVCNFSNUABFKJSXA33TNF2G64TZHM4TMNJUGE2TMNBZHNEXG43VMU5TINRVHEYDCNBXGQ3KC5QC> . Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS <https://github.com/notifications/mobile/ios/BHTN6C33P5EFJ6MAL3IR7E3473LQTA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTINZQGI2DKMBUGU42M4TFMFZW63VHMNXW23LFNZ2KKZLWMVXHJKTGN5XXIZLSL5UW64Y> and Android <https://github.com/notifications/mobile/android/BHTN6C6SPYBGBB2QE4YPAI3473LQTA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTINZQGI2DKMBUGU42M4TFMFZW63VHMNXW23LFNZ2KKZLWMVXHJLTGN5XXIZLSL5QW4ZDSN5UWI>. Download it today! You are receiving this because you commented.Message ID: @.***>
backnotprop · 1 month ago

To be clear, the issue still occurs in ghostty. it is not a fix

888luck8 · 1 month ago

Yeah anytime is good to hate on iTerm
Sorry

בתאריך יום א׳, 14 ביוני 2026 ב-20:47 מאת Michael Ramos <
@.***>:

backnotprop left a comment (openai/codex#28190) <https://github.com/openai/codex/issues/28190#issuecomment-4702546706> To be clear, the issue still occurs in ghostty. it is not a fix — Reply to this email directly, view it on GitHub <https://github.com/openai/codex/issues/28190?email_source=notifications&email_token=BHTN6CZZD7XNIM4GK7JT26D473QJZA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTINZQGI2TINRXGA3KM4TFMFZW63VHMNXW23LFNZ2KKZLWMVXHJLDGN5XXIZLSL5RWY2LDNM#issuecomment-4702546706>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/BHTN6C5VGXHMIUXZRWIGA4L473QJZAVCNFSNUABFKJSXA33TNF2G64TZHM4TMNJUGE2TMNBZHNEXG43VMU5TINRVHEYDCNBXGQ3KC5QC> . Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS <https://github.com/notifications/mobile/ios/BHTN6C5KHL3WER6MASDYTH3473QJZA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTINZQGI2TINRXGA3KM4TFMFZW63VHMNXW23LFNZ2KKZLWMVXHJKTGN5XXIZLSL5UW64Y> and Android <https://github.com/notifications/mobile/android/BHTN6C7IEJTS4LITU5REIBL473QJZA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTINZQGI2TINRXGA3KM4TFMFZW63VHMNXW23LFNZ2KKZLWMVXHJLTGN5XXIZLSL5QW4ZDSN5UWI>. Download it today! You are receiving this because you commented.Message ID: @.***>
pawaca · 1 month ago

I’m seeing the same issue on macOS after upgrading to Codex 0.139.0 installed via Homebrew cask.

In my case Codex was resolving rg to the bundled binary first:

``sh
/opt/homebrew/Caskroom/codex/0.139.0/codex-path/rg
``

That binary had the com.apple.quarantine xattr, and every rg invocation triggered the macOS warning:

> Apple could not verify “rg” is free of malware that may harm your Mac or compromise your privacy.

This workaround fixed it for me:
``sh
xattr -d com.apple.quarantine /opt/homebrew/Caskroom/codex/0.139.0/codex-path/rg
`
Or more generally:
`sh
xattr -d com.apple.quarantine "$(whence -p rg)"
``
After removing the quarantine attribute, rg --version runs normally inside Codex again. This seems to affect the bundled
codex-path/rg, not my regular Homebrew rg.

vaspike · 1 month ago

<img width="268" height="268" alt="Image" src="https://github.com/user-attachments/assets/2a9c1dd4-6918-4836-a8a3-823d775e39d5" />
Crazy

JakubHojsan · 1 month ago

yo is this resolved bruh

vaspike · 1 month ago
yo is this resolved bruh

I've figured it out myself. The root cause is that Codex uses its own bundled rg:

  1. Run the command (inside Codex): which rg

You will most likely get a result like: /opt/homebrew/Caskroom/codex/0.140.0/codex-path/rg

  1. Run the command (in any terminal): xattr -d com.apple.quarantine [result from the previous step]
888luck8 · 1 month ago

They still need to fix the Apple sloppa that caused it to get detected lol
, do the issue is very much still alive

vaspike left a comment (openai/codex#28190)

<https://github.com/openai/codex/issues/28190#issuecomment-4715450716> yo is this resolved bruh I've figured it out myself. The root cause is that Codex uses its own bundled rg: 1. Run the command (inside Codex): which rg You will most likely get a result like: /opt/homebrew/Caskroom/codex/0.140.0/codex-path/rg 2. Run the command (in any terminal): xattr -d com.apple.quarantine [result from the previous step] — Reply to this email directly, view it on GitHub <https://github.com/openai/codex/issues/28190?email_source=notifications&email_token=BHTN6C47YU7ISCCPJU2NJEL5ADO4RA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTINZRGU2DKMBXGE3KM4TFMFZW63VHMNXW23LFNZ2KKZLWMVXHJLDGN5XXIZLSL5RWY2LDNM#issuecomment-4715450716>, or unsubscribe <https://github.com/notifications/unsubscribe-auth/BHTN6CZJBSX5CSLG3SCCPNT5ADO4RAVCNFSNUABFKJSXA33TNF2G64TZHM4TMNJUGE2TMNBZHNEXG43VMU5TINRVHEYDCNBXGQ3KC5QC> . Triage notifications, keep track of coding agent tasks and review pull requests on the go with GitHub Mobile for iOS <https://github.com/notifications/mobile/ios/BHTN6C6HHX462V53CF44CKL5ADO4RA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTINZRGU2DKMBXGE3KM4TFMFZW63VHMNXW23LFNZ2KKZLWMVXHJKTGN5XXIZLSL5UW64Y> and Android <https://github.com/notifications/mobile/android/BHTN6C5EOF6XADAYUST3S7L5ADO4RA5CNFSNUABFM5UWIORPF5TWS5BNNB2WEL2JONZXKZKDN5WW2ZLOOQXTINZRGU2DKMBXGE3KM4TFMFZW63VHMNXW23LFNZ2KKZLWMVXHJLTGN5XXIZLSL5QW4ZDSN5UWI>. Download it today! You are receiving this because you commented.Message ID: @.***>
bric3 · 1 month ago

Agreed with @uuta

This can be confirmed with

$ spctl --assess --type execute -v /opt/homebrew/Caskroom/codex/0.140.0/codex-path/rg
/opt/homebrew/Caskroom/codex/0.140.0/codex-path/rg: rejected

Like others dropping the quarantine flag helped: xattr -d com.apple.quarantine /opt/homebrew/Caskroom/codex/0.140.0/codex-path/rg

luckydonald · 1 month ago

I moved it to trash as recommended, codex seem able to adapt.
They just need to release a properly signed rg binary again.

thomak-dev · 1 month ago

Is there at least one person with a Mac at OpenAI that tests builds before release?

amatiash · 1 month ago

I have the same issue. Every invocation of rg (/opt/homebrew/Caskroom/codex/0.139.0/codex-path/rg
) by codex causes the following popup to appear.

<img width="372" height="344" alt="Image" src="https://github.com/user-attachments/assets/1c02c53c-1e86-4b26-95be-52e42dfe06dc" />

mr-lee · 1 month ago

I hit the same issue on codex-cli 0.140.0 installed via Homebrew cask on macOS 26.2 (25C56), Apple Silicon (arm64).

Relevant details from my machine:

$ which rg
/opt/homebrew/Caskroom/codex/0.140.0/codex-path/rg

$ /opt/homebrew/bin/rg --version
ripgrep 15.1.0

So the bundled Codex rg shadows a working Homebrew ripgrep at /opt/homebrew/bin/rg.

Before applying the workaround, the bundled binary had Gatekeeper quarantine metadata:

$ xattr -l /opt/homebrew/Caskroom/codex/0.140.0/codex-path/rg
com.apple.provenance: ...
com.apple.quarantine: 0381;6a314ae0;;EE0D8941-2323-4AC3-AA27-9C92ECFB9ADC

rg --version through the normal Codex PATH triggered the macOS "rg Not Opened" Gatekeeper dialog and the process exited without producing version output.

Local workaround that fixed it:

xattr -d com.apple.quarantine /opt/homebrew/Caskroom/codex/0.140.0/codex-path/rg

After that, rg --version via the normal PATH works:

ripgrep 15.1.0 (rev af60c2de9d)
features:+pcre2
simd(compile):+NEON
simd(runtime):+NEON
PCRE2 10.45 is available (JIT is available)

This suggests the Homebrew cask is shipping or installing the bundled codex-path/rg with quarantine still attached, so Gatekeeper treats it as untrusted even though Codex intentionally invokes it.

etraut-openai contributor · 1 month ago

I presume that all of you are using Homebrew to install the CLI?

nervouna · 1 month ago

Same on macOS Apple Silicon with codex 0.140.0 installed via Homebrew cask.

Inside Codex:

which rg
/opt/homebrew/Caskroom/codex/0.140.0/codex-path/rg

xattr -l /opt/homebrew/Caskroom/codex/0.140.0/codex-path/rg
com.apple.provenance: ...
com.apple.quarantine: ...

/opt/homebrew/bin/rg --version works normally.

Workaround:

xattr -d com.apple.quarantine /opt/homebrew/Caskroom/codex/0.140.0/codex-path/rg

After that, rg --version works through the Codex PATH.

spctl --assess --type execute --verbose=4 still reports an internal Code Signing subsystem error after removing quarantine, so this looks like a packaging/signing/quarantine handling issue rather than a broken Homebrew ripgrep installation.

etraut-openai contributor · 1 month ago

It appears that this regression is rooted in a recent change in Homebrew. We're exploring the best way to fix this.

If this issue is blocking you in the meantime, you can switch to one of our other supported install mechanisms: npm or curl. See this documentation for details.

etraut-openai contributor · 1 month ago

We've introduced a fix in brew that should address this problem. If you were experiencing this problem, can you try to install again and confirm that it now works?

kubajakowski · 1 month ago

@etraut-openai reinstall what? codex? homebrew?

aa755 · 1 month ago

brew reinstall --cask codex

jbro-io · 1 month ago
brew reinstall --cask codex

@aa755 This worked for me. Thank you!

netopsengineer · 1 month ago

@etraut-openai can confirm reinstall fixed this for me with brew reinstall --cask codex

Vaxzem · 1 month ago

Still running into this issue in version 0.140.0. Codex is installed via homebrew.

kubajakowski · 1 month ago
We've introduced a fix in brew that should address this problem. If you were experiencing this problem, can you try to install again and confirm that it now works?

@etraut-openai it does not seem to work for me - issue still exists

ehutzelman · 1 month ago

Fix does not work for me either. My rg is linked to my homebrew rg, and I can run that fine from command line:

❯ which rg
/opt/homebrew/bin/rg

But I do also see that this version of rg exists as well, which brings up the error box when run directly (or from codex):

/opt/homebrew/Caskroom/codex/0.140.0/codex-path/rg
darthShadow · 1 month ago

Did you actually do a reinstall? Without that, it won't work or won't be fixed. Even a normal upgrade won't fix it, because there's been no version bump since the fix.

ehutzelman · 1 month ago

Yes reinstalled with brew reinstall --cask codex. However, I think what those of us that still have the issue missed is you may also need to delete the codex rg version located at /opt/homebrew/Caskroom/codex/0.140.0/codex-path/rg.

robinsonrc · 1 month ago
Yes reinstalled with brew reinstall --cask codex. However, I think what those of us that still have the issue missed is you may also need to delete the codex rg version located at /opt/homebrew/Caskroom/codex/0.140.0/codex-path/rg.

Same here. The reinstall command that everyone else is using still leaves me with this non-working version of rg. Removing it and having Codex then fall back to my main (Homebrew) version of rg got things working. Hopefully the problematic version won't re-appear in future Codex updates...

cmryrdm · 1 month ago

updated to v0.141.0, rg problem solved, thanks.

muhammadyaseen · 1 month ago
updated to v0.141.0, rg problem solved, thanks.

Can confirm that:

  • A simple brew --reinstall cask codex didn't work in my case
  • brew upgrade codex worked (0.140.0 -> 0.141.0)
junminhong · 10 days ago

0.144.1 have the same problem.

alanbanks229 · 10 days ago
0.144.1 have the same problem.

Try this

xattr -d com.apple.quarantine /opt/homebrew/Caskroom/codex/0.144.1/codex-path/rg

Basically this comment

darthShadow · 10 days ago

Looks like someone again switched to the wrong package: https://github.com/Homebrew/homebrew-cask/pull/274248

Ping @etraut-openai

CorbinStewart · 10 days ago

Having the same issue here with 0.144.1 using 5.6-sol. Getting spammed with this "rg" Not Opened warning right now.

cmryrdm · 10 days ago
updated to v0.141.0, rg problem solved, thanks.

rg issue came back in codex-cli 0.144.1

Nicba1010 · 10 days ago

ffs why can't it just use my system binary... Ridiculous

jozefizso · 10 days ago

I use only the codex-cli and I am running the v0.144.1 now. I don't have Codex.app not ChatGPT.app.

I am all the time reminded by macOS 26 the rg tool is insecure:

“rg” Not Opened

Apple could not verify “rg” is free of malware that may harm your Mac or compromise your privacy.

[Move to Trash]
[Done]
jozefizso · 10 days ago

I have the rg tool:

$ which rg
/opt/homebrew/bin/rg

$ /opt/homebrew/bin/rg --version
ripgrep 15.1.0

features:+pcre2
simd(compile):+NEON
simd(runtime):+NEON

PCRE2 10.45 is available (JIT is available)

This rg tool works perfectly fine.

Nicba1010 · 10 days ago

Same @jozefizso

rbanic@Mac xxx % which rg
/opt/homebrew/bin/rg
rbanic@Mac xxx % /opt/homebrew/bin/rg --version
ripgrep 15.1.0

features:+pcre2
simd(compile):+NEON
simd(runtime):+NEON

PCRE2 10.45 is available (JIT is available)
rbanic@Mac xxx % /opt/homebrew/Caskroom/codex/0.144.1/codex-path/rg --version
ripgrep 15.1.0 (rev af60c2de9d)

features:+pcre2
simd(compile):+NEON
simd(runtime):+NEON

PCRE2 10.45 is available (JIT is available)
chrisknuteson-apfm · 10 days ago

Needed to hop into OSX -> System Settings -> Privacy & Security -> scroll down -> 'allow anyway' to clear this error.

Why tho?

darthShadow · 10 days ago

This is fixed upstream again by reverting back to the standalone binary. You will need to update brew (so it knows about the latest hashes) & then do a reinstall to get it fixed.

coreyward · 9 days ago

Another way to patch this temporarily is to simply move or delete the bundled rg binary. Codex has its own overrides earlier in the PATH, but it keeps the system PATH as well. Removing it won't even negatively affect current sessions—the next rg invocation simply resolves to the system version (e.g., /opt/homebrew/bin/rg) and GPT is happy to use it without issues.

smileBeda · 8 days ago

The commands now resolve to host-installed packages, not Codex-bundled copies:

  • rg → /opt/homebrew/bin/rg
  • Symlink to /opt/homebrew/Cellar/ripgrep/15.1.0/bin/rg
  • Installed and managed by Homebrew
  • Version: ripgrep 15.1.0
  • zsh → /bin/zsh
  • Apple’s host OS binary
  • Code-signing identifier: com.apple.zsh
  • Version: zsh 5.9
  • Universal macOS executable

The issue seems resolved - probably until the next release only tho.

rvb-sleek · 5 days ago

Fixed for me in the latest version!