Two robots compare DeepSeek Harness and Claude Code while building a Flask app on Windows.
DeepSeek has its own agentic coding tool now, and one developer has run it against Anthropic's Claude Code on the same small task. The result is a little surprising. In XDA Developers' hands-on test, DeepSeek Harness and Claude Code wrote byte-identical code. Reviewer Joe Rice-Jones found the real differences elsewhere: how each tool reaches into your PC, how much of its work it shows you, and what it sends back to the company that makes it. For Windows developers, those differences matter more than one matching diff.

Two robots compare DeepSeek Harness and Claude Code while building a Flask app on Windows. What DeepSeek Harness actually is​

DeepSeek Harness, called dsh in its own documentation, is not a model. It's the runtime that sits around a model. The New Stack reported that DeepSeek open sourced the DeepSeek Harness, a new agent runtime for developers. The Node.js-based harness is now available on GitHub as a developer preview and under an MIT license. The project's main idea is that the model adapter, the tool registry, the session log, and the agent loop itself are all plugins — and each one is replaceable.

DeepSeek's architecture document says the same thing in its own words. Every part of the product is a plugin, so each part can be swapped out through configuration. There is no privileged core to patch. It's all built on a framework called Cordis.

Windows support is official. A CellCog explainer says that on October 2 its main account announced packaged apps for macOS and Windows. It also points out something worth remembering before you let any agent loose on a work machine: it is MIT-licensed and in developer preview, and its own safety notice says it has not had a security audit.

Installation options​

According to XDA, you can install it three ways:

  • From source, by cloning the GitHub repository.
  • Through Node, which starts a Web UI on a local address. A community guide gives the quick-start command as npx @deepseek-ai/dsh web and open the local Web UI.
  • As a desktop app for macOS or Windows. Rice-Jones used this one. XDA notes that the Node package bundles its dependencies, so you don't have to manage them yourself.

On first run, the harness creates a DeepSeek API key. You aren't locked to DeepSeek's models, though. XDA says you can add keys from other providers, custom endpoints, or local LLMs.

Section summary: DeepSeek Harness is an open-source, plugin-based agent runtime in developer preview. It runs on Windows as a native app, and DeepSeek says it hasn't been security audited yet.

Four modes, all built from plugins​

XDA describes four built-in modes, each one a bundle of plugins:

ModeWhat it's for (per XDA)
StandardGeneral work with code, files and information
PTCStandard's capabilities, aimed at batched tool calls followed by filtering, deduplicating or summarizing the results
MinimalTerminal and image reading with context compaction, useful for baseline performance comparisons
CreatorBuilding plugins and customizations for the harness itself

A note on naming: XDA writes "PCT," but DeepSeek's documentation calls the mode PTC. The upstream preset docs also add a detail XDA left out. With Coding Tools switched off in General Settings, the picker offers only Standard, Creator and custom presets. PTC and Minimal show up only when Coding Tools is on. If you can't find them, check that toggle first.

The New Stack says the difference between the ends of the range is large. Standard mode gives developers the full coding agent, with filesystem tools, shell access, web search capability, subagents, and a plan mode. On the other end, Minimal strips this down to only two tools, bash and str_replace_editor.

Why Windows users should care about the shell​

XDA reports that on Windows, the harness uses a PowerShell plugin instead of Bash. DeepSeek's shell documentation confirms this. It lists a pwsh-local executor that runs commands as fresh pwsh -Command processes, and a separate pwsh-sandbox executor that confines commands through the sandbox capability. Each setup mounts only one executor.

That choice matters. In the local variant, commands run with the same authority as the harness process. "Workspace Write", the default XDA used, is a permission policy. Don't assume it's full isolation.

XDA also says the harness reads agent instructions from both CLAUDE.md and AGENTS.md. If you already keep instruction files for other agents, the harness can use them as they are. Configuration lives in a YAML file, and a button in the UI opens it in your editor.

Section summary: The modes are just plugin bundles. Windows gets PowerShell instead of Bash, and you should check which executor is actually running before you trust it with a repository you care about.

The test: same prompt, same code​

Rice-Jones made two fresh clones of a small Flask notes API. Each had app.py, a tests.py suite with four tests, a requirements.txt, and its own venv. Fresh clones meant neither agent could see traces of the other. Both tools ran on default settings:

  • DeepSeek Harness: DeepSeek V4.1 Flash 1017, Standard mode, Workspace Write, High reasoning
  • Claude Code: Opus 5.5 High, Auto mode

Each agent got the same prompt and was limited to its own repo folder. The prompt asked it to use the venv, run the existing tests and report the result, add a GET /api/ping endpoint returning {"status": "ok"} as JSON, add a test for it, and rerun the suite until everything passed.

The numbers XDA reported:

MetricDeepSeek HarnessClaude Code
Time~15 seconds~21 seconds
Approval promptsNoneNone
Total tokens80,367240,248
Cache hit rate82%92%
Output tokens~1,000~1,000

Rice-Jones checked both files for size and correctness, and the code was byte-identical. He reads the token gap as a sign that Claude Code sends a larger harness prompt.

Keep this test in perspective. It was one trivial task with two models that aren't comparable, and Rice-Jones says so himself. The token figures tell you something about how much overhead each harness adds. They don't settle which agent writes better code. DeepSeek's claim that V4.1 Flash is its best agentic coder is also still the company's claim. DeepSeek's V4.1-Flash announcement says with a DeepSeek API key, both Flash and Pro versions of V4 are selectable inside a session in earlier builds. The official news page says V4-Flash has since been retired, with older model names temporarily routed to V4.1-Flash.

Section summary: On a tiny Flask change the two agents produced the same code. DeepSeek's run used about a third of the tokens. That's an anecdote, not a benchmark.

Trajectory: the feature that sets it apart​

XDA's favorite feature is a Trajectory tab. It shows up as a chat goes on and gives a readable timeline of the whole run: tool calls, injected context, and system, user and assistant actions. Claude Code, by contrast, showed Rice-Jones a "Cogitated for 21s" note and a one-paragraph summary. Claude Code does keep detailed logs, but they're JSON files you have to find and parse yourself.

The design behind this is documented. DeepSeek's session package records every model-visible fact in an append-only log, and that log can be inspected, replayed and forked. The project's rule is "model-visible means logged": every model request has to be reconstructable from the log.

This has real value when an agent breaks something. You can see which tool call failed and what context was in play, which beats asking the agent to fix an error it can't describe.

Privacy: change these settings first​

This is the section to act on. XDA found telemetry and analytics on by default. There's a toggle in Settings that stops uploading session logs when you use DeepSeek's official API.

DeepSeek's own documentation shows why that toggle matters. Its wire-extension reference says the dsh_session_log field is enabled by default on qualifying requests to the official API. Unless it's disabled, that field may expose:

  • Your session working directory
  • System prompts
  • User and assistant messages
  • Tool arguments and results
  • Compaction summaries and feedback

Requests also carry a stable anonymous ID for your Harness install. The documentation adds that a custom gateway set through baseURL receives the same data the official endpoint would.

For settings that don't have a toggle, XDA says to edit cordis.patch.yml, the file behind the Open configuration file button in Settings. XDA's steps:

  1. Open the configuration file from the Settings pop-up.
  2. At the end of the file, add entries for desktop-product-telemetry, product-analytics and session-telemetry-otel, each set to disabled: true. XDA says to indent them by two spaces only.
  3. Save the file and restart the harness. XDA says the file isn't locked, but the settings likely won't apply until a restart.

The entries XDA reported:

Code:
- id: desktop-product-telemetry
  disabled: true
- id: product-analytics
  disabled: true
- id: session-telemetry-otel
  disabled: true

Two caveats. First, the exact indentation above is not confirmed against DeepSeek's documentation for every build, so match the format of the rows already in your file. Second, Rice-Jones says he didn't run any packet analysis. Even with a local model, nobody has independently verified what leaves the machine. If your code is covered by policy, check the traffic yourself before trusting the setup.

Bottom line​

DeepSeek Harness doesn't beat Claude Code on code quality. On this one test, they tied. What it offers is ownership. It's MIT-licensed, every part is replaceable, it can run Anthropic's models or a local one, and it shows you everything it did. For developers who want to see and control their agent, that's a serious offer.

The trade-offs are just as clear. It's an unaudited developer preview, and telemetry is on until you turn it off. Install it, switch off the session-log upload, check the YAML, and only then point it at code you care about.

Have you swapped Claude Code for DeepSeek Harness on Windows, or are you running both? Share your setups and any telemetry findings in the forum's AI development and Windows security threads.

 

References

  1. I tried DeepSeek's agent harness, and it's not the Claude Code clone I expected XDA 2026-10-19T14:30:19+00:00
  2. README.md github.com
  3. architecture.md github.com