DeepSeek Harness built-in tools: DSH plugin tool catalog

Configuration & UsagePublished 2026-10-03Author: DeepSeek Plugin Market
DeepSeek HarnessDSH pluginbuilt-in toolstool-catalogconfiguration
DeepSeek Harness tools come from DSH plugins registering into ctx.tools; the tool catalog lists every model-facing tool's name, description, and parameters.

DeepSeek Harness has no hardcoded "built-in tool list" — plugins register tools into ctx.tools, and the official tool catalog (tool-catalog) lists every model-facing tool published plugins provide, with its name, description, and JSON Schema parameters (source). This article covers where tools come from, which ones are common, and how to check and add them per profile.

Where DeepSeek Harness built-in tools come from: plugins and ctx.tools

Tools are not functions hardcoded in the kernel; they are definitions plugins register into ctx.tools, and the tool pipeline dispatches calls by those definitions inside the agent loop (source). Key mechanics:

  1. Registration and dispatch — one registered tool consists of a ToolSchema, a required canonical output declaration, an execute function, and host-only dispatch metadata. Expected: the model sees only the schema; execution details stay on the host side.
  2. Model visibility is allow-listed — the registry's schemas() builds the model-facing ToolSchema[] from an explicit allow-list; output, execute, projectContent, timeoutMs, and presentCall never leak into model requests. Expected: what a tool can do and what the model sees are two different things.
  3. Names can be load-time config — for example tool-subagent's toolName, so one plugin may be exposed under different or additional names in different deployments. Expected: when comparing with the official catalog, factor in your profile's actual configuration.

Common built-in tools, grouped by source package

The official tool catalog covers the shipped product tools under packages/*/tool-*, each listed started with its default configuration (source). Common ones:

  1. Files and search — read, write, edit, read_image (from dsh-tool-fs), and glob, grep (from dsh-tool-fs-search). Expected: the workhorses for reading, writing, and searching project files.
  2. Command execution — bash (Linux / macOS) and pwsh (Windows), plus persistent shell variants. Expected: running builds, tests, and scripts.
  3. Precise editing — str_replace_editor. Expected: replaces by text snippet, so changes are more controllable; note it is not mounted by default in minimal profiles, see Call DeepSeek Harness from Python.
  4. Web capabilities — web_search, web_fetch. Expected: search and fetch web content.
  5. Interaction and planning — ask_user_question, todo_write. Expected: asking you questions and maintaining a task list.
  6. Goal management — create_goal, get_goal, update_goal. Expected: managing the state of long-running goals.
  7. Scheduling — schedule_create, schedule_list, schedule_update, schedule_delete. Expected: in-session reminders; see Enable DeepSeek Harness scheduled tasks.
  8. Skills and subagents — skill, plus subagent delegation and control tools. Expected: loading skills and delegating work; see Use DeepSeek Harness subagents.
  9. Background jobs — job_list, job_output, job_kill, and more. Expected: viewing and controlling long tasks; see Handle long-running DeepSeek Harness tasks.
  10. MCP resources and code intelligence — list_mcp_resources, read_mcp_resource, list_mcp_resource_templates, and lsp. Expected: reading MCP server resources and querying language services.

How to check which tools a profile actually exposes and how to add tools

The tool set varies with the profile composition; the official catalog starts each tool plugin with its default configuration, and if a config field is required with no default, the generator must make a choice and record it in that package's notes (source). Look up and extend:

  1. Start with the official catalog — look up name, description, and parameters by package and tool name. Expected: first confirm whether the tool exists and what its parameters are.
  2. Then compare with your profile — which tools you can actually use depends on the plugins that profile loads and the permission policy. Expected: a tool in the catalog is unusable if your profile lacks its plugin.
  3. To add a tool, install a plugin — get the plugin providing it into your config tree. Expected: browse community plugins on DSH Plugin Hub, then install per profile.
  4. Verify — afterward send a task that should trigger that tool. Expected: you can see it called in the session.

Notes and common questions

  1. Do not treat it as a fixed list: tools change with plugins and profiles, and the official catalog updates with versions.
  2. Names may be rewritten by config: deployments can alias tools, so trust your profile's actual behavior when troubleshooting.
  3. Executable is not the same as model-visible: host-only metadata never enters model requests, so do not infer a tool does not exist from "the model did not see it".
  4. Want to know which plugins provide tools: see Which items a DeepSeek Harness plugin can configure.
  5. Minimal profiles have few tools: sdk-minimal ships only a persistent shell by default and needs the filesystem and editor added back manually.

Sources: Tool schema catalog (official docs), Tools subsystem (official docs)

FAQ

What built-in tools does DeepSeek Harness have?

DeepSeek Harness has no hardcoded list: plugins register tools into ctx.tools, and the official tool catalog lists every model-facing tool published plugins provide. Common ones include read, write, edit for files; glob, grep for search; bash, pwsh for commands; and web_search, web_fetch, skill, todo_write.

Where do DeepSeek Harness tools come from and how are they registered?

DeepSeek Harness tools are provided by plugins; once registered into ctx.tools the tool pipeline dispatches calls during the agent loop. The registry builds the model-facing ToolSchema[] from an explicit allow-list, so host-only metadata such as output and execute never leaks into model requests.

How is the DeepSeek Harness tool catalog (tool-catalog) generated?

The DeepSeek Harness tool catalog's English source file is generated by scripts/gen-tool-catalog.ts. The generator starts every tool plugin in a real context and reads ctx.tools.schemas(), because tool schemas cannot be determined by static analysis alone; a completeness guard globs packages/*/tool-* and fails on any omission.

Why can the same tool have different names across deployments?

Because in DeepSeek Harness registered tool names can be load-time config, such as tool-subagent's toolName, so a deployment may expose a package under a different or additional name. Where a product-shipped alias exists, the official docs record it in that package's notes.

How do I add a new built-in tool to DeepSeek Harness?

To add a tool to DeepSeek Harness, install a plugin that provides it: once the plugin registers the tool into ctx.tools it becomes available. Browse community plugins on DSH Plugin Hub, then install it into your profile and verify.

Related Terms

ctx.tools
ctx.tools is the tool registry service of DeepSeek Harness; plugins register tool definitions here, and which tools appear in model requests is decided by its schemas() through an explicit allow-list.— DeepSeek Harness Documentation - Tools subsystem
ToolSchema
ToolSchema is the model-facing protocol type of a tool, containing name, description, and JSON Schema parameters, declared with the model request; the tool registry builds it from the allow-list.— DeepSeek Harness Documentation - Tools subsystem
tool-catalog
tool-catalog is the generated tool schema catalog of DeepSeek Harness; it lists every model-facing tool published plugins contribute to ctx.tools, and its generator actually starts each tool plugin to read the schema.— DeepSeek Harness Documentation - Tool schema catalog
ToolDefinition
ToolDefinition is the full definition of one registered tool: ToolSchema, the required canonical output declaration, the execute function, host-only dispatch metadata, and optional content callbacks and UI presentation functions.— DeepSeek Harness Documentation - Tools subsystem

Sources