Skip to content

fix(codex): disable unsupported hosted tools in client profile - #90

Merged
neurogen-dev merged 11 commits into
agentsfrom
codex/modern-client-tools
Sep 29, 2026
Merged

neurogen-dev merged 11 commits into
agentsfrom
codex/modern-client-tools

Conversation

@neurogen-dev

@neurogen-dev neurogen-dev commented Sep 28, 2026 •

Copy link
Copy Markdown
Owner

Problem

The old setup expected users to install compatible Codex CLI and Claude Code themselves, and accepted a key without checking its model access. Codex 0.158.0 can send hosted tools during ordinary local work that the NeuroAPI profile does not support.

Changes

  • Install or update missing/old clients from the official native sources; keep existing compatible clients. Require Codex 0.158.0 and Claude Code 2.1.284 or newer.
  • Windows now installs the required clients immediately after the user starts setup and enters a key, without a second confirmation prompt. The first-run regression test runs in CI.
  • Validate both key-scoped catalogs before changing a working configuration or credential. Each launcher refreshes its catalog and stops on invalid or empty data.
  • Rotate the macOS Keychain item through a candidate and stage profile, settings, and launchers before committing; injected failures restore the previous key and files. Keep credentials out of command arguments, config files, and logs.
  • On Windows, download the official Codex release with SHA256 verification, use the native Claude installer, keep DPAPI and user-owned PATH changes scoped to this setup, and reject test mode against real user paths.
  • Stage all Windows setup files, atomically replace each existing file with a backup, and publish the new DPAPI ciphertext last. Any setup error restores the prior helper, profile, settings, launchers, and exact previous ciphertext; injected failures before and after key replacement verify recovery.
  • Disable unsupported hosted Codex tools while retaining local file and shell tools. Bound Claude Code's initial output reservation to 4096 tokens.
  • Accept the server's recommended Claude background fallback when Haiku is unavailable: ANTHROPIC_DEFAULT_HAIKU_MODEL may point to a Claude model present in both the allowlist and picker. Other family aliases remain family-bound. Document that background calls are billed for the selected model.
  • Normalize Windows ZIP entry separators before traversal validation; continue rejecting unsafe paths and preserve an installed Codex binary on failure.
  • Clarify that these launchers configure terminal clients only. The published agents.zip contains this version only after this PR merges to agents. Update RU/EN instructions, client minimums, and model recommendations.

Verification

  • macOS installer smoke, syntax, ShellCheck, generated profile contract, and injected rotation/commit failures passed on macOS.
  • Windows first-run and managed-catalog mock tests, PowerShell syntax, and generated profile contract passed under PowerShell on macOS. tests/windows/first-run.ps1 now fails if another installation confirmation appears.
  • macOS catalog smoke and Windows managed-catalog tests passed with Haiku-to-Sonnet and Haiku-to-default fixtures; compatibility-only and cross-family-invalid mappings are rejected. The Windows ZIP test rejects backslash traversal entries.
  • Real Claude Code 2.1.284 with isolated settings and local mock gateway: --model haiku produced POST /v1/messages?beta=true with model=claude-sonnet-5-5 and stream=true. The mock deliberately returned 400; no real key or paid request was used.
  • git diff --check passed.
  • Current PR head 5865ade: GitHub Actions Windows DPAPI smoke (including transaction failure injection, first-run and native clients), Static safety checks, and macOS Keychain-command smoke all passed.
  • Earlier live Codex CLI 0.158.0 and Claude Code 2.1.284 tasks through NeuroAPI completed file read/edit, tests, and HTML landing creation. GitHub Actions Windows PowerShell 5 DPAPI/ACL smoke, native Codex/Claude download and --version launch, macOS Keychain-command smoke, and static safety checks passed for commit 1461b5d. Paid generation through the final launchers remains unverified.

The two Cloudflare Pages checks fail before producing actionable logs; the installer repository has no site changes.

The server's model publication, route eligibility, and key-scoped catalog remain authoritative. Installers do not invent provider availability.

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Sep 28, 2026 •

Copy link
Copy Markdown

Deploying neurogpt with  Cloudflare Pages  Cloudflare Pages

Latest commit: 5865ade
Status:🚫  Build failed.

View logs

@cloudflare-workers-and-pages

cloudflare-workers-and-pages Bot commented Sep 28, 2026 •

Copy link
Copy Markdown

Deploying neuroapi with  Cloudflare Pages  Cloudflare Pages

Latest commit: 5865ade
Status:🚫  Build failed.

View logs

@neurogen-dev
neurogen-dev merged commit c6fca3d into agents Sep 29, 2026
3 of 5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant