What Harness plugins are

An AI agent is only as useful as the things it can reach. Harness on its own can read and write files in your chosen folder and run commands there. A plugin adds new tools, actions the agent can choose to use, such as "search the web", "open a pull request", "send a message" or "run this SQL query".

DeepSeek describes Harness plugins as composable. You can turn on several at once, and the agent decides which to use for each step. A single task can read your files, look something up online, update a spreadsheet and post a summary to your team.

Adds

New abilities

Each plugin gives the agent one or more tools it can use.

Combines

Composable

Turn on several plugins and the agent uses them together in one task.

Open

Build your own

Harness is open source, so you can write plugins for your own tools.

How plugins work

Every plugin tool has a name, a plain-language description of what it does, and the inputs it needs. The model reads those descriptions and decides when a tool is the right next step, the same way tool calling works in the DeepSeek API. The plugin carries out the action and returns the result, and the agent carries on from there.

Types of plugins

What's available depends on your Harness version and on what the community has built. These are the most common kinds of plugin and what they make possible:

TypeWhat it lets the agent doExample task
🌐 Web - browserSearch the web, open pages, read their content"Find today's exchange rates and update rates.xlsx."
πŸ”€ Git hostingCreate branches, open pull requests, read issues and review comments"Fix issue #42 and open a pull request." (coding)
βœ‰ EmailRead, search and draft emails"Draft replies to this week's unanswered customer emails."
πŸ“… CalendarCheck availability, list upcoming events, draft invites"Summarise my meetings tomorrow and what to prepare."
☁ Cloud storageRead and save files in online drives"Pull the latest reports from the shared drive." (documents)
πŸ—„ DatabasesRun read-only queries and summarise the results"How many orders did each region have last month?" (spreadsheets)
πŸ’¬ Team chatPost summaries or alerts to a channel"Post the nightly test report to the dev channel."
πŸ“‹ Project toolsRead and update tickets, tasks and boards"Create tickets for each action item in these notes."
βš™ Custom / internalAnything your own systems expose: an internal API, a CRM, a build server"Look up this customer's account status."

Install and enable a plugin

  1. 1
    Open plugin settings

    In Harness, go to the plugins area of the settings. Names may differ between versions, so follow what your app shows.

  2. 2
    Choose or add a plugin

    Pick from the available plugins, or add one from a folder or link. Install only plugins from sources you trust.

  3. 3
    Connect the account

    Plugins that reach another service usually need a sign-in or a key. Use the smallest permissions that will do the job, such as read-only database access.

  4. 4
    Enable it for your session

    Turn it on, then test it with a simple request like "use the web plugin to find today's date in Colombo".

Least privilege: enable only the plugins a task needs, and give each one only the access it needs. A summary job doesn't need permission to send email.

Combining plugins

The real power comes from using several plugins in one task. Some combinations that work well:

WorkflowPlugins usedWhat happens
Issue β†’ fix β†’ pull requestGit hosting + project folderReads the issue, fixes the code, runs the tests, opens a pull request linked to the issue.
Research briefWeb + documentsSearches several sources and writes a cited briefing to a Word file.
Sales snapshotDatabase + spreadsheet + team chatQueries last week's orders, builds a chart, and posts a summary to the team channel.
Inbox to tasksEmail + project toolsFinds requests in this week's emails and creates a ticket for each.
Meeting prepCalendar + cloud storage + documentsLists tomorrow's meetings, gathers related files and writes a one-page prep note.

Worked examples

Example 1 - Web plugin: keep a price list current

You type

Using the web plugin, look up today's prices for the 12 products in competitors.xlsx (column B has the URLs). Add a column with today's price and one with the change since last time. Highlight any change over 5%. Don't change any other columns.

Result

The spreadsheet is updated with two new columns and three products highlighted. Two pages couldn't be read (one now requires a login, one has changed), and they're listed in a note rather than guessed.

Example 2 - Git hosting plugin: from issue to pull request

With a Git hosting plugin enabled, one request covers the whole loop: read the issue, find and fix the bug, test it, push a branch, and open a pull request with a clear description. You stay the reviewer. The plugin opens the pull request, but merging is up to you.

Tip: give the plugin access only to the repositories it needs, and keep "merge" and "delete branch" as actions you do yourself.

Build your own plugin

Because Harness is open source, you can write plugins for anything your own systems can do, such as an internal API, a company database or a device on your network. Conceptually, a plugin is just a set of tools, and each tool has three parts:

1 Β· Name

A clear action

A short, specific verb phrase the model can recognise, like get_order_status.

2 Β· Description - inputs

When and how to use it

Plain-language guidance, plus the parameters it needs and their types.

3 Β· Handler

The code that acts

Your function that calls the real service and returns a short result.

Illustrative only: the example below shows the shape of a tool, using the same JSON-schema style as the DeepSeek API's function calling. The exact plugin file format, folder layout and registration steps are defined by the Harness project, so follow its official documentation and examples when you build a real plugin.
{
  "name": "get_order_status",
  "description": "Look up the current status of a customer order by its ID. Use when the user asks where an order is or whether it has shipped.",
  "parameters": {
    "type": "object",
    "properties": {
      "order_id": { "type": "string", "description": "Order number, e.g. 48213" }
    },
    "required": ["order_id"]
  }
}

Plugin design tips

Do thisWhy it helpsExample
One clear job per toolThe model picks the right tool more reliably.get_order_status and cancel_order, not one orders tool.
Write descriptions for the modelThe description is how it decides when to use the tool."Use when the user asks if an order has shipped."
Keep outputs shortLess to read means lower cost and more focused answers.Return the status and ETA, not the whole order record.
Validate inputsStops bad or harmful arguments.Reject non-numeric IDs and limit query sizes.
Read-only by defaultMost tasks only need to look things up.Make write actions separate tools that need approval.
Return helpful errorsThe agent can recover instead of getting stuck.{"error": "order not found"}
Keep secrets in environment variablesKeys never appear in code, prompts or results.os.environ["ORDERS_TOKEN"]

Permissions and safety

RiskWhat can go wrongHow to stay safe
Untrusted pluginsA plugin is code that runs on your computer, and could misuse your data.Install only from sources you trust, and read the code if you can. Open source makes that possible.
Too much accessA plugin with full account access can do more than you intended.Give it the narrowest permissions it needs, such as read-only access or a single repository.
Actions you can't undoSending email, deleting records or merging code.Require approval for every write action, and do the riskiest steps yourself.
Prompt injectionWeb pages or emails contain hidden instructions aimed at the AI.Never let content from a plugin trigger sensitive actions on its own. See prompt injection.
Leaked secretsKeys appear in logs or results.Use environment variables, and strip secrets from tool output.
Unattended runsA scheduled task uses a plugin with no one watching.Keep scheduled plugin use to reading and drafting. See scheduled task safety.

Troubleshooting

ProblemLikely causeFix
The agent doesn't use the pluginThe plugin isn't enabled, or the request doesn't suggest it.Enable it, and name it: "Use the web plugin to…".
"Not authorised" errorsExpired sign-in, wrong key or missing permission.Reconnect the account, and check the plugin's access settings.
Wrong tool chosenUnclear or overlapping tool descriptions.Make the descriptions more specific, or split the tool in two.
Huge or slow resultsThe tool returns too much data.Limit the output size, and return a summary rather than everything.
Your own plugin doesn't loadWrong file format, folder or registration.Check the Harness project's plugin docs and examples.
Can't sign in or "server busy"A Harness account issue or peak demand.See the login guide and updates.

Harness plugins - frequently asked questions

What is a Harness plugin?

An add-on that gives the Harness agent new tools, such as browsing the web, working with Git hosting or querying a database, so it can do more than work with local files.

Where do I find plugins?

In the plugins area of Harness settings, and from the open-source community around the project. Check the official Harness page for what's currently available.

Can I use several plugins at once?

Yes. Plugins are composable, and the agent chooses which tool to use at each step. See combining plugins.

Can I write my own plugin?

Yes. Harness is open source. Each tool is a name, a description, its inputs and a handler function. Follow the project's plugin documentation for the exact format.

Are plugins safe?

They run with the access you give them. Install only plugins you trust, give each one the smallest permissions it needs, and keep approval on for anything that sends, deletes or merges.

Do plugins cost extra?

Harness is free during the preview. Tool results count as input tokens if you use an API key (see pricing), and the services a plugin connects to may have their own costs.

Which model works best with plugins?

V4.1 Flash handles most multi-tool tasks well, especially since the 1017 update. Use R1 or V4 Pro for complex planning. See all models.

Is this an official DeepSeek page?

No. DeepSeekR1.com is an independent guide. See about us, our disclaimer, privacy policy and terms.

Built a plugin? Tell us about it. You can also try the chat app and mobile app, explore Coder and DeepSeek vs ChatGPT, or go back to the home page.