Previous attempt used OpenAI API format (bare array of {id, object}).
Codex expects ModelsResponse format: {"models": [{slug, display_name,
visibility, shell_type, supported_reasoning_levels, ...}]}.
Format reverse-engineered from codex-rs/core/models.json in official repo.
All 4 models (gpt-5.4, gpt-5.3-codex-spark, gpt-5.3-codex, gpt-5.2-codex)
now appear in interactive model picker.
Cleanup logic detects old bare-array format and replaces automatically.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
All scripts now detect and fix leftover damage from previous installs:
- Remove model_catalog_json from config.toml (crashes Codex on startup)
- Delete stale model_catalog.json file
- Detect broken TOML with dotted key bug
Both PS1 scripts and Python patcher handle cleanup before patching.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
model_catalog_json expects internal Codex ModelsResponse format with
complex ModelInfo structs (slug, display_name, visibility, shell_type,
supported_reasoning_levels, etc.), not simple OpenAI API format.
Removed from all configs to restore working state.
env_key = "OPENAI_API_KEY" fix is preserved (fixes 401 Unauthorized).
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- Add env_key = "OPENAI_API_KEY" to [model_providers.custom] in PS1 fallback
templates (fixes 401 Unauthorized on machines without Python 3.11+)
- Add model_catalog_json config + model_catalog.json file generation
(fixes empty model picker — all 4 models now visible in interactive mode)
- Both fixes applied in: codex_patcher.py, ucodex_install.ps1, ucodex_update.ps1
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- gemini/ugemini_install.sh: CURL_AUTH was defined but never used, fixed
- gemini/ugemini_update.sh: added GITEA_TOKEN + auth header
- qwen/uqwen_install.sh: use GITEA_TOKEN (was already defined but unused)
- qwen/uqwen_update.sh: added GITEA_TOKEN + auth header
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Codex CLI reads config from %USERPROFILE%\.codex\config.toml
but PowerShell fallback was writing to %APPDATA%\codex\config.toml.
Old broken config remained in ~/.codex/ causing TOML parse errors.
- Fix config path: $env:APPDATA\codex → $env:USERPROFILE\.codex
- Add cleanup step to remove broken config before patching
- Remove old config before writing new one
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
On Windows Server without winget/Python, the patcher now generates
config.toml directly in PowerShell instead of requiring Python 3.11+.
Python patcher is still used when available.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
powershell -File runs script in child process — PATH changes don't
persist. Changed to Set-ExecutionPolicy + dot-sourcing (. script.ps1)
which runs in current session. Also added PATH restart hint to Codex
install/update scripts.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
GitHub releases use codex-x86_64-pc-windows-msvc.exe (not .zip).
Fixed both install and update PS1 scripts.
Also added patched settingsSchema.js to gemini releases.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
All install/update/uninstall commands now use direct download via
iwr (Invoke-WebRequest) — no git clone needed, no "directory already
exists" errors.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
yolo mode requires patching settingsSchema.js (Target 9a2) which is
not included in the npm package. auto_edit is the most permissive
built-in mode that works without JS patching.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- settings.json now includes security.folderTrust.enabled=false and
general.defaultApprovalMode=yolo to suppress trust/permission prompts
- Linux installer creates trustedFolders.json with common paths
- Windows PS1 installer creates trustedFolders.json for C:\ paths
- README Windows section adds $env: vars for current session
- Fixed BOM issue: all PS1 use WriteAllText instead of Set-Content
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
- ugemini_install.sh: npm registry setup, Node.js auto-install, retry logic, env vars for all users
- uqwen_install.sh: new installer — npm registry, patches, settings, env vars
- README.md: add one-line installer commands for Gemini and Qwen
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Added codex/README.md with full installation, update, troubleshooting guide.
Updated main README: Codex status Planned → Active (v0.111.0),
added Codex install section, updated Claude/Gemini versions.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Anthropic v2.1.71 blocks bypassPermissions for root (UID=0).
Added IS_SANDBOX=1 and CLAUDE_CODE_BUBBLEWRAP=1 to settings.json env.
Fixed effort_level: configurable from config instead of hardcoded "medium".
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
Update claude/README_ru.md, claude/README_zh.md, claude/README_es.md
to match the English version structure:
- Add VERSION_BADGE markers with v2.1.62 (20 patches)
- Add Method A (npm registry) as primary install option
- Add Method B (automatic installer) as backup option
- Replace outdated "15 patches applied" text
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>
- Add MANUAL_VERSION markers for auto-update of release version
- Include instructions for standalone install.sh from releases
- Fix manual install process to properly explain repo cloning first
Co-Authored-By: Claude Sonnet 4.6 (1M context) <noreply@anthropic.com>