One Desktop Client to Rule Them All
By Stephen Turner profile image Stephen Turner
5 min read

One Desktop Client to Rule Them All

I tested Codex, AiderDesk, Claude Code Desktop, OpenCode, Goose, AionUI, Jan, and others across ChatGPT, Claude, and local models. The problem wasn’t model access. It was the lack of governed extensibility, reusable logic patterns, and a real enterprise control plane.

TL:DR

I tested Codex, AiderDesk, Claude Code Desktop, OpenCode, Goose, AionUI, Jan, and others across ChatGPT, Claude, and local models. The problem wasn’t model access. It was the lack of governed extensibility, reusable logic patterns, and a real enterprise control plane. That’s why I’m building One Desktop Client to Rule Them All.


Why I’m building my own AI desktop client for the enterprise

I’ve spent a lot of time with the current wave of AI desktop clients. I tested them against ChatGPT, Claude, and local models. I looked at where they shine, where they feel genuinely innovative, and where they start to break once you stop thinking like a single power user and start thinking like an enterprise builder.

This is not a takedown of Codex, AiderDesk, Claude Code Desktop, OpenCode, Goose, AionUI, Jan, or the rest of the field. Many of these products are good. Some are very good. Several are pushing the category forward in meaningful ways. But after working through all of them, I kept arriving at the same conclusion:

The market has good desktop clients. What it does not yet have is the desktop client my organization needs.

The open source versus closed source conversation matters, but it is not the whole story. Open source gives you inspectability, forkability, and a better path to deep customization. Closed or source-available tools can deliver strong UX, tight support, and fast iteration. Neither model, by itself, solves the enterprise problem.

That problem is bigger than model access. Bigger than chat UX. Bigger than whether a tool can call MCP servers or install plugins.

The real question is this: can the client become a governed operating surface for how an organization thinks, builds, automates, approves, and scales AI work?

For me, most of today’s tools still answer that question with “not yet.”

Extensibility exists, but it is still too local

Most clients now offer some kind of extensibility story. That is progress.

But in practice, extensibility is still usually expressed as product-local plugins, hooks, skills, prompt files, config files, agent definitions, or MCP connections. Useful? Absolutely. Sufficient for an enterprise operating model? Not even close.

Enterprise extensibility has to do more than customize a client. It has to standardize behavior across teams, environments, and model providers. It has to be versioned, reviewed, governed, reusable, and enforceable. It has to survive personnel changes. It has to be portable. And it has to be owned by the organization, not trapped inside one tool’s opinionated abstraction.

That is a very different bar.

Logic patterns are fragmented

This is the biggest gap I found.

Most tools let you encode behavior, but not in a way that maps cleanly to enterprise logic. What you get are scattered abstractions: a skill here, a hook there, a project file somewhere else, a model setting in one client, an approval mode in another, a hidden prompt convention living only in one team’s workflow.

That is not enterprise logic. That is desktop-local improvisation.

Real enterprise logic patterns are policy-based routing, approval checkpoints, role-aware behavior, environment isolation, data classification rules, escalation paths, reusable workflow templates, model fallback strategies, and audit-friendly task decomposition. Those patterns should not live as tribal knowledge or product-specific glue. They should be first-class, composable, versioned, and reviewable.

Multi-model support is not the same as enterprise model strategy

A lot of these clients can connect to frontier models and local models. That matters. I wanted that flexibility too.

But a dropdown that says GPT, Claude, Gemini, or local is not an enterprise model strategy.

Enterprise needs policy-aware routing. It needs to decide which models can touch which datasets, which agents can operate in which environments, which tasks must stay local, which tasks can go to hosted inference, which approvals are mandatory, and how cost, latency, compliance, and capability are traded off.

Supporting multiple models is a feature.
Orchestrating multiple models under enterprise policy is a platform capability.

Those are not the same thing.

Most desktop clients are built for personal productivity, not organizational memory

The dominant mental model in the category is still the individual operator: one person, one session, one agent, one repository, one loop.

That is excellent for acceleration. It is not enough for institutional adoption.

Enterprises need shared patterns, team-level workflows, reusable agent behavior, centralized governance, and memory that belongs to the organization rather than the individual sitting at the keyboard. If a workflow only works because one advanced user knows which sequence of prompts and settings to apply, then it is fragile by design.

The enterprise world does not need more magic. It needs repeatability.

Governance is often layered on top instead of built in at the center

This is where the gap becomes architectural.

In many tools, governance feels adjacent to the real system instead of native to it. You might get configuration. You might get approvals. You might get audit-adjacent logging. But the actual operational logic still lives in prompts, local files, extensions, or per-user workflows.

That means the most important behavior in the system is often the least governable.

For an enterprise, governance cannot be the wrapper. It has to be the core. Identity, RBAC, approvals, telemetry, data boundaries, deployment posture, and workflow policy all need to sit at the center of the client architecture, not off to the side.

The enterprise desktop client is really a control plane problem

That is ultimately what changed my thinking.

I am no longer looking for the best AI desktop app.
I am looking for a desktop control plane.

I need one surface that can broker across models, tools, agents, environments, and workflows. I need consistent logic patterns. I need governed extensibility. I need local-first options where privacy or cost demands them, and hosted frontier capability where the task requires it. I need the organization, not the vendor, to own the rules.

That is a fundamentally different product thesis from most of what is on the market today.

Why I’m building “One Desktop Client to Rule Them All”

This is the reason behind my “One Desktop Client to Rule Them All” project.

After testing the current field across ChatGPT, Claude, and local models, I came away with respect for what has been built, but also with clarity about what is still missing.

I am not building this project to judge the market.
I am building it because the problem is now obvious to me.

My organization does not need another siloed AI client. It needs a unified desktop layer that can abstract across providers without losing control, encode reusable logic patterns instead of ad hoc prompt rituals, apply governance as a first-class design principle, support enterprise extensibility without turning into plugin chaos, and bridge personal productivity with organizational standardization.

That is the gap I see.
That is the problem I am solving.

As someone driven by innovation, I would rather build the missing layer than complain about it. The future winner in this category will not be the client with the prettiest UI or the longest integration list. It will be the one that turns AI from a collection of clever desktop experiences into a governable, extensible, repeatable enterprise system.

That is the bar.
And that is the bar I am building for.

By Stephen Turner profile image Stephen Turner
Updated on
Vibe Code blog