HT-018: Ollama 0.24+ Codex App Bridge Validation
Atlantis ITS — May 2026
Version: 1.1
Status: ✅ Validated — Lab Confirmed May 19, 2026
Owner: Shane Hardin
Governance Lane: Jimmy
Squad Credit: Mercy (runbook), Scout (verification), Ozzy (synthesis + HT format)
Scope: Trunks WSL2 + Windows host + atlantis-labs only — NOT production
Local Path: C:\AtlantisITS\knowledge
Forgejo Path: atlantis-docs/how-to/HT-018-Ollama-Codex-Bridge-Validation.md
Supersedes: HT-018 v1.0
What Changed in v1.1
| Change | Detail |
|---|---|
| WSL2 limitation documented | ollama launch codex-app fails in WSL2 — Windows host only |
| Windows Ollama install required | Separate from WSL2 install — must install on Windows side |
| Codex App separate from Ollama | Two installers required — Ollama + Codex App independently |
| Windows installer gated inspection | irm \| iex pattern — same SOP-008 rule applies on Windows |
| WindowsApps permissions gotcha | Store apps may require ownership takeover before first launch |
| Model tag correction | qwen3-coder:latest = 18GB — exceeds Trunks VRAM. Use qwen2.5-coder:7b-instruct-q4_K_M |
qwen3-coder:8b does not exist | Tag not published — use qwen2.5-coder:7b-instruct-q4_K_M instead |
| Dual Ollama install strategy | Windows = GUI apps. WSL2 = Nova brain + squad services |
| Codex App integrations confirmed | GitHub ✅, Linear ✅ connected natively inside Codex App |
| Pass criteria updated | Full green confirmed May 19, 2026 |
| updates.md entry updated | Reflects full session findings |
Purpose
Validate the Ollama 0.24+ Codex App bridge inside the Atlantis lab environment.
This runbook verifies whether OpenAI Codex App can connect to local Ollama models for private, data-sovereign coding workflows — without touching production Atlantis repositories, credentials, .env files, customer data, or live infrastructure.
Why this matters for Atlantis: - Cooper and Mercy-Codex gain a visual coding interface with GitHub + Linear integration - All tokens stay on Trunks GPU — zero cloud ingestion - Aligns with SOP-008 v0.4 data privacy requirements - Zero additional cost — fully local
Safety Rules (Non-Negotiable)
Do NOT use this runbook against production repos. Do NOT expose:
.envfiles or API keys of any kind- Customer, guest, rental, or lead data
- Internal financial data
- Production Nova / n8n / Forgejo credentials
- Live Atlantis website repos
- Cloudflare, Vercel, Namecheap, banking, or admin sessions
Authorized workspace only:
~/atlantis/atlantis-labs
~/atlantis/atlantis-labs/experiments/
SOP-008 gate applies. Any promotion of Codex App to production workflows requires SOP-008 v0.4 review and Shane sign-off.
Architecture: Dual Ollama Install on Trunks
This is the key insight discovered during the May 19 session. Ollama must be installed in TWO places on Trunks for the full stack to work.
| Install | Location | Purpose | Port |
|---|---|---|---|
| WSL2 Ollama | /usr/local/bin/ollama (Ubuntu) | Nova's brain (Llama 3.1 8B), squad services, terminal tools | :11434 |
| Windows Ollama | %LOCALAPPDATA%\Programs\Ollama | GUI apps — Codex App, Claude Desktop, Cowork | :11434 |
Both bind to :11434. Windows Ollama owns the tray icon and handles GUI routing. WSL2 Ollama handles Nova and squad services. They coexist — Windows side takes priority for GUI apps since the Codex App runs on the Windows host.
Background & Context
What happened (May 19, 2026)
The Atlantis Council received a briefing claiming Ollama 0.24.0 had shipped with native Codex App support. The briefing contained legitimate core information mixed with fabricated technical details (fake version numbers, invalid command syntax, non-existent model tags). Council process caught the discrepancies:
- Ozzy flagged as potential prompt injection — overcalled, but correct instinct
- Scout verified via real-time search — confirmed Ollama 0.24.0 is real, released May 14, 2026
- Mercy synthesized all inputs and issued balanced verdict
Council verdict: Not a confirmed hostile injection. Real capability. Unsafe "run this now" framing. Safe path required before execution.
What Ollama 0.24.0 actually adds
ollama launch codex-app— connects OpenAI Codex desktop app to local Ollama models- Built-in browser with page annotation for local staging sites
- Inline code review and git/worktree integration
/api/showresponse caching — ~6.7x latency improvement for VS Code integrations- Also supports:
ollama launch claude,ollama launch opencode
Known issues at time of validation
- WSL2 limitation:
ollama launch codex-appfails in WSL2 with error"codex-app is only supported on macOS and Windows". Must run from Windows PowerShell — not WSL terminal. - Windows Ollama required: Codex App needs a native Windows Ollama install. WSL2 Ollama alone is not sufficient.
- Codex App separate installer: Ollama does not bundle Codex App. Must install from
https://developers.openai.com/codex/quickstartseparately. - WindowsApps permissions: Windows Store apps install to
C:\Program Files\WindowsApps\which is locked by default. Some installs require manual ownership takeover before first launch. - 4K resolution annotation bug: CSS selectors inaccurate at high DPI. GitHub issue #8127. Fix expected in 0.24.1 patch end of May 2026.
Prerequisites
- [ ] Trunks WSL2 (Ubuntu 24.04) running
- [ ] Ollama WSL2 install confirmed (
/usr/local/bin/ollama) - [ ]
atlantis-labsrepo initialized withexperiments/directory - [ ] Nova's Llama 3.1 8B confirmed on :11434
- [ ] No production sessions open during upgrade
- [ ] SOP-008 v0.4 loaded and understood
- [ ] Windows PowerShell available (for Windows-side steps)
PART A — WSL2 Ollama Upgrade
Step 1 — Baseline Verification (WSL2)
cd ~/atlantis/atlantis-labs
# Confirm version
ollama --version
# Expected starting baseline: ollama version is 0.21.0
# Confirm binary location
which ollama
# Expected: /usr/local/bin/ollama
# Snapshot current models before upgrade
ollama list > /tmp/ollama-models-pre-upgrade.txt
cat /tmp/ollama-models-pre-upgrade.txt
# Llama 3.1 8B must be present — Nova's brain
# Confirm local API responding
curl http://localhost:11434/api/tags
# Confirm PM2 services healthy
pm2 status
Do not proceed if: API not responding or PM2 shows failures.
Step 2 — Gated Installer Inspection (WSL2)
Never pipe curl directly to sh. Download first, inspect, then execute. No exceptions.
# Download installer to staging file
curl -fsSL https://ollama.com/install.sh -o /tmp/ollama-install.sh
# Optional: capture checksum fingerprint
sha256sum /tmp/ollama-install.sh
# Open for inspection
less /tmp/ollama-install.sh
What to look for: - All downloads from ollama.com only — no third-party domains - No secondary curl/wget chains - No writes outside /usr/local/bin and /usr/local/lib - Standard useradd, usermod, systemd service creation - No credential prompts, no phone-home logic
Press q to exit. Stop if anything looks suspicious.
Step 3 — Execute WSL2 Upgrade
sh /tmp/ollama-install.sh
# Verify
ollama --version
# Expected: ollama version is 0.24.0 or higher
# Confirm API still responding
curl http://localhost:11434/api/tags
# Confirm Nova's model survived
ollama list
# Llama 3.1 8B must still be present
# If missing: ollama pull llama3.1:8b
Stop if: Version didn't update or Nova's model is missing.
PART B — Windows Ollama Install
Required for Codex App. WSL2 Ollama alone cannot launch GUI apps.
Step 4 — Windows ↔ WSL2 Connectivity Check
Before touching firewall rules, test if Windows can already reach WSL2 Ollama.
In Windows PowerShell (not WSL):
curl http://localhost:11434/api/tags
- Response returned → connectivity confirmed, skip Step 5
- Fails → proceed to Step 5
Step 5 — Conditional Firewall Exception
Only if Step 4 failed. Do NOT expose Ollama to Public networks.
Win + R→wf.msc→ Enter- Inbound Rules → New Rule → Port → TCP
- Specific local ports:
11434 - Allow the connection
- Apply to Private profile ONLY — uncheck Public and Domain
- Name:
Atlantis-Ollama-Inbound-Gate→ Finish
Verify in PowerShell:
netsh advfirewall firewall show rule name="Atlantis-Ollama-Inbound-Gate"
Trunks note: Rule was NOT pre-existing. Created May 19, 2026 during this session.
Step 6 — Gated Windows Ollama Install
Same SOP-008 rule applies on Windows. No blind irm | iex piping.
# Download installer to staging file
Invoke-WebRequest https://ollama.com/install.ps1 -OutFile $env:TEMP\ollama-install.ps1
# Inspect in Notepad before running
notepad $env:TEMP\ollama-install.ps1
What to look for in the PowerShell script: - All downloads from ollama.com/download only - Test-Signature function verifies .exe is signed by O=Ollama Inc. via DigiCert — this is built into the script and is a strong trust signal - No secondary payload downloads - No credential prompts
Once satisfied:
& $env:TEMP\ollama-install.ps1
# Verify
ollama --version
# Expected: ollama version is 0.24.0
Step 7 — Install Codex App (Windows)
Codex App is a separate installer from Ollama. Must be installed independently.
- Go to:
https://developers.openai.com/codex/quickstart - Download the Windows installer
- Run it — inspect before running per SOP-008
WindowsApps permissions gotcha: Codex App installs to
C:\Program Files\WindowsApps\which Windows locks by default. If you get"Windows cannot access the specified device, path, or file"on first launch: - Try:Win→ search Codex → Right-click → Run as administrator - If that fails: navigate toC:\Program Files\WindowsApps\OpenAI.Codex_*→ right-click folder → Properties → Security → Advanced → Take Ownership → Apply - Reboot after taking ownership — app should launch normally after reboot
PART C — Model Setup
Step 8 — Pull Correct Coder Model
Critical lesson from May 19:
qwen3-coderwithout a tag pullslatestwhich is 18GB — exceeds Trunks 12GB VRAM and WSL2 4GB RAM cap.qwen3-coder:8btag does not exist. Use the verified alternative below.
Run in WSL2:
# Verified lightweight coder model — confirmed working on Trunks May 19
ollama pull qwen2.5-coder:7b-instruct-q4_K_M
# Confirm
ollama list
Confirm it works before touching Codex App:
ollama run qwen2.5-coder:7b-instruct-q4_K_M "Say hello from the Atlantis lab in one sentence."
# Expected: clean single sentence response, no memory errors
VRAM guidance for Trunks RTX 3060 (12GB) / WSL2 4GB RAM cap:
| Model | Size | VRAM | Verdict |
|---|---|---|---|
qwen2.5-coder:7b-instruct-q4_K_M | 4.7 GB | ~4-5 GB | ✅ Confirmed working — use this |
qwen3:8b | ~5 GB | ~5-6 GB | ✅ Safe alternative |
gemma4:4b | ~3-4 GB | ~3-4 GB | ✅ Lightweight multimodal option |
qwen3-coder (no tag = latest) | 18 GB | ~8.6 GB sys + VRAM | 🔴 Exceeds limits — do not use |
qwen3-coder:8b | N/A | N/A | 🔴 Tag does not exist |
qwen3-coder:14b | ~9-10 GB | ~9-10 GB | 🔴 Exceeds 12GB VRAM |
qwen3-coder:27b | ~16+ GB | ~16+ GB | 🔴 Exceeds limits |
gemma4:27b | ~16+ GB | ~16+ GB | 🔴 Exceeds limits |
Confirmed clean model registry on Trunks (May 19, 2026):
qwen2.5-coder:7b-instruct-q4_K_M 4.7 GB ← Codex bridge
llama3.1:8b 4.9 GB ← Nova's brain — do not remove
PART D — Bridge Launch & Validation
Step 9 — Create Lab Workspace
mkdir -p ~/atlantis/atlantis-labs/experiments/codex-ollama-bridge
cd ~/atlantis/atlantis-labs/experiments/codex-ollama-bridge
cat > README.md <<'EOF'
# Codex Ollama Bridge Test
This is a lab-only test repo for validating local Ollama + Codex App integration.
No production secrets, customer data, or live Atlantis code allowed.
EOF
Step 10 — Activate Ollama Bridge
Run in Windows PowerShell (NOT WSL2):
ollama launch codex-app --model qwen2.5-coder:7b-instruct-q4_K_M
Expected output:
Codex App profile changed to Ollama.
To restore your usual Codex profile, run: ollama launch codex-app --restore
Do not run from WSL2 — will fail with:
Error: Codex App launch is only supported on macOS and WindowsInvalid syntax — never use:
ollama launchcodex app ← WRONG — not a real command
Step 11 — Validate Inside Codex App
When Codex App opens, confirm:
- [ ] Ollama tag visible in bottom-right of input bar ✅
- [ ] GitHub connected (green checkmark) ✅
- [ ] Linear connected (green checkmark) ✅
- [ ] Model shows as Custom / Medium (Ollama routing)
Point the workspace at:
\\wsl.localhost\Ubuntu-24.04\home\shane\atlantis\atlantis-labs\experiments\codex-ollama-bridge
Or on Windows side if you've cloned there.
First safe prompt — structure test:
Review this lab README and suggest a simple folder structure for testing
local AI coding workflows. Do not access any parent directories.
Do not create production code. Do not use secrets or environment variables.
Second safe prompt — code generation test:
Create a simple mock JavaScript function that validates a fake social signal
payload. Use fake data only. Do not call external APIs.
Verify responses generate locally — no OpenAI API calls should fire.
Step 12 — Restore Codex App If Needed
ollama launch codex-app --restore
Pass Criteria
Confirmed ✅ May 19, 2026 on Trunks
- [x] WSL2 Ollama upgraded to 0.24.0
- [x] Windows Ollama installed and confirmed 0.24.0
- [x] WSL2 reaches
http://localhost:11434/api/tags - [x] Windows PowerShell reaches
http://localhost:11434/api/tags - [x] Nova's Llama 3.1 8B survived upgrade
- [x]
ollama launch codex-appconfirmed from PowerShell - [x] Codex App shows Ollama tag — local model routing confirmed
- [x] GitHub connected inside Codex App
- [x] Linear connected inside Codex App
- [ ] Test prompts validated inside lab workspace ← complete this
- [ ] No production repo opened
- [ ] No
.envfile accessed - [ ] No secrets or credentials exposed
- [ ] No customer/rental/lead/personal data used
- [ ] No direct commit to main
Stop / Fail Criteria
Stop immediately if:
- Installer downloads from non-ollama.com or non-openai.com domains
- Ollama version does not update cleanly on either WSL2 or Windows
- Nova's Llama 3.1 8B missing after upgrade
- Memory error when running model (
requires more system memory than is available) - Codex App cannot restore via
--restore - Any command requests credentials unexpectedly
- Any model attempts external API calls
- Codex App requests access to production folders
- Firewall rule requires Public network exposure
- Token, key,
.env, or private repo data appears in session
Post-Validation Next Steps
- [ ] Complete test prompts in lab workspace
- [ ] Log results in
atlantis-labs/experiments/codex-ollama-bridge/ - [ ] Update
updates.mdwith full session findings (entry below) - [ ] Squad debrief: Cooper and Mercy-Codex assess workflow fit
- [ ] SOP-008 v0.4 review before promotion to production workflows
- [ ] Shane sign-off required before Codex App touches any live Atlantis repo
- [ ] Push HT-018 v1.1 to Forgejo
atlantis-docs/how-to/ - [ ] Update V24 memory with Codex App bridge confirmed
Promotion path (if validated):
atlantis-labs validation ✅
→ SOP-008 review + Shane sign-off
→ Cooper/Mercy-Codex production workflow
→ V24/V25 memory update
Future integrations to evaluate (same pattern):
ollama launch claude ← Claude Desktop local routing
ollama launch opencode ← OpenCode IDE local routing
updates.md Entry
### May 19, 2026 — Ollama 0.24.0 + Codex App Bridge
- Ollama WSL2 baseline confirmed: v0.21.0 at /usr/local/bin/ollama
- Ollama v0.24.0 verified — released May 14, 2026 (Scout real-time verification)
- WSL2 Ollama upgraded to 0.24.0 via gated installer inspection (SOP-008 compliant)
- Windows Ollama installed separately — required for GUI app routing
- Both WSL2 and Windows Ollama confirmed at 0.24.0
- Codex App installed from developers.openai.com/codex/quickstart
- WindowsApps permissions gotcha — required manual ownership takeover before launch
- Firewall rule created: Atlantis-Ollama-Inbound-Gate (TCP :11434, Private only)
- qwen3-coder:latest = 18GB — exceeded Trunks VRAM + WSL2 RAM cap. Removed.
- qwen3-coder:8b tag does not exist in Ollama library
- Confirmed working model: qwen2.5-coder:7b-instruct-q4_K_M (4.7GB, Q4_K_M)
- Test confirmed: ollama run qwen2.5-coder:7b-instruct-q4_K_M "Say hello" → clean response
- Codex App bridge confirmed: Ollama tag visible, GitHub + Linear connected
- Dual Ollama strategy locked: Windows = GUI apps, WSL2 = Nova brain + squad services
- Council disagreement resolved — briefing not hostile, but unsafe framing caught correctly
- HT-018 v1.1 created and pushed to atlantis-docs/how-to/
- /api/show caching confirmed real in v0.24.0 (~6.7x VS Code latency improvement)
- Codex App bridge promotion pending: SOP-008 review + Shane sign-off before production use
Troubleshooting
| Issue | Cause | Fix |
|---|---|---|
codex-app only supported on macOS and Windows | Running from WSL2 | Switch to Windows PowerShell |
ollama: not recognized in PowerShell | Windows Ollama not installed | Install from ollama.com/download Windows installer |
codex-app is not installed | Codex App not installed | Install from developers.openai.com/codex/quickstart |
Windows cannot access the specified path | WindowsApps permissions locked | Take ownership of folder or reboot after install |
model requires more system memory | Model too large for WSL2 RAM cap | Use qwen2.5-coder:7b-instruct-q4_K_M instead |
pull model manifest: file does not exist | Tag doesn't exist in Ollama library | Verify tag at ollama.com/library before pulling |
| Codex App not showing Ollama tag | Bridge command not run | Run ollama launch codex-app --model [name] from PowerShell |
| Port conflict on :11434 | Both WSL2 + Windows Ollama running | Normal — Windows takes priority for GUI apps |
netsh: command not found | Running in WSL2 | Switch to Windows PowerShell for netsh commands |
Related Documents
| Doc | Relationship |
|---|---|
| HT-015 v1.0 — WSL↔Windows Bridge | Prerequisite — covers .wslconfig, Windows host IP, Hardware API, firewall rules, and the boot race condition fix when Codex App loses Ollama after reboot |
| HT-013 v1.1 — PM2 Process Manager | WSL2 service management — keeps Nova brain services alive |
| HT-014 — Windows Service Management | Windows-side NSSM service management |
References
- Ollama v0.24.0 Release Notes — github.com/ollama/ollama/releases/tag/v0.24.0
- Ollama Launch Blog — ollama.com/blog/launch
- Codex App Quickstart — developers.openai.com/codex/quickstart
- SOP-008 v0.4 — AI Production Risk Review
- ATLANTIS_AI_MEMORY.md V23 (May 14, 2026)
updates.mdMay 19, 2026- CIS Docker Benchmark v1.8.0
- HT-013 v1.1: PM2 Service Management
- Council session transcript: May 19, 2026
HT-018 v1.1 generated by Ozzy — May 19, 2026
Supersedes HT-018 v1.0
Squad credit: Mercy (runbook architecture), Scout (real-time verification), Jimmy (governance lane)
Store at: C:\AtlantisITS\knowledge\HT-018-Ollama-Codex-Bridge-Validation-v1.1.md
Push to Forgejo: atlantis-docs/how-to/HT-018-Ollama-Codex-Bridge-Validation.md