- Fixed path-scoped
show_changesso unrelated workspace status is not reported for a clean requested path. - Kept duplicate
load_skillmatches ambiguous until the caller supplies the exact displayed skill path. - Added
codexpro_self_test, a local-only diagnostic that checks modes, expected tools, safe bash policy, selected-only Pro context, and an optional.ai-bridge/codexpro-self-test.mdwrite/edit probe without touching source files. - Upgraded ChatGPT cards to
ui://widget/codexpro-tool-card-v9.htmland attached compact card metadata to every CodexPro tool, with large git/tree/context/bash payloads folded or bounded instead of printed as a giant chat block. - Added
include_important_filesandinclude_changed_filescontrols toexport_pro_contextplus CLI smoke coverage for exact selected-only bundles. - Added a dedicated compact
server_configrenderer and accepted model-friendly aliasesworkspace_snapshot.max_filesplusgit_diff.include_diff=falseto reduce avoidable retry/error loops in ChatGPT. - Reconfirmed the compliance boundary in runtime diagnostics and docs: CodexPro is a local workspace MCP bridge, not a model provider, model proxy, quota bypass, resale layer, or remote executor.
- Added
codexpro start --no-bashand documented that CodexPro does not bind MCP bash to a Codex app conversation id. - Added an optional bash session guard with
--bash-session <id> --require-bash-session; guardedbashcalls must include the matchingsession_idbefore any shell command runs. - Made bash chat transcripts compact by default, with
--bash-transcript fullfor the old raw stdout/stderr chat output. - Added opt-in local Codex session discovery with
--codex-sessions metadata|read, including session ids, titles, cwd paths, source files, resume commands, and bounded transcript reads only in explicitreadmode. - Added a token-protected local profile editor at
/admin/profileand the setup page so users can save tunnel, hostname, port, mode, bash, Codex session, write/tool mode, widget origin, and tunnel config defaults for the nextcodexpro startwithout exposing raw tokens in the browser.
- Made workspace cards compact by default, moving git details, discovered skills, and optional file tree output behind collapsible disclosure rows.
- Changed workspace open skill discovery to include workspace, user, and plugin skills by default while still exposing a focused
standardtool surface. - Added read-only
load_skillso ChatGPT can load boundedSKILL.mdinstructions for discovered workspace, user, or plugin skills without exposing arbitrary path reads. - Kept AGENTS detection in the workspace open result but stopped embedding the full AGENTS file in the open response; agents can read it explicitly when needed.
- Fixed setup propagation for
--widget-domainand corrected workspace-card git status splitting for multi-file diffs.
- Added
CODEXPRO_WIDGET_DOMAINand the Apps SDK resource metadata keys_meta.ui.domainplus_meta["openai/widgetDomain"]so ChatGPT no longer reports that the widget domain is missing. - Surfaced the widget domain in server config, HTTP status output, docs, env examples, and smoke tests.
- Moved ChatGPT visual cards from
bashto the workspace open tools so the first call gives a compact project orientation instead of noisy terminal cards. - Kept
bashdata-only for focused verification commands and strengthened server instructions to prefertree,search,read, andshow_changesfor inspection/review. - Upgraded the widget to v8 with a workspace summary renderer and a neutral waiting state instead of a stale-looking running card.
- Added
CODEXPRO_TOOL_MODE=minimal|standard|full, withstandardas the default focused ChatGPT tool surface andfullpreserving the previous advanced toolbox. - Added
show_changesas a review-oriented visual card for git status, diff stats, and optional diff while keeping rawgit_diffdata-only. - Upgraded the ChatGPT widget to v7 with compact bash execution summaries, review cards, and cleaner handoff cards.
- Allowed
open_workspaceto acceptpathas an alias forrootto reduce client argument mismatch failures. - Allowed safe package scripts with colon suffixes such as
npm run build:clientsfor build/test verification. - Surfaced tool mode in server config, local status, workspace/context exports, launcher output, setup profiles, and docs.
- Added
codexpro execute-handoffas an opt-in local executor for.ai-bridge/current-plan.md. - Added
codexpro watch-handoffas an opt-in local watcher that executes new handoff plans by content hash without exposing execution as a remote MCP tool. - Added built-in local adapters for
opencode,pi, andcodex, plus a restricted--commandtemplate path for custom agents. - Added
--dry-run,--yes, timeout handling, stdout/stderr capture,agent-status.md,implementation-diff.patch, andexecution-log.jsonloutput. - Kept
handoff_to_agentplanning-only; local execution is not exposed as a remote MCP tool. - Fixed Windows release-gate coverage for symlink-escape smoke tests, Bash lookup, and custom executor paths containing spaces.
- Added smoke coverage for dry-run previews, custom command validation, execution status, diff collection, duplicate watch-plan skipping, and structured execution logging.
- Clarified that CodexPro is an official Developer Mode/MCP workflow, not a rate-limit bypass or model access provider.
- Added
handoff_to_agentfor file-based handoffs to Codex, OpenCode, Pi, or custom local implementation agents without executing local commands. - Extended
.ai-bridgewith genericagent-status.md,implementation-diff.patch, andexecution-log.jsonlfiles. - Updated
read_handoff,codex_context, Pro apply logging, docs, and smoke coverage for generic agent handoffs. - Fixed secret detection so benign env-var references like
process.env.TOKENare not blocked or redacted as literal secrets. - Shell-quoted generated agent command hints so model names cannot inject extra shell tokens.
- Bounded append-mode handoff reads with the configured text-file size guard.
- Fail closed when HTTP MCP auth is required but
CODEXPRO_HTTP_TOKENis missing, including public tunnel mode and non-loopback binds. - Block additional safe-bash bypass paths for absolute paths, parent paths, environment expansion, sensitive paths, and
findwrite/action flags. - Added smoke coverage for the missing-token HTTP startup failure and safe-bash blocked command cases.
- Kept terminal startup focused on only the connector URL and essential controls; usage prompts now belong in README/docs only.
- Made
git_diffdata-only instead of a widget-rendered tool. This reduces noisy ChatGPT cards and avoids template fetch failures for empty/no-op diffs. - Kept visual cards scoped to high-signal outputs: source writes, exact edits, Pro context exports, and Codex handoffs.
- Updated smoke coverage so routine inspection tools stay compact.
- Removed prompt management from the terminal control panel.
- Removed the
shotkey and all launcher-side suggested prompt generation. - Kept usage prompts and workflow examples in documentation instead of runtime UI.
- Simplified the ready screen so startup shows one compact status block instead of a long boxed next-step panel.
- Reduced visible controls to the common actions: open ChatGPT, copy URL, open status, copy prompt, help, and quit.
- Changed the
scontrol to copy the suggested ChatGPT prompt instead of printing the full prompt repeatedly. - Cleaned up saved setup list formatting so reused ngrok/Cloudflare profiles are easier to scan in narrow terminals.
- Added
codexpro settings listto show all saved workspace tunnel profiles. - Added
codexpro settings useand--from-rootto copy a saved setup from one workspace to another. - Improved first-run
codexpro startbehavior: if the current workspace has no settings but other saved setups exist, CodexPro shows them as a numbered list so users can reuse an existing ngrok or Cloudflare setup instead of retyping hostnames. - Expanded settings smoke coverage for profile listing and reuse.
- Added a compact first-run tunnel picker to
codexpro startwhen no workspace settings exist, so users can choose Cloudflare quick, ngrok, Cloudflare stable, or local mode without running the full setup wizard. - Added
codexpro settingswithshow,set, anddelete --yesactions for persistent per-workspace tunnel preferences. - Persisted the selected tunnel provider, hostname, port, mode, and CodexPro token until the user changes or deletes the workspace settings.
- Added
scripts/settings-smoke.mjsand included it innpm run smoke.
- Added the v5 Apps SDK widget resource at
ui://widget/codexpro-tool-card-v5.htmlwith cleaner pending states and more polished diff/search/code cards. - Added a token-protected local admin dashboard at
/and/setupfor workspace, mode, allowed-root, setup, profile, and ChatGPT connection visibility. - Added the terminal
ocontrol to open the local admin dashboard while CodexPro is running. - Updated HTTP smoke coverage to verify the onboarding page and v5 widget resource.
- Added
codexpro doctoras a read-only setup diagnostic for Node, build artifacts, workspace profiles, port availability, tunnel prerequisites, clipboard support, and browser-open support. - Added
scripts/doctor-smoke.mjsand included it innpm run smoke. - Added
PUBLIC_LAUNCH_CHECKLIST.mdwith release gates, ChatGPT Developer Mode golden prompts, security checks, onboarding expectations, and current non-goals. - Added
npm run doctorand included the public launch checklist in the npm package surface.
- Made
codexpro setupprompts clearer with a dim "Enter to proceed with default" hint before each defaulted input. - Simplified the ready screen: the Server URL is described as already copied, and Enter is clearly labeled as opening ChatGPT connector settings.
- Added saved-profile hints so ngrok/Cloudflare stable setups tell users that future launches from the same workspace only need
codexpro start. - Added a local port preflight with clear guidance for running two repositories at the same time.
- Documented the multi-repo rule: each concurrent repo needs its own local port, and stable public tunnels need separate hostnames.
- Added per-workspace saved profiles under
~/.codexpro/profiles/. codexpro setupnow saves tunnel provider, hostname, port, mode, and a generated reusable CodexPro auth token by default.codexpro startnow loads the saved profile for the current workspace unless--no-profileis passed.- Added
--save-config,--no-save-config, and--no-profilelauncher flags.
- Added ngrok as a first-class tunnel mode with
codexpro ngrok --hostname <domain>and--tunnel ngrok. - Added ngrok support to the interactive
codexpro setuppublic URL choices. - Added ngrok executable/config resolution with clear setup errors for missing auth or unavailable domains.
- Documented reserved ngrok domains as a stable ChatGPT connector URL option.
- Added
codexpro setup/codexpro onboardas an interactive onboarding wizard for workspace, port, mode, and public URL strategy. - Reworked the launcher startup and ready screens into compact framed panels with status lines instead of long setup text.
- Added
npm run connect:setupfor source checkouts. - Documented the guided onboarding path next to the one-command
codexpro startflow.
- Reworked the widget pre-result state so in-progress tool calls show a compact running card instead of raw placeholder JSON.
- Added
codexpro stableand--stableas shortcuts for Cloudflare named-tunnel mode. - Added
codexpro stable-helpand friendlier missing-hostname guidance for fixed ChatGPT app URLs. - Updated setup docs around stable URLs for users who cannot edit an existing ChatGPT app connector URL.
- Changed
codexpro startto default to agent mode with workspace writes enabled. - Added
--mode agent,--mode handoff,--mode pro, plus shortcut flags--agent,--handoff, and--pro-planning. - Reworked the terminal startup panel to copy the Server URL, hide long setup details by default, and expose details through controls.
- Updated the default suggested ChatGPT prompt so ChatGPT edits/writes/verifies directly instead of creating a handoff plan.
- Kept handoff and Pro-context workflows as explicit modes for planning-only use.
- Added cross-platform
cloudflaredbootstrap for macOS, Windows, and Linux. - CodexPro now reuses
cloudflaredfrom PATH first, then~/.codexpro/bin, then downloads the official Cloudflare release into~/.codexpro/binwhen needed. - Changed
--install-cloudflaredto force a user-local reinstall instead of using Homebrew. - Added
codexpro install-cloudflaredfor stable-domain setup without starting the MCP server. - Kept
--no-install-cloudflaredas the opt-out for locked-down or manually managed machines. - Updated setup docs with OS-specific notes for clipboard, browser opening, and Cloudflare Tunnel.
- Added an interactive CodexPro terminal control panel after startup.
- Added Enter-to-open ChatGPT connector settings,
cto copy URL,pto print app fields,sto print the suggested prompt, andqto stop. - Quieted local MCP and Cloudflare logs by default so startup reads like a product flow.
- Made macOS/Homebrew
cloudflaredinstallation automatic by default when missing. - Added
--no-install-cloudflaredto opt out of automatic installation. - Changed the default user-facing start command to
npx codexpro@latest start.
- Added clipboard-first
CodexPro Startflow for ChatGPT Developer Mode. - Public HTTPS connector URLs are copied automatically when clipboard support is available.
- Added
--open-chatgpt,--copy-url, and--no-copy-urllauncher flags. - Added opt-in
--install-cloudflaredfor macOS/Homebrew users. - Added
npm run connect:chatgptfor source checkouts. - Updated README setup path around one command:
npx codexpro@latest start --open-chatgpt.
- Renamed the package, CLI, app labels, widget metadata, and environment variables to CodexPro.
- Removed the duplicate CLI binary entry from
package.json. - Added
DOMAIN_SETUP.mdwith Namecheap, Cloudflare, stable tunnel, and future hosted-relay guidance. - Changed the generated model fallback bundle title to
CodexPro Context Bundle. - Regenerated build output and package lock metadata for the CodexPro package name.
- Prepared the project for public open-source use.
- Added npm package metadata, keywords, engine requirements, public package files, and
prepack. - Added
codexproas a package-name binary sonpx codexpro@latest ...works. - Added
codexpro pro-bundleandcodexpro pro-applyCLI subcommands. - Added
LICENSE,SECURITY.md, andCONTRIBUTING.md. - Removed local runtime reports from the public package surface.
- Reworked docs to avoid private local paths and product-specific model claims.
- Added stable Cloudflare named-tunnel mode with
--tunnel cloudflare-named. - Added
npm run connect:stable. - Added support for existing tunnel names, Cloudflare dashboard tunnel tokens, token files, and cloudflared config files.
- Added stable-host health checks before printing the ChatGPT connector URL.
- Fixed duplicate
AGENTS.mdloading on case-insensitive filesystems. - Kept
codex_contextdata-only so it does not create noisy widget cards.
- Added
codex_contextfor AGENTS-style instructions,.ai-bridgehandoff files, git status, and optional git diff.
- Made widget rendering quieter by attaching visual cards only to high-signal change tools.
- Added request and tool-call logging without printing prompts, file contents, or tokens.
- Reworked the Apps SDK widget into compact developer cards.
- Kept widget CSP strict with no external fetches, fonts, scripts, images, or iframes.
- Added CSP metadata for ChatGPT Developer Mode widget rendering.
- Added
codexpro_inventoryfor sanitized skill and MCP server names.
- Added Apps SDK widget resources for selected tool outputs.
- Added
export_pro_context. - Added terminal helpers for creating and applying planning-context bundles.
- Added
open_current_workspacefor safer first calls from ChatGPT.