Skip to content

Support /personality for remote models #10074

@regenrek

Description

@regenrek

What version of Codex is running?

0.92

What subscription do you have?

Pro

Which model were you using?

gpt-codex-5.2

What platform is your computer?

MacOS

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

Ghostty

What issue are you seeing?

Remote models can hide /personality on fresh installs (template omitted → supports_personality false)

  • remote_models is enabled by default (codex-rs/core/src/features.rs).
  • TUI only enables /personality when the current model preset has supports_personality = true (codex-rs/tui/src/chatwidget.rs).
  • When remote /models omits model_instructions_template (or sends null), converting remote ModelInfo → ModelPreset yields supports_personality = false.
  • Remote presets take precedence for overlapping slugs, so they can overwrite the built-in preset that otherwise supports personality.

What steps can reproduce the bug?

  • Fresh install / clean config.
  • Ensure remote_models = true (default).
  • Backend /models response for gpt-5.2-codex (or another model expected to support personality) has -model_instructions_template: null.
  • Open TUI and type / → /personality is missing / disabled.

What is the expected behavior?

/personality should remain available for models that support it (at least for known bundled models).

Actual: /personality can be hidden because remote metadata overwrote supports_personality

Additional information

Proposed fix:

  • Backend (preferred): always include model_instructions_template for personality-capable models, or add an explicit supports_personality boolean in /models.
  • Client (safe UX fix): when merging remote + bundled presets for the same slug, preserve supports_personality=true if the bundled preset supports it and remote metadata doesn’t indicate support.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingconfigIssues involving config.toml, config keys, config merging, or config updates

    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