Skip to content

Feature request: expose native composer suggestion hooks/API for local plugins #17341

@AriesBn

Description

@AriesBn

Feature request: expose native composer suggestion hooks/API for local plugins

Summary

Codex local plugins can currently package skills, apps, MCP servers, and install-surface metadata, but there does not appear to be a public plugin API for intercepting native composer typing events and rendering realtime suggestion UI inside the desktop app's input box.

This blocks a class of plugins that are specifically about in-composer guidance, autocomplete, prompt coaching, and adaptive keyword suggestion.

Concrete use case

I built a local Codex plugin called oh-oh-oh that helps users choose better Codex keywords from natural-language prompts.

The plugin already supports:

  • local installation through marketplace + plugin cache
  • skill-based invocation
  • local personalization based on accepted keyword history
  • realtime keyword recommendation logic in the plugin runtime

What I cannot do with the current public surface is the most important part of the UX:

  • detect when the user pauses while typing in the native Codex desktop composer
  • show a ranked suggestion deck directly under the input box
  • let the user click a suggestion to prepend it to the prompt
  • hide suggestions that were already accepted

Why this matters

This is especially useful for newer users who do not know professional Codex keywords or prompt prefixes yet.

Example:

  • User types: 鎴戞兂鐪嬬湅浠g爜鏈夊摢浜涘啑浣欑殑
  • Plugin should be able to suggest something like code review or another appropriate built-in keyword/prefix
  • If the user accepts it, Codex should insert that prefix at the beginning of the prompt

Without a native composer suggestion API, plugin authors can only approximate this via:

  • explicit skill invocation
  • external prototype UIs
  • separate helper commands

Those workarounds are useful, but they do not solve the real in-context onboarding problem.

Current limitation observed

From the currently published Codex docs, local plugins appear to support:

  • skills
  • apps/connectors
  • MCP servers
  • install and discovery metadata such as defaultPrompt, composerIcon, and logo

However, I could not find a public API for:

  • composer input change events
  • pause/debounce hooks for the native input field
  • plugin-owned suggestion rows under the composer
  • accepting a suggestion and programmatically rewriting the current draft

features.codex_hooks also appears to be about lifecycle hooks and is marked as under development, not as a composer extension API.

Requested capability

Please expose a supported plugin API for native composer augmentation in Codex desktop, for example:

  1. Read-only access to the current draft text in the composer
  2. Debounced onInputChanged or onPause events
  3. A way for plugins to return ranked suggestion items with labels, descriptions, and insertion behavior
  4. A safe API to prepend, replace, or insert suggestion text into the current draft
  5. A way to hide or invalidate suggestions after acceptance
  6. Optional telemetry hooks so plugins can learn from accepted suggestions locally

Suggested design constraints

  • Keep this API local-first so plugins do not need to exfiltrate draft text
  • Make suggestion rendering clearly attributed to the plugin
  • Provide user controls to disable a plugin's composer suggestions
  • Limit mutation scope so plugins can only edit the active draft, not arbitrary thread history
  • Consider rate limits / debounce guidance to avoid noisy or expensive suggestion loops

Impact

Opening this API would unlock an important category of Codex-native productivity plugins:

  • prompt keyword coaches
  • onboarding assistants
  • repo-aware command recommenders
  • code-review prompt helpers
  • test/debug prompt suggestions
  • adaptive workflow hints for new users

Right now, plugin authors can package the recommendation logic, but not the UX surface where that logic is most valuable.

Environment used while investigating

  • Codex desktop on Windows
  • local plugin installed and enabled through ~/.agents/plugins/marketplace.json
  • plugin enabled in ~/.codex/config.toml
  • plugin loaded from ~/.codex/plugins/cache/.../local

The plugin installation itself works correctly. The missing piece is the public native composer extension surface.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requesthooksIssues related to event hooksskillsIssues 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