OpenAI Codex CLI rust-v0.132.0

New Features - The Python SDK now supports first-class authentication, including API key login, ChatGPT browser and device-code flows, account inspection, and logout APIs. (23093) - Python turn API...

New Features - The Python SDK now supports first-class authentication, including API key login, ChatGPT browser and device-code flows, account inspection, and logout APIs. (23093) - Python turn APIs are easier to use for text-only workflows: you can pass a plain string as input, and handle-based runs now return a richer TurnResult with collected items, timing, and usage data. (23151, 23162) - codex exec resume now accepts --output-schema, so resumed automations can keep session context while still enforcing structured JSON output. (23123) - TUI startup is faster because terminal capability probes are now batched instead of waiting on several serial checks before the first interactive frame. (23175) - Remote executor registration can now use standard Codex auth instead of a separate registry credential flow. (22769) - App-server turns can preserve requested image fidelity, including original-resolution local images, across user inputs and image-producing tools. (20693) Bug Fixes - Goal continuations now stop when they hit usage limits or a repeated blocker instead of looping and burning more tokens, and completion responses phrase usage more naturally. (23094, 22907) - The session picker is easier to trust: renamed threads now show name (thread-id) in resume hints, and pasted text works in the picker search box. (23234, 23338) - Multi-session TUI flows are more reliable: in-progress MCP calls stay marked as active during replay, and elicitation replies are sent back to the thread that requested them. (23236, 23241) - Remote sessions now keep websocket connections alive and show repo-relative diff paths again instead of /tmp/...-prefixed paths. (23226, 23261) - Windows installs are more robust: codex doctor now detects npm-managed installs correctly, and MSVC release binaries no longer depend on separately installed VC++ runtime DLLs. (22967, 22905) - TUI polish fixes include immediate shutdown feedback on exit, hiding the ChatGPT usage link for non-OpenAI providers, and keeping a cleared Fast tier from reappearing after side-thread resume. (23323, 23127, 23121) Documentation - The Python SDK docs, FAQ, and examples were refreshed around the new auth flow and turn APIs, with clearer setup guidance and simpler text-only examples. (22941, 23093, 23151, 23162) Chores - Memory summaries are now versioned and rebuilt when the stored format is stale, which should keep long-lived memory context leaner and more predictable. (23148) Changelog Full Changelog: https://github.com/openai/codex/compare/rust-v0.131.0...rust-v0.132.0 - 20693 Preserve image detail in app-server inputs @fjord-oai - 22891 tui: pass active permission profiles through app commands @bolinfest - 22924 app-server-protocol: remove PermissionProfile from API @bolinfest - 22941 [codex] Refine Python SDK user-facing docs @aibrahim-oai - 22967 Fix Windows doctor npm root probe @etraut-openai - 22920 core: set permission profiles from snapshots @bolinfest - 22939 [codex] Split Python SDK helper logic @aibrahim-oai - 22907 Improve goal completion usage reporting @etraut-openai - 23030 test: construct permission profiles directly @bolinfest - 22769 exec-server: support auth-backed remote executor registration @miz-openai - 22946 [codex] preserve MCP result meta in McpToolCallItemResult @miaolin-oai - 23069 multiagent: trim model-visible description, cap to 5 models @sayan-oai - 22913 [1 of 4] tui: route primary settings writes through app server @etraut-openai - 23093 sdk/python: add first-class login support @aibrahim-oai - 23151 [codex] Return TurnResult from Python turn handles @aibrahim-oai - 23147 Make multi-agent v2 tool namespace configurable @jif-oai - 23036 test: reduce core sandbox policy test setup @bolinfest - 23162 [codex] Accept string input for Python turns @aibrahim-oai - 23226 Add exec-server websocket keepalive @starr-openai - 23148 Densify and version memory summaries @jif-oai - 22448 [codex] Add installed-plugin mention API @xli-oai - 23288 chore: goal ext skeleton @jif-oai - 23291 Make extension lifecycle hooks async @jif-oai - 23293 feat: add extension event sink capability @jif-oai - 23295 chore: isolate thread goal storage behind GoalStore @jif-oai - 23301 chore: goal resumed metrics @jif-oai - 23305 chore: make token usage async @jif-oai - 23306 Emit goal update events from goal extension tools @jif-oai - 23121 tui: keep cleared Fast tier from reappearing after side-thread resume @etraut-openai - 23123 Support --output-schema for exec resume @etraut-openai - 23128 Fix TUI stream cleanup after turn errors @etraut-openai - 23127 Hide ChatGPT usage link for non-OpenAI status @etraut-openai - 23175 [1 of 2] Optimize TUI startup terminal probes @etraut-openai - 22706 [codex] Remove legacy shell output formatting paths @pakrym-oai - 23332 nit: read prompt @jif-oai - 22905 windows: link MSVC release binaries with static CRT @iceweasel-oai - 23323 fix(tui): show shutdown feedback on exit @fcoury-oai - 23261 Fix remote turn diff display roots @starr-openai - 22569 Simplify legacy Windows sandbox ACL persistence @iceweasel-oai - 23273 Upload rust full CI JUnit reports @starr-openai - 22893 fix: harden plugin creator sharing validation @efrazer-oai - 23094 goal: pause continuation loops on usage limits and blockers @etraut-openai - 23234 Clarify resume hints for renamed threads @etraut-openai - 23241 TUI: route elicitation responses to request thread @etraut-openai - 23236 TUI: replay in-progress MCP calls as started @etraut-openai - 23088 goals: keep pause transitions explicit @etraut-openai - 23338 feat(tui): handle paste in session picker @fcoury-oai - 23335 feat(app-server): add optional threadid to experimentalFeature/list @owenlin0