GPT-5.6 Luna missing from `/model` despite being directly callable — stale Codex app-server after model catalog update

Hi everyone,

I ran into an unusual issue with Codex CLI today and wanted to document the troubleshooting process in case anyone else encounters the same problem.

## Environment

- Codex CLI: `0.155.1`
- OS: Linux
- Model affected: `gpt-5.6-luna`

GPT-5.6 Luna had been available in `/model` previously, but later it suddenly disappeared from the model picker.

The visible model list contained models such as:

- GPT-6-Astra
- GPT-5.6-Sol
- GPT-5.6-Terra
- GPT-5.5

but GPT-5.6 Luna was missing.

---

## 1. Luna was still callable directly

I first tried starting Codex with the model explicitly:

```bash
codex -m gpt-5.6-luna

This worked.

Codex started with:

model: gpt-5.6-luna medium

and the model could respond normally.

However, Codex displayed this warning:

Model metadata for `gpt-5.6-luna` not found.
Defaulting to fallback metadata; this can degrade performance and cause issues.

So the backend still accepted gpt-5.6-luna, but Codex did not have its normal model metadata available.


2. The local model cache did not contain Luna

I checked:

~/.codex/models_cache.json

with:

jq -r '.models[] | [.slug, .display_name] | @tsv' \
~/.codex/models_cache.json

The current cache did not contain:

gpt-5.6-luna

This explained why Luna was no longer appearing normally in the model picker.


3. Codex 0.155.1 itself still contains Luna-related definitions

I searched the installed Codex binary and found references to:

gpt-5.6-luna
GPT-5.6-Luna

including metadata such as:

display_name: GPT-5.6-Luna
description: Fast and affordable agentic coding model.
default_reasoning_level: medium

So the installed Codex version itself was aware of Luna.


4. Editing models_cache.json directly was not persistent

I manually added Luna to:

~/.codex/models_cache.json

and verified that it appeared there.

However, after restarting Codex, the file was refreshed and Luna disappeared again.

So directly modifying models_cache.json was not a persistent solution.


5. I created a custom model catalog

I created a separate catalog:

~/.codex/models_with_luna.json

and added Luna there.

Then I added this to the top level of:

~/.codex/config.toml
model_catalog_json = "/home/<user>/.codex/models_with_luna.json"

I also temporarily set:

model = "gpt-5.6-luna"

After that, this command:

codex debug models

showed:

gpt-5.6-luna    GPT-5.6-Luna    list

So Codex was able to read the custom catalog.


6. The important part: an old Codex app-server was still running

Even after changing the configuration, the behavior did not immediately update.

I checked my running Codex processes:

ps -u "$USER" -o pid,ppid,lstart,cmd \
| grep -E '[c]odex( |$)|[c]odex-code-mode-host'

I found an older process similar to:

codex -c features.code_mode_host=true app-server --listen unix://

along with:

codex-code-mode-host

The app-server had been started before I changed the model configuration.

I terminated only my own old Codex app-server process:

kill <PID>

Important: on a shared server, do not use something like:

pkill codex

because that could terminate other users’ Codex processes.

I then verified that my old Codex processes were gone:

ps -u "$USER" -o pid,ppid,lstart,cmd \
| grep -E '[c]odex( |$)|[c]odex-code-mode-host'

7. Restarting Codex fixed the issue

After fully stopping the old Codex background process and starting Codex again:

codex

GPT-5.6 Luna appeared again and was usable.


Summary

In my case, the symptoms were:

GPT-5.6 Luna disappeared from /model
        ↓
codex -m gpt-5.6-luna still worked
        ↓
models_cache.json did not contain Luna
        ↓
custom model_catalog_json included Luna
        ↓
codex debug models could see Luna
        ↓
old Codex app-server was still running
        ↓
restart the old app-server / Codex background processes
        ↓
GPT-5.6 Luna appeared again

The main lesson for me was:

If Codex configuration or model metadata has changed but the UI still behaves as if it is using the old configuration, check whether an old app-server process is still running.

This may be especially relevant when using Codex CLI together with VS Code or other Codex integrations.

Hope this helps anyone who runs into the same issue.

I have the same issue on Windows with the ChatGPT/Codex desktop app. I fully exited every ChatGPT process and relaunched the app, so this is not a stale local process.

I then queried a freshly launched local Codex app server using model/list with includeHidden: true. The returned catalog includes GPT-6 Astra, GPT-5.6 Sol, GPT-5.6 Terra, GPT-5.5, plus hidden internal models, but it does not include gpt-5.6-luna at all.

Setting model = "gpt-5.6-luna" in %USERPROFILE%\.codex\config.toml did not make it selectable, so this appears to be an account/server-side catalog availability issue rather than a Windows cache or stale app-server issue. Could the Luna availability for affected accounts be checked?

Fixing a Broken Custom Model Catalog in Codex 0.155.1 and Restoring GPT-5.6-Luna

I ran into an issue after upgrading to Codex 0.155.1: my custom model catalog stopped working, codex debug models would fail, and GPT-5.6-Luna disappeared from the model list.

The problem was that my custom models_with_luna.json was based on an older/incomplete catalog format.

Here is the fix that worked for me.

1. Back up your current catalog

cp ~/.codex/models_with_luna.json \
   ~/.codex/models_with_luna.json.bak

This gives you an easy way to restore the old file if needed.

2. Download the official model catalog for Codex 0.155.1

Instead of manually rebuilding the JSON, use the model catalog that belongs to the exact Codex version you are running:

curl -fL \
  https://raw.githubusercontent.com/openai/codex/rust-v0.155.1/codex-rs/models-manager/models.json \
  -o ~/.codex/models_with_luna.json

This is important because the model catalog schema can change between Codex releases.

My old file looked roughly like this:

{
  "slug": "gpt-5.6-luna",
  "display_name": "GPT-5.6-Luna",
  "shell_type": "standard"
}

That is not a complete model catalog.

The current catalog structure is more like:

{
  "models": [
    {
      "slug": "gpt-5.6-luna",
      "...": "..."
    }
  ]
}

There are also additional fields that newer Codex versions expect.

3. Install jq

On Ubuntu/Debian:

sudo apt update
sudo apt install -y jq

Check that it works:

jq --version

Other distributions:

# Fedora / RHEL
sudo dnf install jq

# Arch Linux
sudo pacman -S jq

# macOS
brew install jq

4. Validate the downloaded JSON

Run:

jq empty ~/.codex/models_with_luna.json && echo "JSON OK"

If everything is valid, you should see:

JSON OK

5. Check that GPT-5.6-Luna exists in the catalog

jq '
  .models[]
  | select(.slug == "gpt-5.6-luna")
  | {
      slug,
      display_name,
      shell_type,
      visibility,
      minimal_client_version,
      default_reasoning_level,
      multi_agent_version
    }
' ~/.codex/models_with_luna.json

You should get an entry for:

gpt-5.6-luna

In the Codex 0.155.1 catalog, Luna uses the newer model definition instead of the older minimal entry I had manually created.

One important difference in my case was:

"shell_type": "unified_exec"

instead of:

"shell_type": "standard"

6. Make sure Codex points to the catalog

If you are using a custom model catalog, check your:

~/.codex/config.toml

It should contain something like:

model_catalog_json = "/home/YOUR_USERNAME/.codex/models_with_luna.json"

Replace YOUR_USERNAME with your actual Linux username.

7. Restart Codex completely

After changing the model catalog, exit all running Codex sessions and start Codex again.

Then test:

codex debug models

Or, with jq:

codex debug models | jq -r '
  .models[]
  | [.slug, .visibility]
  | @tsv
'

At this point, Codex should be able to read the model catalog again.

What fixed it for me

The main fix was not trying to manually patch my old Luna entry.

Instead, I replaced the broken custom catalog with the official models.json from the exact Codex version I was using:

rust-v0.155.1

After that:

  • the JSON parsed correctly;
  • codex debug models started working again;
  • GPT-5.6-Luna was present in the catalog;
  • Codex stopped failing because of the malformed/outdated custom catalog.

So if your custom model catalog suddenly breaks after a Codex upgrade, I recommend starting with the official models.json from the matching Codex release instead of copying an older model definition forward.

Hi, I’m a ChatGPT Plus user and I noticed that GPT-5.6 Luna has suddenly disappeared from the model selector.

I previously used Luna regularly, especially for long-form writing, but now I can no longer find it in ChatGPT, Work, or Codex.

Was GPT-5.6 Luna intentionally removed for Plus users, or is this a temporary rollout/account issue?

I also did not receive any notification about this change. If Luna was removed from Plus, is there an official announcement or migration guidance?

Thanks.

I cannot directly answer “why” from an insider perspective, and -luna is not my go-to model of choice. It is most appropriate in “work” when you need to use a model with low quota consumption with lower factual criticality, and a switch to “work” is the only place to see the sized models directly offered to you now.

You don’t report if it is in an app for a platform or if the model choice is seen in the web, or even Codex as SDK or app helper. You can certainly compare and see if this relates to an app version. Go sideways and see the VSCode extension sidebar version and its offerings.

I would give the whole ChatGPT site a hard-refresh, in a browser, Shift-F5, and start a new AI chat with “work”.

Chat, web

Work, web

That is with pro, but there is no reason to drop the named gpt-5.6 versions on you anywhere, or particularly and only Luna out of them.


I now trust gpt-6-pro to deep research and give the end-all truth of “hard refresh” key combos:

Browser Windows Linux macOS
Google Chrome Ctrl+Shift+R. Also Ctrl+F5 or Shift+F5. Ctrl+Shift+R. Also Ctrl+F5 or Shift+F5. Cmd+Shift+R.
Microsoft Edge Ctrl+Shift+R. Also Ctrl+F5 or Shift+F5. Ctrl+Shift+R; Ctrl+F5 is also documented in Edge DevTools. Cmd+Shift+R.
Mozilla Firefox Ctrl+Shift+R or Ctrl+F5. Ctrl+Shift+R or Ctrl+F5. Cmd+Shift+R.
Brave Ctrl+Shift+R or Shift+F5. Ctrl+Shift+R or Shift+F5. Cmd+Shift+R.
Vivaldi Ctrl+Shift+R or Ctrl+F5. Ctrl+Shift+R or Ctrl+F5. Cmd+Shift+R.
Safari Not applicable to current Safari. Not applicable. Cmd+Option+R — Safari calls this Reload Page From Origin.

I am on Pro and i also dont see Luna starting from couple of hours.

I was expecting to have the full list of current models so that I can decide my usage and output quality. Now basic questions get routed to sol on light mode and burning my tokens unnecessarily. Any plans to include Luna and Terra?

+1 here experiencing same issue with codex.

same here

experiencing same problem here!

I also suddenly see a “monthly limit” rather than “weekly limit” on my account:

Screenshot 2026-09-21 at 10.06.52 AM

Has anyone noticed the same? This is an active x20 pro subscription.

I would preserve these as two separate changes for now:

  1. GPT-5.6 Sol disappeared from your Codex model list.
  2. Your Usage UI now says monthly limit instead of the weekly limit you previously saw.

The second one is especially worth documenting because OpenAI’s current Help pages still describe Work/Codex included usage as having a weekly limit, and the paid reset documentation still describes a weekly Work/Codex reset:

So, as of today, a Pro 20x account showing a new monthly-limit label is at least a UI/documentation or entitlement-state discrepancy. It does not yet tell us whether the underlying allowance actually changed, whether this is an account experiment, or whether the UI is simply displaying the wrong bucket.

If you already have the information, the useful fields are:

  • exact surface: Codex desktop / CLI / web;
  • app/CLI version;
  • plan shown on the account;
  • exact reset date/time shown beside the monthly meter;
  • whether /status or another native usage view still reports a weekly window;
  • when Sol disappeared relative to the meter changing.

No need to burn usage to test it. A before/after Usage-page capture plus the native reset-window metadata, if already visible, would be much more useful than repeated model runs.

That is quite … surprising!

I cannot reproduce either issue.

No repro on monthly usage as well, spark dropped off last week, that is it.

Which cli version is this? I am on v0.155.1 and see it there

I am on v0.155.1 as well. It started acting like this the morning I wake up after running some tasks overnight.

this is very weird but interesting at the same time

Hi @zack123

Thank you for reporting this. I’m currently on v0.155.1 and not seeing this on my end.

Could you please sign out of the Codex CLI and then sign back in? If the model remains missing or the monthly limit still appears afterward, please let us know.

hello i’m experiencing the same problem but in my case GPT-5.6-luna has been disappeared in the Codex. and yes i did logout and login from the codex and it didn’t fix the problem. idk if its because of new updates or the new resets coming to the users, but i’m really struggling with not having luna in my workflow. can you investigate this please? i’m on codex v0.155.1 if you need any logs or traces from my end i’m ready to collaborate. tnx

I did try signing out. It doesn’t change anything.