Hermes ChatGPT Extension – Your Hermes Agents Inside Codex/ChatGPT A new MCP plugin, the Hermes ChatGPT Extension, embeds Hermes Agent into Codex as an in-editor chat app, connecting to local or remote Hermes instances to work with profiles, conversations and scheduled jobs. The extension requires Node.js 22 or later, a Codex desktop version supporting local plugins and MCP Apps, and an installed Hermes backend with its JSON-RPC/WebSocket API and REST management routes; it ships as a local stdio MCP server and does not provide a hosted MCP endpoint for ChatGPT cloud access. The installer copies the plugin into ~/.codex/plugins/hermes-chatgpt-extension and registers a local marketplace entry, with upstream credentials kept in the local bridge process rather than passed to the embedded interface. An MCP plugin that brings Hermes Agent https://github.com/NousResearch/hermes-agent into Codex as an embedded chat app. Connect to local or remote Hermes instances, work with their profiles and conversations, and inspect scheduled jobs without leaving Codex. The interface follows Codex's chat and sidebar conventions and inherits the host's light/dark theme. Hermes runs the agent, tools, memory and scheduler; the surrounding Codex conversation remains separate. - Streams replies, renders Markdown and code, shows tool activity, and supports Stop, approvals and clarification questions. - Groups conversations under expandable profile sections with Hermes avatars. Drafts stay with their owning instance and profile. - Uses each profile's real model catalogue and defaults, with a model selector and Power control for reasoning effort. - Shows scheduled jobs and recorded runs for one profile or all profiles. Schedule, execution and delivery status are shown separately. - Archives conversations through Hermes, with a brief Undo action. Archiving retains the stored messages. Upstream credentials stay in the local bridge process. The embedded interface receives connection labels and chat data, rather than tokens or provider credentials. - Node.js 22 or later , available to Codex as node . A source build also needs npm. - A Codex desktop version that supports local plugins and MCP Apps. The installer registers a local marketplace entry; public Plugins Directory publication is a separate process. - An installed, configured Hermes backend with the desktop JSON-RPC/WebSocket API and REST management routes. See connection configuration connection-configuration . - For SSH connections, a local ssh client, an accepted host key and non-interactive authentication through your SSH configuration or agent. Managed SSH also needs a POSIX remote host, python3 on its PATH and a Hermes installation with its server dependencies. This package provides a local stdio MCP server. It does not provide a hosted MCP endpoint for ChatGPT cloud access. Download hermes-chatgpt-extension-VERSION.zip from the latest GitHub release https://github.com/intellectronica/hermes-chatgpt-extension/releases/latest . Extract it and open a terminal in the extracted directory containing plugin.json . node scripts/verify-plugin.mjs The ZIP includes the compiled server and self-contained UI. It needs Node.js, without an npm install or build. Each release also provides a -source.zip and SHA256SUMS for checking both ZIPs. GitHub's automatically generated Source code downloads require a source build. Continue with Configure and register the plugin below. Extract the source ZIP and open its directory containing package.json . Alternatively, with access to the Git repository: git clone https://github.com/intellectronica/hermes-chatgpt-extension.git cd hermes-chatgpt-extension Build the source: npm ci npm run build node scripts/verify-plugin.mjs Continue with the same configuration and installation steps. A raw Git checkout needs this build before Codex can load the plugin. Keep your connection configuration outside the plugin directory so updates preserve it. Start with the example for your connection mode: mkdir -p "$HOME/.config/hermes-chatgpt-extension" cp examples/config.ssh.json "$HOME/.config/hermes-chatgpt-extension/hermes.config.json" Edit that file for your Hermes host and installation paths. For other modes, use the examples in connection configuration connection-configuration . Preview the installation, then apply it: node scripts/install-plugin.mjs --config "$HOME/.config/hermes-chatgpt-extension/hermes.config.json" --dry-run node scripts/install-plugin.mjs --config "$HOME/.config/hermes-chatgpt-extension/hermes.config.json" --apply The installer copies the plugin into ~/.codex/plugins/hermes-chatgpt-extension and adds its entry to ~/.agents/plugins/marketplace.json . It preserves an existing marketplace name and unrelated entries. It records the configuration file's absolute path; it does not copy its contents. Open the plugin detail link printed by the installer and choose Install or Enable in Codex. If your local source is not yet listed, restart the desktop app, open the Plugins Directory and select the marketplace named by the installer. A new marketplace is called Personal plugins ; an existing one keeps its name. The script does not enable the plugin or restart Codex itself. These local-marketplace steps follow OpenAI's plugin packaging guidance https://developers.openai.com/plugins/build/plugins . Build the new source checkout or extract the new ZIP, then run: node scripts/install-plugin.mjs --replace --dry-run node scripts/install-plugin.mjs --replace --apply Replacement retains backups and preserves the previous configuration reference. To change that reference, add --config /absolute/path/to/hermes.config.json . Refresh the installed plugin in Codex or restart the desktop app so its MCP connection and cached UI load the new files. A configuration contains a connections array. Each entry needs a unique id , a display label and its connection settings. Add several entries to connect multiple Hermes instances; the footer selector switches between them. Profiles are discovered from Hermes rather than enumerated in this file. Configuration is loaded in this order: 1. The --config argument, if supplied. 2. HERMES EXTENSION CONFIG , if set. 3. hermes.config.json in the bridge's working directory. 4. $XDG CONFIG HOME/hermes-chatgpt-extension/hermes.config.json when XDG CONFIG HOME is an absolute path; otherwise ~/.config/hermes-chatgpt-extension/hermes.config.json . An explicitly selected missing file, or any selected invalid file, is an error; discovery does not skip invalid configuration. With no configuration file, the app opens with no connections. Relative configuration paths are resolved from the working directory; relative tokenFile paths are resolved from the configuration file's directory. Local paths can use ~/ . Use this mode when Hermes is installed remotely and the extension should start its own temporary backend: { "connections": { "id": "remote", "label": "Remote Hermes", "kind": "ssh", "ssh": { "host": "hermes-host", "mode": "managed" } } } host can be an SSH-config alias or hostname. Optional user and port select the SSH account and port. Defaults are ~/.hermes for hermesHome and