Codex
Codex CLI configuration is managed from this repository with GNU Stow.
Install
Section titled “Install”make stow-codexThis links dotfiles/codex/.codex/config.toml to ~/.codex/config.toml and installs the managed hook scripts under ~/.codex/hooks/.
Managed Settings
Section titled “Managed Settings”model = "gpt-5.5"with high reasoning effort and pragmatic personality.web_search = "cached"for default web access with lower live-page prompt-injection exposure./goalis pinned on withfeatures.goals = true.- Agent workflow features are pinned on, including multi-agent tools, hooks, shell snapshots, workspace dependencies, browser use, computer use, image generation, and plugin support.
- TUI Vim mode starts enabled with
tui.vim_mode_default = true. - TUI notifications are enabled and set to fire even when the terminal is focused.
- The status line is ordered for workflow state first: run state, current directory, git branch, model/reasoning, context remaining, context used, and task progress.
- The terminal title shows activity, project, and model.
- Sound hooks play on approval requests and turn completion.
- OpenAI developer docs MCP is configured as
openaiDeveloperDocs. - miudb MCP is configured as
miudbfor local database inventory, schema inspection, and bounded read-only SQL. - Current Codex plugins for Browser, GitHub, Documents, Spreadsheets, and Presentations stay enabled.
miudb MCP
Section titled “miudb MCP”miudb mcp serve --transport stdio works with any stdio MCP host. It reads saved database connections from ~/.config/miu/db, redacts secrets, and keeps query_run read-only by default.
Codex is managed in dotfiles/codex/.codex/config.toml:
[mcp_servers.miudb]command = "miudb"args = ["mcp", "serve", "--transport", "stdio"]startup_timeout_sec = 10tool_timeout_sec = 60Claude Code should be installed at user scope so it is available in every project:
claude mcp add --scope user --transport stdio miudb -- miudb mcp serve --transport stdioCursor uses ~/.cursor/mcp.json. Add only this server entry to the existing mcpServers object:
{ "mcpServers": { "miudb": { "command": "miudb", "args": ["mcp", "serve", "--transport", "stdio"] } }}Restart the host after changing MCP configuration.
Attention Sounds
Section titled “Attention Sounds”Codex does not currently expose Claude Code’s Notification hook event. The closest user-attention event is PermissionRequest, which fires before Codex asks for approval. Turn completion uses Stop.
PermissionRequestruns~/.codex/hooks/attention-sound.sh permissionand plays~/.claude/notification.mp3when available, falling back to the macOSPop.aiffsound.Stopruns~/.codex/hooks/attention-sound.sh stopand plays the macOSGlass.aiffsound.- Native TUI notifications are also enabled through
tui.notifications = true,tui.notification_condition = "always", andtui.notification_method = "auto".
Feature Checks
Section titled “Feature Checks”codex features listcodex mcp listclaude mcp get miudbmiudb connections list --output jsoncodex plugin listcodex doctor --summary --asciiIf /goal is missing from slash commands, check:
codex features list | rg '^goals'Expected state:
goals stable trueRestart Codex after changing feature flags because TUI command availability is loaded at startup.
Local State
Section titled “Local State”Only config.toml and hook scripts under ~/.codex/hooks/ are repo-managed.