DeepSeek Harness Modes: Standard, PTC, Minimal & Creator
A practical decision guide to DeepSeek Harness Standard, PTC, Minimal and Creator modes: what each preset changes, which tasks fit, and where the safety boundaries really are.
On this page
Which DeepSeek Harness mode should you use?
For most repository work, start with Standard. Choose PTC when the model needs to combine a known sequence of tool calls inside one TypeScript program. Choose Minimal when you deliberately want only persistent bash plus str_replace_editor. Choose Creator when the job is inspecting the runtime, experimenting with plugins, or drafting a custom agent preset.
Verified against 0.1.2-alpha.5 (2026-09-03). DeepSeek Harness calls these built-in agent presets in the current Web UI; changing a preset changes a session's model-facing composition, not the underlying DeepSeek model itself.
The four built-in modes compared
The useful distinction is not “which mode is strongest?” but “what tool surface should this session expose?” More tools are not automatically better; the right preset reduces unnecessary surface while keeping the operations the task needs.
Standard
Use when: Default choice for normal coding and repository work
Main change: Full documented coding-agent toolset: editing, shell, file/web search, skills, planning, goals, subagents and workflows
Do not default to it when: You specifically need a narrower or code-orchestrated surface
PTC
Use when: Multi-step mechanical work where several tool calls can be composed
Main change: Full coding agent without the workflow tool; other tools are exposed through the PTC SDK and can be combined in model-written TypeScript
Do not default to it when: The task is simple, highly interactive, or you do not want model-written code execution
Minimal
Use when: Benchmarking, constrained experiments, or intentionally small tool surfaces
Main change: Only persistent bash and str_replace_editor
Do not default to it when: You need search, subagents, planning, workflows or richer built-in tools
Creator
Use when: Building or testing a custom agent preset
Main change: Standard capabilities plus runtime inspection, plugin experiments and preset-authoring guidance
Do not default to it when: You just want to edit code in a normal repository
Fast decision rule
- 01
Are you creating or changing an agent preset?
Use Creator.
- 02
Do you intentionally want only bash + str_replace_editor?
Use Minimal.
- 03
Would the task benefit from packaging several tool operations into one TypeScript program?
Consider PTC.
- 04
Otherwise
Use Standard.
One task, two execution styles: Standard vs PTC
Suppose you ask DSH to find every API endpoint used in a repository, read the relevant files, group the endpoints, and return a compact report. Both modes can solve it, but the model-facing interaction pattern can differ.
Standard mode — tool calls stay explicit
search repository
→ model reads search results
→ read relevant files
→ model inspects file contents
→ repeat as needed
→ aggregate findings
→ answerPTC mode — orchestration can move inside run_code
model writes TypeScript
→ run_code({ search → read → filter → aggregate })
→ compact outer result
→ answerPTC does not guarantee fewer tokens or faster execution for every task. Its main architectural advantage is that intermediate binding calls and values can stay execution-local while the model receives the outer run_code result. On short or judgment-heavy tasks, Standard can remain simpler and easier to inspect.
What each mode is actually for
Standard: the normal starting point
Standard is the least surprising choice for day-to-day coding. The current UI describes it as the full coding agent with file editing, shell, file and web search, skills, planning, goals, subagents and workflows. Use it when you want each operation to remain visible as an ordinary tool interaction and you have no specific reason to narrow or repackage the tool surface.
PTC: code-orchestrated tool use
PTC is still a coding-agent preset, but its presentation changes. The current UI says the workflow tool is removed and the other tools are exposed through the PTC Mode SDK so the model can combine multi-step operations in one TypeScript program. The shipped implementation requires a code runtime and uses run_code as the model-facing entry point for that orchestration.
Do not treat the shipped TypeScript worker as a security sandbox. The current official runtime documentation explicitly calls it containment, not a security boundary, with bash-equivalent trust. It uses a fresh Node worker, empty environment, heap/output/time budgets and hard termination, but model-written code can reach Node APIs and processes spawned by that code can outlive worker termination. DSH tool bindings still have their own tool semantics; the runtime itself is a separate trust consideration.
Minimal: deliberately small, not “lite Standard”
Minimal composes only persistent bash and str_replace_editor. Official implementation notes are explicit that cross-session services such as browser UI, workspace attachment, persistence, subprocess handling, sandbox, permission and model routing stay host-owned. In other words, selecting Minimal narrows one agent's model-facing composition; it does not turn the whole DSH process into a different product.
Read the Minimal Mode deep dive →
Creator: for making another preset
Creator is aimed at preset authoring rather than ordinary coding. The current UI describes Standard capabilities plus runtime inspection, plugin experiments and preset-authoring guidance. A useful mental model is: experiment with the composition, inspect what is mounted, then persist the useful result into your own preset files rather than treating an in-memory experiment as the finished configuration.
Mode, model, Profile and permissions are different layers
This distinction prevents a lot of configuration confusion. A built-in mode is an agent preset: it controls the model-facing composition for a session. It does not by itself pick a different LLM. Host-level services and provider availability are composed elsewhere, and permission/sandbox behavior is not defined simply by the word Standard, Minimal or Creator. The clearest official example is Minimal: its source note says model routing, sandbox and permission remain host-owned even though the agent tool surface becomes much smaller.
Mode / preset
Which tools and agent composition the session receives.
Model
Which LLM the session routes requests to.
Profile / host composition
Which process-level packages, providers and host services are available.
Permissions / sandbox
What operations require approval or are constrained at the host/tool layer; not equivalent to selecting a preset.
When the built-in modes are not enough
The current Web UI supports Built-in and Custom presets. DSH can duplicate a preset on the local machine; the identifier becomes the preset directory name and cannot be renamed later, while the copied files can be edited. Existing sessions keep the preset they started with, so test changes in a new session. Creator can help draft a custom preset, but the result should be reviewed like code/configuration before you depend on it.
Open the Agent Preset reference guide →
Recommended path for most users
Use Standard for your first real task. After you understand the normal tool flow, try PTC on a repeatable multi-step operation, Minimal when you intentionally want a constrained environment, and Creator only when you are ready to own a custom composition. This makes mode changes a response to a concrete workflow requirement rather than a guess that a different preset must be more powerful.
DeepSeek Harness modes FAQ
Is PTC mode always better than Standard?
No. PTC is useful when code can orchestrate multiple tool operations compactly. Standard is usually easier to inspect and is a better default for ordinary interactive coding.
Does changing the mode change the DeepSeek model?
No. The mode is an agent preset/tool composition. Model routing is a separate layer.
Is Minimal mode safer because it has fewer tools?
It has a smaller model-facing tool surface, which can reduce what the agent can directly invoke, but host-owned sandbox, permission and other services remain separate. Do not equate “fewer tools” with a complete security boundary.
Is PTC run_code sandboxed?
The shipped worker provides containment and resource limits, but the official alpha.5 documentation explicitly says it is not a security boundary and gives model code bash-equivalent trust.
Can I switch a running session from Standard to Creator?
Preset changes apply to new sessions. Existing sessions keep the preset they started with.
Should I edit a built-in preset directly?
Prefer duplicating it into a Custom preset, then edit and test the copy so upstream built-ins remain a clean reference.
Agent preset UI copy · PTC tool presentation · PTC TypeScript runtime · Minimal composition note