On macOS, a Codex CLI that only ships inside ChatGPT.app (Contents/Resources/codex) cannot be selected in Paseo Chat, even though the same binary works when called by hand. There is no error - the provider is simply not there. This is getpaseo/paseo#6990.
Why it happens
The daemon discovers the CLI by walking its own PATH, with a fallback that only covers the Microsoft Store on Windows. An app-bundled binary is not on any PATH - it lives inside the .app bundle - and a daemon launched from a GUI session inherits a minimal environment anyway. So the two halves of the system disagree: the binary exists and runs, and the daemon has no way to find it.
The fix
Give the provider an explicit command in ~/.paseo/config.json pointing at the bundled binary:
{
"agents": {
"providers": {
"codex": {
"command": ["/Applications/ChatGPT.app/Contents/Resources/codex"]
}
}
}
}
Restart the daemon after saving. command is an array - first element the binary, the rest arguments - and it replaces the default launch entirely. The setting is documented under Custom binary.
This is the general answer for any CLI that ships inside a macOS .app rather than as a standalone install. If a daemon cannot see a binary that runs fine in a terminal, do not fight the discovery - name the path in its config and move on.