DeepSeek Harness just got another update. RC.8 landed two days after RC.7, and it’s not just a bug-fix release. This one changes how the whole thing works.
The short version: DeepSeek Harness is turning into a dispatch layer for AI agents. You give it a task, it works out which agent should handle which part, and it calls in the right tools, including Claude Code and Codex, as needed. RC.8 makes that a lot more real.
That dispatch behavior is a long way from where this started. My first run with the original release went very differently.
If you haven’t installed it yet, the setup took me about ten minutes and cost almost nothing. So trying it isn’t a big commitment.
Multimodal input is finally here
You can now feed images into Harness alongside text. The DeepSeek model adapter supports native image requests, and core commands like /goal and /plan handle mixed text-and-image input. The @ menu also lets you reference local files and past session history.
If you’d rather know what it does before installing anything, I wrote that up already: what DeepSeek Harness actually does, plugin model and all.
So if you’re staring at a UI mockup and want the agent’s read on it, you drop the image in. No more writing three paragraphs trying to describe what a screenshot already shows. That sounds like a small thing until you’ve spent ten minutes describing a layout in words.
I tried this on a settings screen I was rebuilding. Instead of pasting a wall of text about padding and alignment, I dropped the PNG in and asked which elements looked off. The model caught a contrast problem I’d missed, the kind you only notice once it’s on a phone screen in sunlight. That’s the real win of multimodal input. You stop translating the world into words for the machine and just show it the world.
Claude Code and Codex are now first-class teammates
This is the big one.
In RC.7, Codex and Claude Code subagent tasks showed up in the Job Panel. You could watch them run. RC.8 goes further: both can now be installed on demand as Profile Bundles. Codex also supports non-interactive permission modes and multiple named instances.
In practice, Harness is no longer a tool that uses Claude Code or Codex. It’s a tool that orchestrates them. You define the workflow, Harness breaks the task down, and it spins up the right coding agent for each piece. Claude Code takes one part, Codex takes another, and Harness manages the handoffs.
I think that’s the most interesting direction in agent tooling right now. Instead of picking one agent and marrying it, you build something that reaches for the best tool per job. Harness is betting that’s where this ends up.
The thing I’d watch is what it does to your debugging life. One agent doing a bad job is annoying. Three agents passing work between each other is a different kind of hard, and “which one actually broke this?” stops being an obvious question. Named instances help there, at least you can tell them apart in the logs.
There’s a softer cost too. When one agent does the work, you know its habits. You learn where it cuts corners. With three swapping tasks, that intuition never forms, because the work feels like weather. My advice if you use this seriously: keep your tasks small and your logs open. The moment something looks wrong, you want to see which instance touched it, not guess.
Tool calls got smarter
The web_search tool now supports concurrent queries. If you need several sources at once, they go out in parallel instead of one after another.
There’s also a new reportDelivery mechanism for subagents. When a subagent finishes, it can report back immediately and wake the parent task rather than making it wait its turn. For long chains, search a pile of sources, then summarize, that’s the difference between a snappy run and a coffee break.
Windows users get some love
The Windows PTY terminal now supports persistent PowerShell sessions, and it’s on by default in the Minimal preset. Installation and startup are smoother too: smaller download, and running dsh web locally now opens your browser for you.
Honestly? That auto-browser thing is small but nice. I hate copying localhost URLs by hand.
What changed under the hood
RC.8 squashes a few annoying things. Image size problems that were causing model requests to fail. A bug where cancelling streamed generation didn’t carry the displayed response prefixes into your follow-up prompt. Compatibility issues with some custom OpenAI-compatible gateways.
The Python SDK was updated to cover all four built-in Agent Presets, with dependencies for rg/glob search and MCP stdio tools.
Of those, the gateway compatibility fix is the quiet one I’d care about if you self-host a model. Custom OpenAI-compatible endpoints are where a lot of people run local or cheaper inference, and when Harness chokes on the response shape, the whole run dies for a reason that has nothing to do with your task. Fewer of those dead ends means fewer afternoons lost to a mystery stop.
What I actually think
RC.8 isn’t really about any single feature. It’s about direction.
DeepSeek Harness is quietly turning itself into the operating system for AI agents. It doesn’t much care which model you use or which coding agent you prefer. It just needs to be able to call them, manage them, and stitch their work together.
Two days between RC.7 and RC.8 is fast. Really fast. That tells me the team is shipping against real feedback instead of a marketing calendar.
My one habit with releases this close together: finish what you have running before you pull. Two releases in two days is a good sign about the team and a warning sign about the surface area. If something in your setup breaks, you want to find that out on a Tuesday afternoon, not at midnight in the middle of a refactor.
I’m not fully sure where this ends up. Does Harness become the default way people orchestrate multiple agents, or do we end up with smaller tools that each do one thing well and never talk to each other? Hard to say. Every “platform” bet in this space has looked obvious right up until it didn’t.
But I’ll keep watching. This one’s worth paying attention to.