A SMALL BRIDGE FOR YOUR AI ACCOUNTS

All your models.
One picker.

Use Claude, ChatGPT, Copilot and local models from the coding app you already use, on your Mac and from your phone.

Set up this Mac
Codex · Claude CodeGateway on this MacYour accounts

The gateway does

  • Sign in to each account the official way
  • Add its models to your app's picker
  • Translate requests and stream answers back

Your app still does

  • Run tools and ask for approvals
  • Own chats, names and permissions
  • Choose the model and agents

Each account keeps its own sign-in. A failed request never moves to another account or billing plan, and the gateway never logs tokens, request bodies or tool arguments.

02 / START HERE

Set up this Mac.

One Mac is the whole setup. It holds your accounts, runs the gateway and shows the models in your app. You need an Apple Silicon Mac, the Codex desktop app, and the official CLI for each subscription you connect, such as Claude Code for a Claude subscription.

  1. Installthe app or the command
  2. Connectyour accounts and models
  3. Startthe service, then reopen Codex

The easy way: the app

Download for Mac 1.8.5 · Apple silicon

Latest 1.8.5 What changed

Unzip it, move the fox to Applications and open it. The setup wizard walks through all three steps: choose a provider, sign in, pick models, then Set up once starts the background service and adds the models to Codex. The app is notarized and includes its own runtime. Every version is on GitHub Releases. See the macOS app.

The command-line way

Run these in a new, empty download folder. The installer needs no administrator access and installs under your user folder.

VERSION=1.8.5
gh release download "v$VERSION" -R edihasaj/gatefox \
  --pattern 'gatefox-*-macos-arm64.tar.gz' --pattern SHA256SUMS
shasum -a 256 --ignore-missing -c SHA256SUMS
tar -xzf "gatefox-$VERSION-macos-arm64.tar.gz"
"./gatefox-$VERSION-macos-arm64/install"
gateway --version

Then connect accounts and start it. gateway init writes a private configuration that listens on 127.0.0.1 only, so nothing is reachable from other machines.

gateway init                     # 1. private config for this Mac
gateway login claude             # 2. sign in to each account you want
gateway login codex              #    (a second ChatGPT account)
gateway discover claude --load   #    load the models each one offers
gateway discover codex --load
gateway service install          # 3. keep it running in the background
gateway desktop register         #    add the models to Codex
gateway doctor                   #    check everything

Quit Codex normally once and reopen it. That's it: the new models appear after your native ones.

Adding Copilot, an API key or a local model server

Copilot uses its CLI's subscription login. API services (OpenRouter, xAI, OpenCode and compatible endpoints) and local servers such as vLLM use a key or a URL. The app's Add connection wizard covers each; on the command line see API providers.

gateway login copilot
gateway discover copilot --load
gateway doctor
Already using a development checkout?

Import its gateway-owned registrations into the installed data directory. Native Codex authentication and settings are not copied.

gateway setup --from-config /absolute/path/gateway.local.json
03 / DAILY USE

Pick a model. Start a chat.

  1. Start a new chat and select the project where the work belongs.
  2. Open the model list. Added models have labels such as Claude · Opus 5.5 and Codex 2 · GPT-6.1-Sol.
  3. Choose a reasoning level, then send your task.
What to expect in a gateway chat
ControlBehavior
Files and instructionsCodex reads the project's AGENTS.md and runs tools in that workspace, as usual.
Switching modelsHistory carries across gateway models. Start a new chat to move between your native account and a gateway model.
ImagesClaude and Codex accept PNG, JPEG, GIF and WebP. Some local models accept text only.
Stop and resumeStop cancels the request. Send another message or reopen the chat to continue.
From your phoneCodex in the ChatGPT app lists and continues your gateway chats while your Mac's native relay is connected. Claude's mobile app does not support custom gateways yet.
SpeedStandard is the default. Fast appears only where the account offers it.
04 / MODEL LIST

Load the models your account offers.

Discovery reads each account's current model list. --load saves it; --select keeps a smaller list.

gateway discover claude --load
gateway discover copilot --select gpt-6.1-sol,claude-opus-5.5 --load
gateway catalog

The provider's label is the name before the middle dot. Changes apply on the next request; reopen the model picker to see them. To follow new model releases automatically, see automatic latest models.

05 / OPTIONAL

Add another Mac.

Skip this if you use one Mac. To use the same models on a laptop, keep the accounts on your first Mac and let the others connect to it. Each extra Mac gets only a client token and an SSH tunnel; no account credentials are copied.

Extra MacMain Mac: accounts + gatewayProviders

On the extra Mac, install the gateway as in step 1, then:

umask 077
mkdir -p ~/.local/state/harness-gateway-client
ssh you@main-mac 'gateway token' \
  > ~/.local/state/harness-gateway-client/client-token
gateway setup --client --port 3459 \
  --token-file ~/.local/state/harness-gateway-client/client-token
gateway tunnel install --tunnel-id main --host you@main-mac \
  --port 3459 --remote-port 3457
gateway desktop register
gateway doctor

The client token unlocks every account on the main Mac. Keep it owner-only and give it only to your own devices. The main Mac must stay awake and reachable.

Use an existing Codex “Control other devices” connection instead

The experimental native relay reuses that connection, so there is no separate SSH entry. Finish open chats and quit ChatGPT normally on that Mac first.

gateway native install
gateway desktop register
gateway native status

Read the native relay requirements.

More detail: remote clients.

06 / OTHER APPS

Use it beyond the Codex app.

mkdir -p ~/.config/harness-gateway/clients/codex
gateway codex-config --model codex/gpt-6.1-sol \
  > ~/.config/harness-gateway/clients/codex/config.toml
CODEX_HOME=~/.config/harness-gateway/clients/codex codex
07 / OPERATIONS

Keep it running.

One background service starts the gateway at login and restarts it after a crash. Closing the app or the terminal leaves it running. New releases are picked up when the gateway is idle, without stopping your chats.

gateway service status
gateway health
gateway versions --check

Uninstalling moves the installed files to Trash and keeps your accounts and native Codex settings.

gateway uninstall

More: the service, health checks, diagnostics.

08 / RECOVERY

Find where it stopped.

Start with gateway doctor on the Mac that has the problem. It checks the configuration, accounts, service, tunnel and Codex registration in turn.

SymptomNext step
Added models are missingQuit Codex normally once and reopen it. Then run gateway desktop status and gateway doctor.
“Model not supported with a ChatGPT account”Start a new chat with the gateway model selected. An existing native chat cannot switch to it.
Model provider gatefox (or subscription_gateway) not foundRun gateway desktop register on the Mac that owns the chat's project, then reopen the chat. It registers both of the gateway's ids.
An extra Mac sees no modelsCheck that the main Mac is awake, then run gateway doctor on the extra Mac to test the tunnel.
An answer stops earlyCheck gateway service status. Keep the chat and logs; the gateway does not retry on another account.

When asking for help, share versions, timestamps and error messages. Never share client tokens, account tokens or request bodies.

Everything else is in All docs, a searchable list of every topic with when to read it. Want to help, including with Linux and Windows? See the roadmap.