Codex CompanionA private mobile companion for Codex. Browse chat history, follow AI coding progress, review approvals and control Companion-owned chats from your phone over Tailscale HTTPS. Published by Operandi. Codex Companion is an independent tool and is not affiliated with or endorsed by OpenAI or Microsoft.
Ordinary IDE chats remain read-only saved history. Companion does not take over their live process. Model requests use your configured Codex account and permissions; provider limits and charges apply independently. See Companion in actionBrowse your chats and keep a conversation going from your phone.
Review recorded changes on a larger screen.
Manage chat options and connect your phone from VS Code.
Screenshots use synthetic demonstration conversations. New phone chats receive a short AI-generated name after the first text message. Desktop continuations are named from the saved chat description. Naming uses your configured Codex account and the chat's model in a separate background request; it does not add messages to your conversation. You can rename a chat at any time. Your chosen names are preserved, and the existing title stays if automatic naming is unavailable. Requirements
All targets require local desktop VS Code 1.100+, Node.js 22+, working Codex access and Tailscale. Keep the computer awake with Companion and Tailscale running. Remote SSH, WSL, containers, headless Linux and Intel Macs are not included in this preview. Phone/browser push and passkey support vary by platform. Connection and settingsThe bundled PLATFORM-SUPPORT.md guide, opened by Setup Wizard when prerequisites are missing, includes Linux/macOS setup and recovery details. The Companion icon opens a compact settings page. Choose Open full settings to use it in an editor tab. Connection holds pairing and service controls, Devices manages browser access, Settings holds startup and automatic updates, and Help contains setup and diagnostics. Enable Start with VS Code to start an already configured service when this extension activates. It defaults off and preserves an existing running service. Windows sign-in startup is separate. Existing commands remain available in the command palette. Connect your phoneInstall Codex Companion from the Operandi publisher, then open Codex Companion: Setup Wizard. For a manually supplied preview, use Extensions > Install from VSIX with the matching platform package. Windows offers Set up with Tailscale; Linux/macOS use that private HTTPS path directly. First setup
Keep this PC awake, Companion running and Tailscale connected. The same HTTPS address works on Wi-Fi and cellular data. Tailnet policy must allow the phone to this PC on HTTPS port 443. Tagged Tailscale devices and public Funnel requests are deliberately rejected. The pairing QR is private, works once and expires after five minutes. Generate another if it expires. Cannot scan? Use a code instead is the fallback. An unattended request grants no access. Read-only permits saved chats and recorded files; chat control permits Companion work under the chat's existing permissions. Returning and additional phonesOpen Connect phone and generate a pairing QR for each browser or phone. Install/connect Tailscale once per phone; no repeated PC setup or certificate import. After pairing, optionally use Chat options > Install app, enable Notifications, or Trust this device for 30 days. Passkey login starts a session of up to seven days within the fixed enrollment deadline. PC revocation removes trusted login too. Browser and installed-app sessions may differ. Pull down at the top of Chats to refresh the list while keeping your search and drafts. The branded Chat options menu also includes Refresh chats, a separate Restart app action, and a link to this Marketplace listing. Restart reloads the dashboard after drafts and pending actions are clear; it does not restart Codex or the Companion service. Subtle colored project-name chips make chats easier to scan. Each project keeps a consistent tone across refreshes, with readable colors in light and dark themes. Chat list activity times use compact labels such as 9m, 1h and 2d. Swipe left and tap Archive to hide a chat in Companion; Chat options → Archived lets you find and restore it. Chat details also offers Archive/Restore. Archives sync across paired devices and preserve Codex history and running work. Older archived chats may need Load older chats. Existing installations and updatesUpdates preserve configuration, keys and device records. Defaults are %LOCALAPPDATA%\CodexCompanion on Windows, ~/.config/CodexCompanion on Linux (or XDG_CONFIG_HOME/CodexCompanion), and ~/Library/Application Support/CodexCompanion on macOS. After the updated extension activates, service updates apply automatically when idle unless disabled in settings. Active work prevents restarting; native Codex windows never reload automatically. Upgrading from the local preview: the public ID is Operandi.codex-companion-vscode. Uninstall local.codex-companion-vscode, then close and reopen VS Code after active editor work finishes, and install the Operandi build. Keep the Companion data directory intact. The independent service can keep running during this change. Do not run both extensions together; the Operandi build waits while the old preview is installed. Moving an IP setup to Tailscale HTTPS is a separate Setup Wizard action. It saves a config-before-serve-*.json backup, safely stops the service and retains keys/device records. The new browser address may require pairing again. Startup failures retain the applied configuration and report recovery; no public/LAN fallback. Reopen setup to continue after interruption. A Serve mapping can remain configured while Companion is stopped. Setup refuses to replace an unrelated service on Tailscale HTTPS port 443 or work alongside enabled public Funnel sharing. Resolve those settings separately. Companion never resets Serve routes or edits tailnet access policy. Troubleshooting and recovery
Advanced local Wi-Fi setupAdvanced: existing Wi-Fi / IP setup retains the legacy path. It requires Node.js, Codex and Git for Windows OpenSSL, a local CA trusted on each browser/phone and explicit Windows network/firewall approval. Transfer only phone-ca.crt, never private keys or desktop-token. Address repair keeps the CA but may require pairing at the new address. Legacy IP repair is blocked on a managed Tailscale HTTPS setup. Daily use and developmentNormal Codex starts independently. Native history can be browsed; Companion continuations are separate chats. Sends, resumes, approvals and retries remain explicit. Notifications are opt-in Web Push; physical background delivery needs device verification. Private chats and files are not cached offline. Developers: npm ci in the repository and vscode-extension, then npm run package in vscode-extension. Run npm test and relevant npm run test:browser scenarios. The VSIX includes the dashboard/runtime and locked production dependencies; external tools install through the guided flow instead of bundled binaries. This is a preview release. Native Windows, Ubuntu and macOS CI checks pass; clean-machine installation, real Android/iPhone sign-in, cellular access, physical passkeys and push remain separate acceptance checks. PrivacyCompanion runs on your computer and does not provide a hosted chat relay. Approved browsers receive data under their granted access. Private chats, API responses and attachments are not cached for offline use. Selected credentials use Windows DPAPI or Linux/macOS keyring-backed encryption; workspace files and Codex history are not covered by that encryption. Optional text recovery encrypts unsent drafts in this browser profile for seven days and requires explicit Recover. Disabling recovery or unpairing clears them; this is not hardware-backed protection. Shared completion receipts and device notification preferences stay on your PC. Explicitly sent document inputs are retained in bounded local staging until owner cleanup and passed to your configured Codex tools/provider. Project verification may contact GitHub through your local CLI. Optional push notifications contain generic alerts, not message text or chat titles. Push providers can observe delivery metadata. Tailscale and your configured model provider have their own data practices. Extension removal does not stop the independent service or erase local data; use the service controls before retiring it. ContactSupport and privacy questions: rope.stone6688@eagereverest.com. Report suspected security vulnerabilities privately to rope.stone6688@eagereverest.com. Do not post vulnerabilities, credentials, pairing codes or private chat logs publicly. Send only the minimum redacted details needed to describe the issue. The Connection sidebar and full settings use the Companion phone/Twin C identity with a brief, reduced-motion-aware entrance. Light/dark palettes follow the selected VS Code theme category; high-contrast colors follow the host theme. An installed extension update becomes visible when VS Code next activates it; the dashboard service updates separately when idle. |



