Oh My Diff.Keep Codex. Mod everything.

Codex CLI, extended with TypeScript mods. Keep your codex command, settings and sign-in, and add the features you want.

Install

$ curl --proto '=https' --tlsv1.2 -fsSL https://github.com/dzkchen/oh-my-diff/releases/latest/download/install.sh | sh

Why Oh My Diff

Stop switching harnesses.

New agent features keep showing up in new tools. With OMD, they show up as mods in the Codex you already use.

  1. InstallOne command. Pick OMD+ or OMD Core.
  2. Run codexSame settings, sign-in and sessions.
  3. Type /modsTurn features on or off, or add new ones.

Build your own

OMD Core

Codex plus the mod system. Add only what you choose.

  • /mods manager and updates
  • Installs from npm, Git or a folder
  • Tools to write your own mods

Ready to use

OMD+

Core plus the first-party collection.

  • 22 mods: 11 on, 11 off
  • 3 optional Codex plugins
  • Turn any of them off in /mods

Apple Silicon Macs · Codex 0.163.x · Not affiliated with OpenAI

OMD+ out of the box

Small fixes you notice every session.

  • Tool linesOne short line per tool call; open it for the full output
  • Plan panelPins Codex’s current plan above the prompt
  • Status lineA configurable status line; /statusline edits it
  • Idle compactCompacts a large idle conversation before the prompt cache expires
  • Auto-continueAnswers a prompt nobody answers within two minutes, so the turn continues
See all 22 mods →
codex
• Shell cargo test -p parser · ok · 214 lines · 41.3s
• Edit src/parser/lexer.rs · +9 −3
✗ Shell pnpm lint · exit 1 · 18 lines · 2.4s

● Plan (2/5)
├─ ✓ Read the failing test
├─ ✓ Find the regression
├─ ◐ Fix the parser
├─ ○ Run the suite
└─ ○ Summarize

› 

gpt-5.6 · ▰▰▰▱▱▱▱▱ 38% · 5h 22% · main +2 · 11 mods
Tool lines, the plan panel and the status line. Illustration.

A mod is a TypeScript file

Hooks. Plugins. Skills.
Now, mods.

Change what the agent can do and what you see, through a typed API.

  • Add commands, tools and screens
  • Test offline, reload on save
  • Share it on npm or Git
mods/counter/index.ts
import type { ModAPI } from '@oh-my-diff/mod-api';

export default function activate(api: ModAPI) {
  api.tool({ name: 'count', label: 'Counter',
    description: 'Increment a persistent counter.',
    parameters: { type: 'object', properties: {},
      additionalProperties: false } }, () => {
    const count = Number(api.state.get() ?? 0) + 1;
    api.progress(`Counter at ${count}`);
    api.state.set(count);
    return { count };
  });

  api.command('reset', () => {
    api.state.set(0);
    return { display: 'Counter reset to 0' };
  });
}

For your agent

Just ask your agent to explain OMD more in depth.

A short Markdown brief of every mod, written for Codex, Claude or any agent.

Read https://ohmydiff.me/agent-brief.md and explain Oh My Diff to me in depth: what it is, how it works and what its mods do.

FAQ

Is Oh My Diff a fork of Codex?

A patch set on the open-source Codex CLI, pinned to one Codex version per release. We carry the patch forward; you write mods.

Is this like Claude Code mods?

Same idea, different agent: Claude Code mods extend Claude Code, and OMD mods extend Codex CLI. OMD was already underway when Claude Code mods were announced. As a proof of concept, three Claude Code mods have been ported to OMD.

Does it change my Codex setup?

No. You still run codex, with your settings, sign-in and sessions. Uninstalling restores plain Codex.

What happens when Codex updates?

Each OMD release supports one Codex version line, now 0.163.x. Turn off automatic Codex updates and update Codex only after omd update supports the new version.

Can I use Claude or other models?

Yes, with opt-in OMD+ mods: the Claude mod adds Claude models to /model through the official Claude CLI, using your Claude plan or Console credits, and Account profiles add API keys and compatible providers. See all mods →

Can I turn features off?

Yes. Every mod turns on or off in /mods. If a mod breaks codex, run omd mods disable from any shell, or use /omd inside codex.

Is it safe?

You approve a mod’s permissions when you turn it on, and OMD keeps credentials and approvals in native code. A mod allowed to run programs or use the network really can, so only turn on mods you trust.

What does it run on?

Apple Silicon Macs, with Codex 0.163.x, Node 24 and Python 3.12 or newer. Linux is planned, with no date yet.

Is it ready to use?

Yes. It’s labeled beta: not every planned feature is in yet, which doesn’t mean it’s unstable. The mod API is experimental. See what’s shipped →

What support should I expect?

OMD is a personal tool, built for the creator’s own workflow. Expect the focus to be mainly critical fixes. Report problems on GitHub. Open an issue →

Is it affiliated with OpenAI?

No. Oh My Diff is an independent project built on the open-source Codex CLI.

Recently shipped

Full changelog →
  1. Oh My Diff 1.0.0-rc.2Second release candidate: a native mod settings panel, Claude subscription models inside the session, keyboard-first mod dialogs and faster mod status.
  2. Oh My Diff 1.0.0-rc.1Release candidate for Oh My Diff 1.0.0, the first public beta: Codex 0.163.0 with a TypeScript mod host, the OMD Core and OMD+ collections and a signed curl installer.
  3. Launch scope and upstream pinA smaller launch collection, a planned API freeze and refreshed Codex.