DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Tool Failure Circuit Breaker — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
T

dsh-tool-failure-circuit-breaker

Tool Failure Circuit Breaker

DeepSeek Harness plugin that blocks repeated identical failed tool calls

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:icyaaaww/dsh-tool-failure-circuit-breaker#75e9ac872631ccf1c4f9c772abc62acffed75125
READMECompatibilityVersions

Compatibility and provenance

Tool Failure Circuit Breaker is published as dsh-tool-failure-circuit-breaker and currently resolves to version 0.1.0. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
any
Release source
github
Registry updated
8/24/2026

Versions

0.1.0stable
8/24/2026

Related plugins

Loading related plugins…

Latest
0.1.0
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
any
License
MIT
Source
github
GitHub
★ 0
Weekly downloads
0
Last push
8/24/2026
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in developer-tools.

Web App@deepseek-ai/dsh-web-appThe dsh browser-surface bundle: the web patch layer over dsh-base plus the runtime glue plugin (frontend dist serving, web-surface prompt, bash runtime variables, URL line)Sdk Minimal@deepseek-ai/dsh-sdk-minimalThe standalone minimal SDK profile bundle: JSON-RPC, one DeepSeek adapter, persistent shell, and JSONL sessionsSdk App@deepseek-ai/dsh-sdk-appThe dsh SDK profile bundle: stdio JSON-RPC serving and process lifecycle over dsh-baseSubagent Codex@deepseek-ai/dsh-subagent-codexOne-shot Codex subagent provider over the official app-server protocol

README

dsh-tool-failure-circuit-breaker

A DeepSeek Harness guard plugin that stops an agent from dispatching the same tool with identical arguments after that call has already failed repeatedly. It saves tool latency, network requests, command execution, and provider cost when a model retries an unchanged operation that cannot succeed.

The plugin is deliberately narrower than the official @deepseek-ai/dsh-repeat-tool-reminder: the official plugin advises on every repeated call but never blocks one. This plugin observes only authoritative failed tools/result outcomes and denies the next identical dispatch after a configured threshold.

The package targets and has been composed against DeepSeek Harness 0.1.1-rc.2.

Install

From this checkout's parent directory:

dsh plugin --profile web add ./dsh-tool-failure-circuit-breaker

For a source checkout of Harness, replace dsh with pnpm dsh.

Configuration

The included bundle inserts this row:

- id: tool-failure-circuit-breaker
  name: dsh-tool-failure-circuit-breaker
  config:
    maxFailures: 2
    include: []
    exclude: []
    errorPreviewChars: 300
  • maxFailures: completed identical failures allowed before the next attempt is denied. Default: 2.
  • include: * wildcard tool-name patterns to guard. Empty guards every tool.
  • exclude: * wildcard tool-name patterns that bypass the guard.
  • errorPreviewChars: maximum characters from the latest failure repeated in the denial. Default: 300.

Use exclude for tools whose intended contract requires unchanged polling calls.

Behavior

Failure chains are isolated per live agent and keyed by tool name plus canonical JSON arguments. Object key order does not change identity. A successful tool result, a new user message, or a failed call with different arguments opens the previous circuit. Calls made without an agent are ignored.

The guard listens at tools/pre-execute, so a denied retry never reaches the tool body. It observes the immutable tools/result event and does not count its own denial as another operational failure.

When open, the model sees its original tool error. Once blocked, it receives:

The identical <tool> call already failed <count> consecutive times. Last failure: <message>. Change the arguments or approach, inspect external state, or ask the user instead of retrying unchanged.

The denial is recorded as the normal tool result, so replay and model history remain consistent with Harness behavior. The plugin adds no tool schema and no tokens until it blocks a call.

Test

npm test

Limitations

  • State is in memory and resets when the process or plugin restarts.
  • Already-dispatched parallel calls may all fail before the threshold can block a later call.
  • Exact canonical argument matching does not detect near-identical retries.
  • Blocking is opt-in by installing the bundle; choose exclusions for legitimate repeated probes.