Does the Agent Harness Really Matter?

6 min read

Over the past year, I have used Codex, Claude Code, T3 Chat, Conductor, Pi, OpenCode, and Superset.sh for different kinds of coding work. Some were better suited to quick changes in a single repository, while others worked better for long-running tasks, parallel agents, and changes that needed separate review paths.

That experience made it difficult to judge an agent by the model alone. When an agent produced bad code, misunderstood the repository, or lost track of a task, I used to assume the model was the problem. In practice, the harness was often just as important.

The model is only one part of the experience. The harness determines how the agent reads a repository, runs commands, manages context, and handles longer tasks. I have seen capable models feel awkward in one setup and work remarkably well in another.

I Was Comparing Different Things

I used to put all AI coding products in the same category. Now I separate them into a few layers.

The first is the model. At the time of writing, Claude Fable 5 is the best model I have used, and GPT-5.6 Sol is close behind it.

Claude Code, Codex, Pi, and OpenCode are closer to what I mean by an agent harness. They control how a model works with files, tools, commands, permissions, and context.

Conductor and Superset.sh sit at another layer. They organize agents, tasks, workspaces, worktrees, and reviews. This becomes important once I have more than one task running or need to keep a change separate from the rest of the repository.

T3 Chat has a different place in my workflow. I use it for short snippets and coding questions that do not need a repository workspace.

Once I made this distinction, asking which tool was best stopped being useful. I first needed to know which layer I was choosing.

Layer

What it changes

Tools I use or have tried

Model

Reasoning and output quality

Claude Fable 5, GPT-5.6 Sol

Agent harness

How the model reads files, uses tools, runs commands, and manages context

Claude Code, Codex, Pi, OpenCode

Orchestration and workspace

How tasks, worktrees, agents, and reviews are managed

Conductor, Superset.sh

Lightweight chat

Quick coding questions without opening a repository workspace

T3 Chat

Model Quality and Model Availability Are Different Problems

I currently have 20x subscriptions from both providers. Based on output quality alone, I would pick Fable 5 first and GPT-5.6 Sol second. In practice, Fable 5's usable limits feel much lower than Sol's.

That affects a normal workday. If I have to ration a model, I am less likely to give it exploratory or long-running work. Sol is slightly behind Fable 5 for me, but its limits make it easier to use daily.

This opinion will probably age quickly. Models, limits, and subscription plans change. I do not want to rebuild my workflow every time the ranking changes. Switching between Codex and Claude Code is more useful than committing everything to the current winner.

Why I Keep Using Conductor

Conductor is currently the app I use most often for serious agent work. It does not improve the underlying model. What it improves is how I organize the work.

I can keep each task in its own workspace with a separate branch, worktree, files, context, and agent session. A feature, a bug, and an experiment no longer need to share one long conversation. I can leave one task running, move to another, and come back without trying to remember which terminal tab belongs to which change.

This context separation is what I mean when I call Conductor more token-efficient. I have not benchmarked its token usage against every other tool, so I am not claiming that it always spends fewer tokens. My experience is simpler: a task carries less unrelated context, and I repeat myself less often.

I also get a clearer view of who is doing what. When Codex and Claude Code run in parallel, their task, workspace, changes, and review flow stay connected. I trust this more than several unrelated terminal sessions.

For me, this management is part of the quality of an agent workflow. The generated code still matters most, but so does being able to find, review, and safely merge it afterward.

Where Conductor Helps, and Where It Adds Weight

What helps

  • Isolated context and workspaces
  • Visibility across parallel tasks
  • A review flow connected to each change

Where it adds weight

  • Worktree overhead for tiny changes
  • More structure than a small project needs
  • Too much setup for a five-minute question

What Happened With Pi, OpenCode, and Superset.sh?

I tried Pi, OpenCode, and Superset.sh at different times. Pi appealed to me because it was minimal and adaptable. OpenCode gave me another harness for working directly with a repository, while Superset.sh focused more on managing agents, branches, and worktrees.

I liked ideas in all three, but I did not reach the same level of trust with them. In my time using them, flows sometimes broke or sessions did not continue as I expected. I occasionally had trouble seeing what an agent was doing or where a task had stopped. I also spent more time than I wanted on setup and maintenance.

These tools move fast, so this is not a claim about how they work today. It is simply why I did not keep using them as my main environment. Trying a tool for a few days and relying on it for everyday work are different experiences.

Conductor Can Be Too Much for Small Work

I like the isolation Conductor provides, but I do not need it for every task.

A separate workspace and worktree make sense for a feature, a risky refactor, or several parallel tasks. They feel excessive for a tiny project or a five-minute change. In those cases, I prefer T3 Chat right now.

I asked the Conductor team on X whether they were considering a basic mode without worktrees for simple projects.

https://x.com/afatmus/status/2064831477762883903

They told me it was on their roadmap. I do not treat a social media reply as a release commitment, but that mode would fill a real gap in my workflow. I would like to keep Conductor's task management without creating an isolated worktree when the task does not need one.

Does It Matter, Then?

Yes, but I do not think there is one harness that is right for every job.

For small coding questions and focused work in a single repository, I currently use T3 Chat; I used to reach for Claude Code or Codex directly. T3 Chat can also handle long tasks, parallel agents, and changes that need separate review paths, but for now, Conductor remains indispensable to me.

I started with the assumption that choosing the smartest model would solve most of my problems. Now I pay just as much attention to context, limits, task size, and how I will review the result.

My current setup will probably change again. Right now, GPT-5.6 Sol gives me the best balance between quality and usable limits, Fable 5 is the model I prefer when I have access to it, and Conductor is where I manage the work that is large enough to need its own space.