Skip to content

Installation

Paul edited this page Oct 29, 2026 · 8 revisions

Installation

Use the release installer for a standard installation. The MCP server supports macOS, Linux, and Windows. Browser automation is a separate optional runtime; a headless server can provide ordinary MCP tools without it.

Requirements

  • A ChatGPT account or workspace allowed to install and use a custom MCP plugin. Access depends on OpenAI and workspace policy; a paid subscription alone is not a guarantee.
  • For the recommended native connection, an OpenAI Platform organization with Secure MCP Tunnel permissions. See Connecting to ChatGPT.
  • Git for Git operations, worktrees, and diff checkpoints. Python with Apprise is needed only for optional notifications.
  • For source builds, a current stable Rust toolchain supporting edition 2024. A normal release installation needs no Rust toolchain.

Release installer

macOS and Linux:

curl -q -fsSL https://codexify.dev/install.sh | sh

Windows PowerShell:

powershell -ExecutionPolicy ByPass -c "irm https://codexify.dev/install.ps1 | iex"

The installer downloads the appropriate release, checks its published SHA-256, and puts the executable in ~/.codexify/bin (the corresponding user-profile directory on Windows). Open a new terminal for the PATH change.

When a configuration already exists, the installer refreshes the per-user service. On a first installation, run codexify quickstart to create the configuration and install/start the service. CODEXIFY_SKIP_SERVICE=1 skips service registration. The default installer is server-only; CODEXIFY_INSTALL_BROWSER=1 explicitly requests the matching browser companion too.

codexify --help
codexify quickstart

macOS server releases are Developer ID-signed with a stable identity, but not notarized while the project's Apple enrollment issue remains unresolved. See the release notes. An update from an old ad-hoc build can require a final privacy reapproval.

Manual archives

Release assets are named codexify-v<version>-<platform>.tar.gz, except Windows uses .zip:

Platform Suffix
macOS Apple Silicon darwin-arm64
macOS Intel darwin-x64
Linux ARM64 linux-arm64
Linux x64 linux-x64
Windows x64 windows-x64

Download the archive and checksums.txt from the same release. Verify the matching SHA-256 entry before extracting and placing the executable on PATH. Browser archives have the separate prefix codexify-browser-v<version>-….

Build from source

git clone https://github.com/devnoname120/codexify.git
cd codexify
cargo build --release --locked
./target/release/codexify --help

Use a release tag when you need reproducible documented behavior. Building the Rust server does not package the browser companion; its build and packaging instructions are in browser-companion.

Background service

Platform Per-user service
macOS launchd agent dev.codexify.service
Linux systemd user unit codexify.service
Windows Task Scheduler task Codexify
codexify service install
codexify service status
codexify service restart
codexify service logs -f

start, stop, and restart manage current running state without changing login startup. enable enables startup and requests a start; disable requests a stop and disables startup. service status reports the native manager's state, not proof that the HTTP server/tunnel is healthy or that every child has exited; use individual doctor results and HTTP health as well.

On Windows, registration uses private UTF-8 install.ps1 and supervisor.ps1 files under ~/.codexify/service/. The hidden launcher restarts unexpected supervisor exits, including code zero. For a configured fixed MCP port, six consecutive failed local probes after the first healthy response trigger server-tree recovery; slow initial startup and a responsive reconnecting tunnel do not. This local liveness check is independent of the agent offline timeout. Recognized old launchers are migrated by start/restart/enable.

Windows caveat for v2.3.24: a Task Scheduler stop/disable result can leave a supervisor/server child running. Check actual health/processes before assuming it stopped or retrying replacement. Environment-specific installation denials and exits are still being tracked in issue #14; see Troubleshooting.

Service configurations need an absolute, existing workDir. Prefer file:/absolute/path tunnel key references because a login service may not inherit your terminal's exported variables.

Updating the server and companion

codexify update

This verifies and schedules the latest release for a standard managed installation. A running service is restarted; a stopped service stays stopped. It does not downgrade a newer version. A source build does not update a separate managed installation. The tool-based equivalent, self_update, requires an explicit update request and confirm: true.

Update the companion separately when the release changes browser behavior:

codexify browser install
codexify browser status

After installation, use Settings → Browser → Stop browser, then Start browser. A protocol-compatible older companion can otherwise remain installed or running after a server-only update. Browser profiles, sign-in, pairings, and saved chat data are retained. See Browser automation for deliberate-stop behavior and Troubleshooting for readiness and connector refresh.

On Windows, updater scripts preserve Unicode paths and use a typed .NET null for atomic status replacement under PowerShell 5.1. Worker startup is recorded before the handoff delay. If a record remains scheduled for a minute, a bounded scheduler check can report an absent/stopped task's result and release that operation's lock; running, queued or unverifiable tasks are preserved.

The update UI reports download, verification, replacement/restart, and reconnect/readiness progress. A new server process can still be loading MCP servers, plugins, or the companion; wait for readiness before treating it as usable.

State and migration

State normally lives under ~/.codexify, not in your source repository. Important locations include codexify.config.json, logs/, projects/, conversation-projects/, conversation-continuations/, connector-schemas/, artifacts/, and browser/. The private owner-chat credential is owner-chat.json; never publish it or its URL.

Configuration migrations validate first, preserve permissions, and keep a byte-for-byte *.before-schema-vN.bak. Existing explicit settings win over new defaults. The installer also handles legacy ~/.codex-free migration without silently replacing conflicting newer state.

Continue with Quick start.


Reviewed against v2.3.24 on 29 October 2026. Source: install.sh · src/agent_automation/install.rs · src/service.rs · src/self_update.rs.

Clone this wiki locally