OpenAI Codex plugin for Neovim
Last updated Jul 2, 2026
253
Stars
27
Forks
10
Issues
0
Stars/day
Attention Score
63
Language breakdown
Lua 93.6%
Makefile 6.4%
โธ Files
click to expand
README
Codex Neovim Plugin
A Neovim plugin integrating the open-sourced Codex CLI (codex)
Latest version:
Features:
- โ
Toggle Codex window or side-panel with
:CodexToggle - โ
Optional keymap mapping via
setupcall - โ Background running when window hidden
- โ
Statusline integration via
require('codex').status()
Installation:
- Install the
codexCLI via npm, or mark autoinstall as true in the config function
npm install -g @openai/codex
- Grab an API key from OpenAI and set it in your environment variables:
~/.bashrc or ~/.zshrc file to persist across sessions, but be careful with security. Especially if you share your config files.
export OPENAIAPIKEY=yourapikey
- Use your plugin manager, e.g. lazy.nvim:
return {
'kkrampis/codex.nvim',
lazy = true,
cmd = { 'Codex', 'CodexToggle' }, -- Optional: Load only on command execution
keys = {
{
'<leader>cc', -- Change this to your preferred keybinding
function() require('codex').toggle() end,
desc = 'Toggle Codex popup or side-panel',
mode = { 'n', 't' }
},
},
opts = {
keymaps = {
toggle = nil, -- Keybind to toggle Codex window (Disabled by default, watch out for conflicts)
quit = '<C-q>', -- Keybind to close the Codex window (default: Ctrl + q)
}, -- Disable internal default keymap (<leader>cc -> :CodexToggle)
border = 'rounded', -- Options: 'single', 'double', or 'rounded'
width = 0.8, -- Width of the floating window (0.0 to 1.0)
height = 0.8, -- Height of the floating window (0.0 to 1.0)
model = nil, -- Optional: pass a string to use a specific model (e.g., 'o3-mini')
autoinstall = true, -- Automatically install the Codex CLI if not found
panel = false, -- Open Codex in a side-panel (vertical split) instead of floating window
use_buffer = false, -- Capture Codex stdout into a normal buffer instead of a terminal buffer
},
}
Usage:
- Call
:Codex(or:CodexToggle) to open or close the Codex popup or side-panel. - Map your own keybindings via the
keymaps.togglesetting. - To choose floating popup vs side-panel, set
panel = false(popup) orpanel = true(panel) in your setup options. - To capture Codex output in an editable buffer instead of a terminal, set
use_buffer = true(orfalseto keep terminal) in your setup options. - Add the following code to show backgrounded Codex window in lualine:
require('codex').status() -- drop in to your lualine sections
Configuration:
- All plugin configurations can be seen in the
optstable of the plugin setup, as shown in the installation section.
- *For deeper customization, please refer to the Codex CLI documentation full configuration example. These features change quickly as Codex CLI is in active beta development.
๐ More in this category