TUI `$` autocomplete shows inaccessible App Directory entries as `[App]` suggestions

Resolved 💬 2 comments Opened May 23, 2026 by mullzhang Closed May 23, 2026

What version of Codex CLI is running?

codex-cli 0.133.0

What subscription do you have?

ChatGPT Pro 5x

Which model were you using?

gpt-5.5

What platform is your computer?

Darwin 25.3.0 arm64 arm

What terminal emulator and version are you using (if applicable)?

tmux 3.5a

Codex doctor report

{
  "schemaVersion": 1,
  "overallStatus": "fail",
  "codexVersion": "0.133.0",
  "notableChecks": {
    "app_server.status": {
      "status": "ok",
      "summary": "background server is not running"
    },
    "auth.credentials": {
      "status": "ok",
      "summary": "auth is configured",
      "details": {
        "auth storage mode": "File",
        "stored ChatGPT tokens": "true",
        "stored auth mode": "chatgpt"
      }
    },
    "config.load": {
      "status": "ok",
      "summary": "config loaded",
      "details": {
        "CODEX_HOME": "/Users/mull/.codex",
        "config.toml": "/Users/mull/.codex/config.toml",
        "model": "gpt-5.5",
        "model provider": "openai",
        "enabled feature flags": "shell_tool, unified_exec, shell_snapshot, terminal_resize_reflow, sqlite, hooks, enable_request_compression, multi_agent, apps, tool_suggest, plugins, plugin_hooks, in_app_browser, browser_use, browser_use_external, computer_use, plugin_sharing, image_generation, skill_mcp_dependency_install, steer, guardian_approval, goals, collaboration_modes, tool_call_mcp_elicitation, personality, fast_mode, tui_app_server, workspace_dependencies"
      }
    },
    "installation": {
      "status": "ok",
      "summary": "installation looks consistent",
      "details": {
        "PATH codex #1": "/opt/homebrew/bin/codex",
        "install context": "brew"
      }
    },
    "network.provider_reachability": {
      "status": "fail",
      "summary": "one or more required provider endpoints are unreachable over HTTP",
      "details": {
        "ChatGPT base URL": "https://chatgpt.com/backend-api/ connect failed (required)"
      }
    },
    "network.websocket_reachability": {
      "status": "warning",
      "summary": "Responses WebSocket failed; HTTPS fallback may still work"
    },
    "runtime.provenance": {
      "status": "ok",
      "summary": "running brew on macos-aarch64",
      "details": {
        "install method": "brew",
        "platform": "macos-aarch64",
        "version": "0.133.0"
      }
    },
    "terminal.env": {
      "status": "ok",
      "summary": "terminal metadata was detected",
      "details": {
        "TERM_PROGRAM": "tmux",
        "multiplexer": "tmux 3.5a",
        "terminal version": "3.5a"
      }
    },
    "updates.status": {
      "status": "warning",
      "summary": "update configuration is locally consistent",
      "details": {
        "cached latest version": "0.133.0",
        "last checked at": "2026-05-23T02:29:11.797930Z"
      }
    }
  }
}

What issue are you seeing?

In the Codex CLI TUI, typing $ opens an autocomplete menu that includes App Directory entries as [App] suggestions even though they are not accessible, not enabled as configured plugins, and not available as callable tools.

Examples shown in the $ autocomplete menu:

엘포인트                 [App] Pay and earn points at once!
요기요                   [App] 배달할 때마다 포인트 적립
운세박사                 [App] Free Saju & Fortune Reading
전자랜드                 [App] 전문가가 고르고, 혜택은 더하고
정통사주 - 띠별 오늘 운세 [App] 띠와 출생연도를 바탕으로 보는 오늘의 운세
칠성몰                   [App] 롯데칠성음료 공식 온라인몰
카카오골프예약           [App] Find golf courses & tee times
캐논코리아               [App] Find Canon korea product

These suggestions make it look like the apps are installed or callable, but local state indicates they are only inaccessible App Directory catalog entries.

The affected entries are present in:

~/.codex/cache/codex_app_directory/14347c43b30fd33b8011f411ede82a94a22396c4.json

Example local evidence:

{
  "name": "엘포인트",
  "isAccessible": false,
  "isEnabled": true,
  "distributionChannel": "ECOSYSTEM_DIRECTORY",
  "pluginDisplayNames": [],
  "installUrl": "https://chatgpt.com/apps/app/asdk_app_6997ca4101888191b2f9caee3bf34ea3"
}
{
  "name": "요기요",
  "isAccessible": false,
  "isEnabled": true,
  "distributionChannel": "ECOSYSTEM_DIRECTORY",
  "pluginDisplayNames": [],
  "installUrl": "https://chatgpt.com/apps/app/asdk_app_6944c51054388191a007431b1f1b71b2"
}
{
  "name": "캐논코리아",
  "isAccessible": false,
  "isEnabled": true,
  "distributionChannel": "ECOSYSTEM_DIRECTORY",
  "pluginDisplayNames": [],
  "installUrl": "https://chatgpt.com/apps/app/asdk_app_698590337b6481919b68c7560447d099"
}

The same names do not appear in the callable tools cache:

~/.codex/cache/codex_apps_tools/491dd33da9a4754e407040dd7c980a734f1731b1.json

My config.toml only has these plugins enabled:

[plugins."google-calendar@openai-curated"]
enabled = true

[plugins."gmail@openai-curated"]
enabled = true

[plugins."github@openai-curated"]
enabled = true

[plugins."google-drive@openai-curated"]
enabled = true

Deleting the codex_app_directory cache temporarily removes the entries, but the cache is regenerated on restart and the inaccessible App Directory entries return.

What steps can reproduce the bug?

  1. Run Codex CLI TUI with ChatGPT auth.
  2. In the composer, type $.
  3. Observe [App] autocomplete suggestions for apps that are not configured plugins and not callable tools.
  4. Inspect ~/.codex/cache/codex_app_directory/*.json.
  5. Confirm the displayed apps have:
{
  "distributionChannel": "ECOSYSTEM_DIRECTORY",
  "isAccessible": false,
  "isEnabled": true,
  "pluginDisplayNames": []
}
  1. Inspect ~/.codex/cache/codex_apps_tools/*.json.
  2. Confirm these app names are not present there.
  3. Delete ~/.codex/cache/codex_app_directory/*.json and restart Codex.
  4. Observe that the cache is regenerated and the same inaccessible app suggestions return.

What is the expected behavior?

The $ autocomplete menu should not show App Directory entries that are not accessible and not callable.

At minimum, entries with the following shape should be filtered out of [App] suggestions:

{
  "distributionChannel": "ECOSYSTEM_DIRECTORY",
  "isAccessible": false,
  "pluginDisplayNames": []
}

The autocomplete surface should only show apps/tools that the current environment can actually invoke, or it should clearly distinguish installable catalog suggestions from callable apps.

Additional information

I searched existing issues before filing. I did not find an existing issue matching this specific problem.

Searches checked:

codex_app_directory
ECOSYSTEM_DIRECTORY
isAccessible App Directory
캐논코리아
엘포인트
[App] autocomplete
$ autocomplete app
connector autocomplete
apps autocomplete

Related but distinct issues:

  • openai/codex#24041: slash menu hides built-in commands, but this issue is about $ showing inaccessible App Directory entries.
  • openai/codex#19427: / to $ skill invocation UX, not App Directory filtering.
  • openai/codex#20629: bundled system skills flicker/disappear, not inaccessible App Directory entries.
  • openai/codex#13648: available apps do not autocomplete; this issue is the inverse, inaccessible apps do autocomplete.

View original on GitHub ↗

This issue has 2 comments on GitHub. Read the full discussion on GitHub ↗