A fast, native Windows desktop app for the omp coding agent.
WinUI 3 · .NET 9 · Agent Client Protocol (ACP) over stdio · no Electron, no WebView2
OMP Desktop is a graphical client for the omp coding agent. Instead of living in a terminal, you get a real desktop app: a workspace sidebar, full conversation history, streaming replies, rendered tool calls and diffs, model management, skills management, and native dialogs for everything dangerous.
It speaks the Agent Client Protocol (ACP), the same open protocol used
by Zed and other editors, directly to omp acp over stdio. Your threads, credentials,
models and skills stay exactly where omp keeps them: the app and the terminal stay in
sync because they share one agent.
Highlights
- Truly native: WinUI 3 / .NET 9, no browser engine bundled, one small exe plus runtime files
- Portable: download one zip, extract, double click. No installer, no registry, no admin
- Brings your own agent: uses your existing omp login, models and API keys
- Open source, MIT licensed
Chat and transcripts
- Streaming agent turns with live reasoning. Collapsed thoughts show a ticker of the current line so you can watch the model think without expanding anything
- Every tool call renders as one compact row: the agent's intent, the actual command or path, and trailing facts like duration, exit code and match count. Click to expand full output, code blocks and diffs
- Full history replay. Opening a thread restores user messages, reasoning, tool calls, plans, file diffs and token usage
- Markdown rendering with syntax highlighted code blocks, language icons, copy buttons, and scroll chaining: wheel over a tall code block keeps scrolling your transcript when the block runs out
- Auto follow stays pinned to the newest output while you are at the bottom and lets go the moment you scroll up
- Thread titles are derived from your first message. Rename any time from the thread menu
- Search across threads, per-thread busy state, stop button, reconnect handling
Workspaces
- Every folder omp has sessions in appears as a workspace in the sidebar, with its threads nested underneath, newest first
- Add any folder as a workspace, remove workspaces you do not want (they stay removed), collapse groups you rarely use
- Right click a thread to open, rename, export to HTML, copy, compact or delete it
Models page
- Assign omp's model roles (default, smol, slow, plan, commit, tiny, task, vision, advisor) from the full catalogue omp offers, grouped by provider
- Choose exactly which models appear in the composer's model picker
- Add any OpenAI-compatible endpoint as a custom provider: base URL, API key, model id,
context window, reasoning support. Written to omp's own
models.yml - Set and remove provider API keys from the app
Tools and safety
- Native approval dialog for bash, edit, delete and move, with allow once, always allow or reject, or a global auto-approve switch
- Per-tool switches in Settings: turn off write, read, bash, web search or any other of omp's built-in tools. The tool is removed from the agent entirely and takes effect on the next reconnect
- The client advertises no filesystem or terminal capabilities on purpose, so omp does all file and shell work itself and asks before anything destructive
Skills page
- Lists every skill omp will load across all of its skill folders
- Create, import and delete skills in the omp user directory, and see which ones come from project or other sources read-only
Options page
- omp's own configuration, rendered as a searchable page with typed editors for booleans, numbers, enums, lists and records
| Chat | Models |
|---|---|
![]() |
![]() |
| Settings |
|---|
![]() |
- Install the omp CLI and sign in (run
omponce in a terminal). - Grab
OmpDesktop.*-win-x64.zipfrom the latest release. - Extract anywhere and run
OmpDesktop.exe. That is the whole install.
Requirements: Windows 10 2004+ or Windows 11, x64, and an installed omp CLI. The app is self-contained: no separate .NET runtime or Windows App SDK install needed.
Builds are unsigned. If Windows Smart App Control blocks the app, see Troubleshooting before changing security settings.
git clone https://github.com/Bibarud/omp-desktop.git
cd omp-desktop
dotnet publish src\OmpDesktop\OmpDesktop.csproj -c Release -r win-x64 -o publish\win-x64
publish\win-x64\OmpDesktop.exeRequirements: the .NET 9 SDK (NuGet restores Windows App SDK 1.8 automatically) and
Windows 10/11. publish.bat runs the same publish step. Pushing a tag like v0.2.0
builds a release zip in CI via GitHub Actions.
One omp acp child process serves the whole app. The client:
initialize+authenticate, reusing your existing~/.ompcredentialssession/list, paginated, grouped by working directory into the sidebarsession/loadfor full history replay into the transcriptsession/promptfor new turns,session/cancelto stopsession/request_permission, answered by a native dialog, fail closedsession/new/session/fork/session/closefor thread lifecyclesession/set_config_optionto drive the inline model, thinking and mode pickers
Parser notes worth knowing if you touch the transcript code: omp sends tool arguments
in rawInput (with a human description in rawInput.i) and results in
rawOutput.content plus rawOutput.details, does not use the ACP title field for the
useful part, and wallTimeMs arrives as a float. tools/probe_acp.py dumps real
traffic so the parser can be checked against reality.
src/OmpDesktop/
Acp/ JSON-RPC transport, typed ACP client, models, omp locator
Models/ transcript items and sidebar row state
ViewModels/ MainViewModel (workspaces, routing, permissions), ThreadViewModel
Controls/ MarkdownView, DiffView, pickers, theme brushes, converters
Dialogs/ PermissionDialog
Views/ Settings, Models, Skills, Options pages
Rendering/ Markdown parser, line diff
Services/ settings, omp config/CLI, models.yml editing, tool catalogue
tools/ ACP probe, parser checks, logo generator, UIA test harnesses
Settings live in %APPDATA%\OmpDesktop\settings.json. Everything omp related (threads,
models, keys, skills) stays in omp's own home under ~/.omp.
Is OMP Desktop free? Yes. MIT licensed, source code in this repo, releases are free downloads.
Does it need a subscription or its own API keys? No. It uses the omp CLI you are already signed in with. Models, providers and API keys you configure on the Models page are stored by omp itself, so the terminal and the app share them.
Does it work with other ACP agents like Claude Code or Gemini CLI? It is built and tested against omp. The transport is standard ACP, so much of it would work, but omp specific features (models page, skills, options) expect omp.
Is my code sent anywhere by the app? The app talks only to the omp process on your machine, which talks to the model providers you configured, exactly like running omp in a terminal. OMP Desktop adds no telemetry and no cloud service of its own.
Why is the app ~200 MB extracted? It is a self-contained .NET 9 + Windows App SDK build, so most of that is the runtime shipped with it. Nothing else is installed on your system.
Windows blocked the app: 0x800711C7 or FileLoadException
Unsigned builds are refused by Smart App Control once it leaves evaluation mode.
Turning Smart App Control off is a one-way change, so decide deliberately. The
alternative is signing the build with a certificate your machine trusts.
The taskbar icon looks generic
OmpDesktop.exe embeds the icon, but the window and taskbar icon is loaded at runtime
from app.ico next to the exe. If you copy the exe alone, copy app.ico with it.
omp not found Set the path on the Settings page or press Auto-detect. The app looks next to the exe and in the standard omp install locations.
Issues and pull requests are welcome. For bigger changes, open an issue first so we can discuss the approach. See CONTRIBUTING.md for build and test notes.
MIT. The omp CLI is a separate project by Stencil with its own license. The Agent Client Protocol is an open specification. Phosphor icons are MIT licensed by Phosphor Icons.

