Configure pstack models
Create or update $CODEX_HOME/pstack-models.toml. This file belongs to pstack and must not modify Codex's main config.toml.
Workflow
- Read the current file when it exists. Preserve custom role assignments unless the user asks to reset them.
- Use the model availability exposed by the current Codex environment. Do not invent or probe unsupported model IDs.
- Ask for a choice only when an unavailable model or a genuinely ambiguous budget changes the result. Otherwise use the defaults below.
- Write the full file atomically so repeated runs converge to the same state.
- Parse the resulting TOML and report its path, profiles, and role overrides.
Default configuration
version = 1
[profiles.fast]
model = "gpt-5.6-luna"
reasoning_effort = "max"
[profiles.general]
model = "gpt-5.6-sol"
reasoning_effort = "medium"
[profiles.deep]
model = "gpt-5.6-sol"
reasoning_effort = "xhigh"
[roles]
mechanical = "fast"
feature = "general"
refactoring = "general"
bug_fix = "general"
performance = "general"
exploration = "general"
architecture = "deep"
synthesis = "deep"
review = "deep"
prose = "deep"
[panels]
arena = ["deep", "general", "fast"]
architect = ["deep", "general"]
interrogate = ["deep", "general", "fast"]
Profile values may instead be inherit-parent. When selected, omit both model and reasoning overrides for that role. Keep model and reasoning effort as separate values; combined Cursor-style slugs are invalid in Codex.
Budgets
When the user names only a budget, keep the configured profile models and adjust reasoning effort:
small: fastlow, generallow, deepmedium.medium: fastlow, generalmedium, deephigh.large: fastmedium, generalhigh, deepxhigh.unlimited: fasthigh, generalxhigh, deepmax.
Validate each selected effort against the current model's supported values. Preserve a lower supported value rather than inventing a model alias.
After setup, mention $create-verification-skill only when the active repository lacks a real-surface verification path and that omission is relevant to the user's current work.