CodeHelm provides remote control for local Codex sessions using Discord. It runs as a local daemon that manages a Codex App Server and transforms a Discord channel into a control interface. Users can start, resume, approve, interrupt, and monitor AI coding tasks from a phone or browser, without needing to stay at their terminal. The project, hosted at humeo/code-helm, has 140 GitHub stars and is written in TypeScript. It requires Bun as the runtime and integrates with the npm package ecosystem.
This setup addresses the inconvenience of managing long-running AI coding sessions locally. Codex, an AI coding tool, typically runs in a terminal, requiring constant attention for approvals or interruptions. CodeHelm centralizes everything in a Discord thread: session transcripts update in real time, approval buttons appear for Codex requests, and progress remains visible even after stepping away. Each thread links to one persistent session, preserving context for later resumption.
Core features
CodeHelm offers these specific capabilities:
- Remote session management: Start new sessions with
/session-newor resume existing ones via/session-resumein the control channel. - Approval and interruption: Approve Codex actions or interrupt running turns directly from Discord messages.
- Work directory control: Set a project directory using
/workdirbefore launching a session. - Managed threads: Automatic creation of Discord threads tied to Codex sessions, with live transcript updates and final outputs.
- Local server proxy: Starts a Codex App Server on loopback (localhost) and provides a WebSocket URL for Codex to connect.
A demo GIF in the repository shows this in action: a user triggers a session, approves file edits, and monitors output entirely through Discord.
Prerequisites
Before installation, verify these on the host machine:
| Tool or setup | Requirement | Check command |
|---|---|---|
| Bun | Installed | bun --version |
| Codex | Installed on the same machine | codex --version |
| Discord bot | Token, target server, control channel | See Discord setup guide |
| Discord channel | Text or announcement with public threads | Check permissions |
| Bot intent | Message Content Intent enabled |
Discord Developer Portal |
Bun remains required at runtime, even for npm-based installs. The Discord bot needs permissions for threads and messages in the chosen channel.
Getting it running
Installation uses npm or Bun globally:
npm install -g code-helm
Or:
bun add -g code-helm
Run code-helm onboard for initial Discord configuration. This prompts for the bot token, target guild (server), and control channel. Follow the Discord bot setup guide if creating a new bot.
To start:
Launch the daemon:
code-helm startIt prints a WebSocket URL, like
ws://localhost:port.Connect Codex:
codex --remote ws://localhost:portIn the Discord control channel:
- Set workdir:
/workdir /path/to/project - Create session:
/session-new - Or resume:
/session-resume
- Set workdir:
Interact within the generated thread: send prompts, approve via reactions or buttons, check status, or interrupt. Sessions persist across restarts if resumed properly.
For development, the README points to a standard setup with TypeScript 5.9 and Bun.
Typical workflow
The process follows a linear flow:
- Start CodeHelm daemon, note the printed remote address.
- Launch Codex pointed at that address.
- Switch to Discord control channel.
- Configure workdir and initiate a session.
- Handle the session: approve diffs, monitor logs, interrupt if needed.
Threads stay active, allowing team members to follow along. This keeps AI coding visible without terminal access.
Who this is for
CodeHelm suits developers running local Codex instances who want mobility. It fits scenarios like:
- Approving AI-generated code changes while away from the desk.
- Sharing session progress with a team in a Discord server.
- Resuming interrupted, context-heavy coding tasks after breaks.
Solo users benefit from phone-based control; teams gain a shared view without extra tools. If Codex sessions often involve waiting for approvals or run overnight, this centralizes monitoring.
It's less ideal for users without Discord servers or those preferring terminal-only workflows. No cloud dependency means it stays fully local, but requires the same machine for both CodeHelm and Codex.
Comparisons to alternatives
Direct alternatives are scarce, as few tools proxy local AI coding interfaces to chat apps. OpenAI's Codex runs remotely via API, lacking local control. Other local AI setups like Continue.dev or Aider focus on IDE integration without Discord remoting.
CodeHelm stands out for its Discord specificity, lighter than full remote desktop solutions like Tailscale + VS Code. At 140 stars, it's niche but focused—TypeScript and Bun keep it modern and fast-starting compared to heavier Python proxies.
CodeHelm bridges local AI coding with Discord's threading for persistent, shareable sessions. Source and full docs at github.com/humeo/code-helm; npm package details at npmjs.com/package/code-helm.
Comments