# Configure an Agent Harness and Model Provider (https://www.shipfox.io/docs/how-to/set-up-work/configure-model-providers)

Description: Choose a harness and model provider. Set workspace defaults and verify them with an agent run.

Set up the agent runtime for a workspace. All projects in it use the same
settings. This guide configures workspace defaults and verifies them with a
manual agent run.

## Before you begin [#before-you-begin]

You need:

* The provider's API key. The form asks for any other provider values.

## Configure the agent runtime [#configure-the-agent-runtime]

### Open the agent settings

Open **Settings → Agents** in the workspace.

### Choose a harness

Review the list under **Harnesses**. Pick the runtime you plan to use. If a
harness is unavailable, it needs a model provider that works with it.

### Configure a model provider

Find a provider that works with the harness. Select **Configure**. Enter its
API key, complete any other fields, and select **Save**.

### Choose the workspace default provider

Under **Configured providers**, open the provider's menu. Select **Set as
default**.

### Choose the workspace default harness

Under **Harnesses**, open the harness menu. Select **Set as default**.

Use the [Model Providers reference](https://www.shipfox.io/docs/reference/model-providers) to compare the
choices. It lists provider IDs, default models, required credentials, and
harness support.

## Check the workspace defaults [#check-the-workspace-defaults]

Stay in **Settings → Agents** and check the current values:

* Under **Harnesses**, the star marks the default harness.
* Under **Configured providers**, the star marks the default provider.
* Open the default provider's menu. Select **Change default model** to review its
  model. For a custom provider, select **Edit** instead.

Use the same controls to correct a value that is not the one you want.

## Run the workspace defaults [#run-the-workspace-defaults]

Create `.shipfox/workflows/check-agent-defaults.yml`. This complete workflow
omits `harness`, `provider`, and `model`. The agent step resolves all three from
the workspace settings you checked above.

```yaml
# yaml-language-server: $schema=https://www.shipfox.io/docs/workflow.schema.json
name: Check agent defaults
runner: shipfox

triggers:
  manual:
    source: manual

jobs:
  check:
    steps:
      - key: summarize
        prompt: Read this repository and summarize its purpose in one sentence.
```

Commit and push the file to the project's default branch. Open the project's
**Workflows** tab. Wait for **Check agent defaults** to sync. Select **Run**,
then open the new run.

## Verify the agent run [#verify-the-agent-run]

The step declares no overrides. Shipfox therefore uses the starred harness and
provider in **Settings → Agents**, plus the provider's default model.

Open the `check` job and its agent step. A completed step with a one-sentence
response confirms that the defaults resolved and the saved credentials worked.

## If the agent step fails [#if-the-agent-step-fails]

* If the workflow does not sync, use [Troubleshoot workflow
  sync](https://www.shipfox.io/docs/how-to/run-and-troubleshoot/workflow-sync).
* If the run shows a provider, credential, or model warning, follow the action in
  that warning. Compare the selection with the [Model Providers
  reference](https://www.shipfox.io/docs/reference/model-providers). Run the workflow again after the fix.
* For another runtime failure, open the agent step and use [Inspect
  logs](https://www.shipfox.io/docs/how-to/run-and-troubleshoot/inspect-logs) to review its messages and
  tool results.

### [Add a custom provider](https://www.shipfox.io/docs/how-to/set-up-work/add-custom-model-provider)

Connect a model endpoint that is not in the built-in catalog.

### [Add an agent step](https://www.shipfox.io/docs/how-to/author-workflows/add-agent-steps)

Override defaults or use more than one harness in a workflow.