Skip to content

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

@mullzhang

Description

@mullzhang

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:

Metadata

Metadata

Assignees

No one assigned

    Labels

    CLIIssues related to the Codex CLITUIIssues related to the terminal user interface: text input, menus and dialogs, and terminal displaybugSomething isn't workingskillsIssues related to skills

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions