| Other vendors · gateway (B) | Run Claude Code's main loop and subagents on non-Claude models (OpenAI, Google, OpenRouter, local), by pointing Claude Code at a proxy that translates between APIs. omp can log in with existing subscriptions such as ChatGPT or Gemini plans. | Native | M |
| Other vendors · own client (A) | Same goal, without a proxy: the mod itself sends each model request to the other vendor and feeds the answer back to Claude Code. | Heavy | L |
| Model roles | Named slots, each holding a model: default, smol (fast and cheap), slow (strongest), tiny, task, advisor, judge, commit. Features ask for a role rather than a model, so swapping a model is one line of config. | Native | S |
| Fallback chains | When a model errors or hits a usage limit, retry with the next model in a list. omp can also switch accounts or wait for the limit to reset. | Native | S |
| Eval kernel + PTC | A tool that runs JavaScript (or Python) in a long-lived process that keeps its variables between calls, like a notebook. Code in it can call the agent's other tools, models and subagents (PTC: programmatic tool calling), so the model writes one program instead of making twenty separate tool calls. | Workaround | L |
| Prewalk | Plan with the strong model, then switch automatically to the cheap model once the first file edits begin. | Native | S |
| JEV decisions | Small yes/no or multiple-choice calls inside the harness, made by Jev (a model built for judgments, not chat). Examples: how much thinking this prompt needs, and whether the agent stopped before doing what it promised. | Native | M |
| TTSR tool rules | TTSR (time-traveling stream rules) are rules written as Markdown files. A tool rule is a regex or code pattern checked against what the agent is about to write to a file. A match blocks the write and tells the model the rule. | Native | S |
| TTSR question rules | A rule phrased as a yes/no question ("did the answer skip the tests?"). The judge checks every answer against it. | Native | S |
| TTSR stream rules | A rule checked against the model's text while it is still being written. A match stops the answer and makes the model redo it with the rule in front of it. | Workaround | M |
| Compaction: shake · handoff · soft · idle | Ways to shrink a conversation that has grown too long. shake replaces old tool output with file references and needs no model call. handoff has the model write a hand-over note that replaces the history. soft is a normal summary. idle compacts while you're away. | Native | M |
| Notes rollover | The model keeps a small notebook. When the context fills, it starts a fresh window that carries only the notebook and its most recent work, with no summary. | Workaround | M |
| snapcompact | Old history is printed onto images, and a vision model reads them back instead of the original text. | Blocked | M |
| Mid-turn compaction | Compact while a long chain of tool calls is still running, not only between turns. | Blocked | S |
| Always-on advisors | A second model reviews the agent's work in the background as it happens. It interrupts only for a real problem (a blocker); smaller notes wait. omp can make the agent pause until the review catches up. | Native | M |
| Hashline edit | An edit tool where every edit cites a short tag taken when the file was last read. If the file changed since then, the edit is rejected instead of silently landing in the wrong place. | Native | M |
| Commands and settings | Slash commands and settings that switch each feature on or off and configure it, plus one control pane that shows the state of all of them. | Native | S |
| Structured subagent results | The parent gives a child a JSON schema; the child must return data that matches it, and is told to fix it until it does. | Native | M |
| Agent hub pane | A live list of running and finished child agents with their model, cost and current activity. From it you can steer any child. | Native | M |
| Copy-on-write workspaces | Each child works in an instant copy of the repo (a file-system clone, not a full copy), and its changes are merged back automatically. | Workaround | M |