Local and remote models in Codex Desktop, controlled from your menu bar.
PickerMux adds compatible provider models alongside your native Codex models. The macOS app installs the integration, refreshes the picker, and guides recovery after Codex updates. LM Studio is the default provider.
Download PickerMux for macOS — one signed and notarized DMG for Apple silicon and Intel.
| Menu-bar companion | Codex model picker |
![]() |
![]() |
Left: current app rendered with synthetic usage. Right: Codex picker screenshot.
Download the explainer MP4 · Media details
PickerMux is an unofficial community project, unaffiliated with OpenAI, Codex, or LM Studio.
- macOS 13+ on Apple silicon or Intel.
- Codex Desktop, opened once while signed in to load its native model picker.
- Node.js 22.15.0+ in
/opt/homebrew/bin,/usr/local/bin, or/usr/bin. Install Node.js separately. - A compatible Responses provider with an available model. For LM Studio, start its server and load at least one LLM.
General Chat Completions compatibility is insufficient. Custom Responses providers and the experimental MLX adapter are described in configuration.
- Open the DMG and drag PickerMux.app to Applications.
- Eject the image and open PickerMux from Applications.
- Fully quit Codex with Command-Q and keep your provider models available.
- Turn on Use PickerMux in Codex.
- Wait for setup, reopen Codex, and select a provider model.
Enabling the switch authorizes installation and live certification prompts. Allow several minutes per model. Tools become available only after the exact model configuration passes certification.
For an update, quit PickerMux, replace its app from the new DMG, and reopen it. Then fully quit Codex and confirm the offered backend upgrade, or use Config → Update installed backend…. App and backend versions are separate; the backend upgrade preserves provider settings.
If an earlier setup has no external providers, Config → Enable LM Studio models… offers a reviewed migration. Keep Codex closed and an LM Studio model loaded. Existing external-provider configurations are never replaced by this action. See upgrade details.
Load the models you want, fully quit Codex, choose Refresh picker, and reopen Codex. Models appear in Codex's picker; the PickerMux menu shows provider usage. New models need Certify models… before using tools.
Certified models receive guidance for sandbox-related command failures, including macOS Simulator connections. They can request the specific command through Codex's approval flow when permitted. Individual approvals may still be needed; PickerMux does not change execution permissions. After a backend upgrade, refresh the picker and fully quit and reopen Codex to load updated guidance.
Automatic Codex Guardian reviews also work with PickerMux's compacted LM Studio
history. Recognized native reviews receive the authenticated summary as untrusted
context; Codex still decides approval. This review context goes to OpenAI when
automatic review is enabled, even with a local task model.
Known native metadata and timing events in a completed review stream are retained.
Response-validation failures and stream interruptions in projected reviews
include a fixed REVIEW_* diagnostic marker in the public error.
This changes diagnostics only; it does not relax approval or response checks.
See approval troubleshooting.
Since 0.40.1, the LM Studio adapter removes native encrypted-output replay requests, including
Codex's newer output.encrypted_content selector, before provider validation.
This prevents the immediate Invalid enum value failure without a Codex setting
change. Existing matching certifications and compacted history remain valid.
The revised LM Studio certification checks tool-result continuation with the
full conversation, uses numbered records for its long-context test, and allows
more output tokens when discovered metadata requires reasoning. After upgrading
to that backend revision, existing LM Studio models need a fresh certification.
See
certification troubleshooting.
If optional tool search is unreliable, the CLI's --direct-only certification
option retains Direct tools after a complete base pass.
Tool certification does not test automatic context compaction. Its separate summary budget allows more room for mandatory reasoning, and a failed summary preserves the prior history. Summary guidance asks the model to retain the active task and exact answer-format constraints. These compaction fixes leave matching certifications valid. Larger reasoning allowances can take longer; summary quality still depends on the model. See compaction troubleshooting.
Config… contains status and installation checks, installation details, updates, startup preferences, notifications, token reset, and Full refresh…. A full refresh asks for confirmation before its two graceful Codex quits and recovery sequence. Unavailable actions explain their prerequisites. After a Codex update, follow the offered repair guidance.
Token usage shows provider-reported Input, Output, and Total for Last
model request and Since reset. Counts survive restarts and backend
upgrades. Config → Token usage → Reset accumulated counts… clears totals
and retains the last request. Missing counts remain unavailable; Output
speed appears only with a matching measurement. Provider ID kolibri is
hidden from the app's usage rows. Token details.
Custom local or remote Responses providers use explicit model allowlists and provider credentials. The experimental Apple-silicon MLX adapter supports immutable model profiles and certified Kolibri function calls; it requires separate runtime setup. Kolibri's roughly 41 GiB model targets Macs with at least 64 GB unified memory. Reasoning, media, and compaction are unsupported; context changes require a new profile and certification. Provider and MLX setup.
Experimental native voice requires Codex account access. Audio and conversation context go to OpenAI even when a local model handles delegated tasks. Voice setup and limits.
Turn Use PickerMux in Codex off, then fully quit and reopen Codex to restore its native picker while retaining PickerMux for later use.
For complete removal, quit Codex and choose Config → Remove PickerMux completely…. Review deletion of the CLI, managed data, verified backups, and registered provider credentials. Afterwards, quit PickerMux and move its app to the Trash. Codex sign-in, chats, projects, and unrelated settings are retained. An old chat that keeps reconnecting may need native-provider recovery.
The private loopback bridge resolves exact model routes and keeps native Codex credentials isolated from external providers. Tool grants require model-bound certification; lifecycle changes validate ownership and support rollback.
Troubleshooting · Technical guide and CLI · Configuration · Companion app · Architecture · Security
Report a bug or request a feature.
Report vulnerabilities privately as described in SECURITY.md.
Contributors need macOS and Node.js 22.15.0+; run npm run verify and the Swift
tests. See CONTRIBUTING.md, AGENTS.md,
and the changelog. PickerMux uses the MIT License.


