Three ways to use Codex with your container. All three use your own ChatGPT / OpenAI account — Vibesies doesn't resell tokens.
OpenAI added SSH remote connections to the Codex desktop app as an alpha feature in 2026. You enable it in your local config, add your Vibesies container to ~/.ssh/config, and the app spawns a Codex server inside your container over SSH. Same UI as a local session, but everything runs on your container.
Open the app and sign in with your ChatGPT Plus / Pro / Business / Edu / Enterprise account. Programmatic Codex usage is included.
This single paste does everything: enables Codex Desktop's alpha SSH feature and adds your Vibesies container to ~/.ssh/config. Safe to run more than once.
Mac / Linux Terminal:
mkdir -p ~/.codex ~/.ssh && touch ~/.codex/config.toml ~/.ssh/config && \
{ grep -q "^remote_connections" ~/.codex/config.toml || printf '\n[features]\nremote_connections = true\n' >> ~/.codex/config.toml; } && \
{ grep -q "^Host vibesies$" ~/.ssh/config || printf '\nHost vibesies\n HostName your-name.vibesies.com\n User vibe\n Port 22XX\n IdentityFile ~/.ssh/id_ed25519\n ServerAliveInterval 60\n' >> ~/.ssh/config; } && \
echo "✓ Vibesies setup complete. Restart Codex Desktop, then Settings → Connections."
Windows PowerShell:
New-Item -ItemType Directory -Force "$HOME\.codex","$HOME\.ssh" | Out-Null
$cfg = "$HOME\.codex\config.toml"; if (!(Test-Path $cfg)) { New-Item -ItemType File $cfg | Out-Null }
if (!(Select-String -Path $cfg -Pattern "^remote_connections" -Quiet)) { Add-Content $cfg "`n[features]`nremote_connections = true" }
$ssh = "$HOME\.ssh\config"; if (!(Test-Path $ssh)) { New-Item -ItemType File $ssh | Out-Null }
if (!(Select-String -Path $ssh -Pattern "^Host vibesies$" -Quiet)) {
Add-Content $ssh "`nHost vibesies`n HostName your-name.vibesies.com`n User vibe`n Port 22XX`n IdentityFile ~/.ssh/id_ed25519`n ServerAliveInterval 60"
}
Write-Host "✓ Vibesies setup complete. Restart Codex Desktop, then Settings → Connections."
The Codex alpha flag lives on your laptop's config (not our server) — that's what tells your Codex Desktop app to expose the SSH menu. The SSH entry lives in your standard ~/.ssh/config.
/workspace as the project folder.Type what you want. Codex edits files in /workspace on your container. Your site at your-domain.vibesies.com reflects changes immediately.
If you live in VS Code or Cursor, this is the natural path. Edit files in VS Code's familiar UI, run codex in the integrated terminal.
code.visualstudio.com. Ctrl/Cmd-Shift-X → search "Remote - SSH" → Install.
~/.ssh/configSame config block as Option 1 above.
F1 → Remote-SSH: Connect to Host → vibesies. Open Folder → /workspace.
codex login --device-auth
# ↑ the --device-auth flag is REQUIRED in a remote container.
# Plain `codex login` tries to open a browser to localhost
# inside the container, which doesn't work.
Codex prints a code like XXXX-XXXXX. Open auth.openai.com/codex/device on your laptop, paste the code, sign in. One-time per container.
codex CLIPure terminal. No editor, no extension, no desktop app.
ssh -p 22XX vibe@your-name.vibesies.com
codex login --device-auth
# (the --device-auth flag is required — plain `codex login` won't work)
codex
# the agent starts in the current directory
The MOTD on first SSH login walks through this. cat /workspace/HELLO.md for the full orientation.
You bring your own OpenAI account. Vibesies doesn't resell tokens or take a cut.
A free ChatGPT account does NOT include Codex — you need at least Plus.
~/.codex/config.toml and add:
[features]
remote_connections = true
Restart the app.
which codex — expected output is /usr/bin/codex. If missing, run sudo npm install -g @openai/codex@latest inside your container.codex login hangs / opens a localhost URLhttp://localhost:1455 — which doesn't exist inside your headless container. Press Ctrl-C and run codex login --device-auth instead. (Only relevant for terminal SSH; the desktop app handles auth differently.)codex login --device-auth for a fresh one.Host *.example.com are ignored. Make sure your block starts with a concrete name like Host vibesies. Restart the app after editing.sudo npm install -g @openai/codex@latest. Or grab the binary from github.com/openai/codex/releases.claude for one task, codex for another. They don't conflict.Open the dashboard, copy your SSH info, fire up Codex Desktop.
Open dashboard Connecting Claude instead?