1. Start with an empty provider form

Open Settings → Models and add a provider. Use the provider’s exact API base and protocol. Never paste a production key into a screenshot, issue, or shared terminal transcript.

The empty provider form separates the provider identity, API base, protocol, secret, and model inventory.Harness 0.1.0-rc.7 · macOS 26.4 · Node.js 24.19 · isolated Web Profile · Captured 2026-08-20 · official source

2. Match the protocol to the provider

Choose the protocol the endpoint actually implements. An OpenAI-compatible URL does not imply that every model name, streaming mode, or tool-call behavior is compatible.

Protocol choice is part of the provider contract. Confirm it from provider documentation instead of guessing from the URL.Harness 0.1.0-rc.7 · macOS 26.4 · Node.js 24.19 · isolated Web Profile · Captured 2026-08-20 · official source

3. Add one model and protect the credential

  • Use a restricted key when the provider supports it.
  • Keep the API base on HTTPS for a real remote provider.
  • Add one exact model ID first; aliases can hide configuration mistakes.
  • Do not commit Profile or DSH_HOME files that contain secrets.
This guide used a localhost-only mock provider and a disposable key. It demonstrates the fields, not compatibility with a commercial provider.Harness 0.1.0-rc.7 · macOS 26.4 · Node.js 24.19 · isolated Web Profile · Captured 2026-08-20 · official source

4. Save and confirm the provider inventory

After saving, confirm the provider and model are visible in Settings. Keep one known-good provider available while testing a new one.

The provider is saved in an isolated DSH_HOME. No real credential or external model service was used.Harness 0.1.0-rc.7 · macOS 26.4 · Node.js 24.19 · isolated Web Profile · Captured 2026-08-20 · official source

5. Select the model in the task surface

Return to the task surface and explicitly select the model. Seeing a provider in Settings does not prove that the current session is using it.

The selector confirms which model the next task will use. The local verification entry is clearly separated from the official model choices.Harness 0.1.0-rc.7 · macOS 26.4 · Node.js 24.19 · isolated Web Profile · Captured 2026-08-20 · official source

6. Run the smallest useful task

Use a non-sensitive prompt with a deterministic expected answer. The screenshot shows a local mock response, so it verifies Harness configuration flow and recovery—not remote-provider quality, billing, tools, or production compatibility.

A minimal local task completed after provider configuration. The test had no external model cost and exposed no real API key.Harness 0.1.0-rc.7 · macOS 26.4 · Node.js 24.19 · isolated Web Profile · Captured 2026-08-20 · official source
Browse Plugins after the baseline works