@@ -723,6 +723,7 @@ def chatgpt_login_hint(login: LoginDiagnosis, auth: dict[str, Any]) -> dict[str,
723723 "with ChatGPT to use richer Codex App UI features such as plugin marketplace, GitHub/Apps/"
724724 "connectors, manual Fast controls, status hints, and voice input."
725725 ),
726+ "next_user_action" : "Optional: keep current mode, or sign in with ChatGPT if you want the full Codex App UI." ,
726727 }
727728 if auth ["upstream_auth" ] == "override_configured" and auth ["upstream_api_key_available" ]:
728729 return {
@@ -731,6 +732,7 @@ def chatgpt_login_hint(login: LoginDiagnosis, auth: dict[str, Any]) -> dict[str,
731732 "Optional: provider auth works now, but move it to a process or Windows user environment "
732733 "variable before relying on ChatGPT login."
733734 ),
735+ "next_user_action" : "Move the provider key to a persistent environment variable before switching to ChatGPT login." ,
734736 }
735737 if login .chatgpt_auth :
736738 return {
@@ -739,6 +741,7 @@ def chatgpt_login_hint(login: LoginDiagnosis, auth: dict[str, Any]) -> dict[str,
739741 "ChatGPT login is detected, but provider auth is not split. Prepare upstream provider auth "
740742 "before relying on this setup for third-party model requests."
741743 ),
744+ "next_user_action" : "Run prepare-chatgpt-login and set-upstream --upstream-api-key-env before relying on ChatGPT login." ,
742745 }
743746 return {
744747 "status" : "optional_setup_available" ,
@@ -747,6 +750,10 @@ def chatgpt_login_hint(login: LoginDiagnosis, auth: dict[str, Any]) -> dict[str,
747750 "full Codex App UI, such as plugin marketplace, GitHub/Apps/connectors, manual Fast controls, "
748751 "status hints, and voice input, run prepare-chatgpt-login before switching Codex App to ChatGPT login."
749752 ),
753+ "next_user_action" : (
754+ "Keep API-key mode, or run prepare-chatgpt-login before switching Codex App to ChatGPT login "
755+ "for plugin marketplace, GitHub/Apps/connectors, manual Fast controls, status hints, and voice input."
756+ ),
750757 }
751758
752759
@@ -1815,6 +1822,7 @@ def command_install(args: argparse.Namespace) -> int:
18151822
18161823 login = detect_login_mode (paths .codex_home )
18171824 auth = upstream_auth_status (paths , settings )
1825+ login_hint = chatgpt_login_hint (login , auth )
18181826 print (json_line ({
18191827 "status" : "installed" ,
18201828 "provider" : provider ,
@@ -1831,7 +1839,8 @@ def command_install(args: argparse.Namespace) -> int:
18311839 "upstream_api_key_persistent" : auth ["upstream_api_key_persistent" ],
18321840 "chatgpt_login_compatible" : bool (auth ["upstream_api_key_persistent" ]) if login .chatgpt_auth else None ,
18331841 "provider_auth_preparation" : provider_auth_preparation (login , auth ),
1834- "chatgpt_login_hint" : chatgpt_login_hint (login , auth ),
1842+ "chatgpt_login_hint" : login_hint ,
1843+ "next_user_action" : login_hint ["next_user_action" ],
18351844 "backup_path" : str (backup_path ),
18361845 "started" : True ,
18371846 "config_switched" : True ,
@@ -2222,6 +2231,7 @@ def command_status(args: argparse.Namespace) -> int:
22222231 config_matches = bool (settings and config_base_url == settings .base_url )
22232232 needs_restart = bool (pending_restart or (healthy and not runtime_matches ))
22242233 behavior = fast_behavior (settings , login )
2234+ login_hint = chatgpt_login_hint (login , auth ) if settings else None
22252235 diagnosis = status_diagnosis (
22262236 settings ,
22272237 running = running ,
@@ -2262,7 +2272,8 @@ def command_status(args: argparse.Namespace) -> int:
22622272 "upstream_api_key_persistent" : auth ["upstream_api_key_persistent" ],
22632273 "chatgpt_login_compatible" : bool (auth ["upstream_api_key_persistent" ]) if login .chatgpt_auth else None ,
22642274 "provider_auth_preparation" : provider_auth_preparation (login , auth ) if settings else None ,
2265- "chatgpt_login_hint" : chatgpt_login_hint (login , auth ) if settings else None ,
2275+ "chatgpt_login_hint" : login_hint ,
2276+ "next_user_action" : login_hint ["next_user_action" ] if login_hint else None ,
22662277 "config_base_url" : config_base_url ,
22672278 "config_matches" : config_matches ,
22682279 "startup_hook" : hook_status ["ready" ],
0 commit comments