How to Point NuGet at Chainsaw

Beginner 15 minutes Developers / DevOps Engineers Getting Started

Configure the NuGet/.NET client to restore packages through your Chainsaw proxy via nuget.config or the dotnet CLI.

Overview

Point NuGet at your Chainsaw instance so every dotnet restore / dotnet add package routes through the firewall. This page covers nuget.config and the dotnet nuget CLI.

Replace chain305.com with your own Chainsaw deployment host and swap CLIENT_ID / CLIENT_SECRET for credentials issued from the Access page in the dashboard. The @default segment is the org slug — confirm yours under Settings → Organization → Slug. Legacy non-org-scoped URLs return HTTP 400 with error CHW-4314.

Prerequisites

  • A running Chainsaw instance (see Tutorial 01)
  • Client credentials (Client ID and Secret)
  • The .NET SDK installed

Clear Local Caches (First-Time Setup)

dotnet nuget locals all --clear

nuget.config

As of Wave U (2026-05-23) the NuGet v3 service index is served at the bare repo root (/nuget-official/index.json) — the legacy /nuget-official/v3/index.json path no longer resolves and dotnet add package fails at snippet-paste time.

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <clear />
    <add key="chainsaw" value="https://chain305.com/chainproxy/repository/@default/nuget-official/index.json" />
  </packageSources>
  <packageSourceCredentials>
    <chainsaw>
      <add key="Username" value="CLIENT_ID" />
      <add key="ClearTextPassword" value="CLIENT_SECRET" />
    </chainsaw>
  </packageSourceCredentials>
</configuration>

CLI

dotnet nuget add source https://chain305.com/chainproxy/repository/@default/nuget-official/index.json \
  --name chainsaw \
  --username CLIENT_ID \
  --password CLIENT_SECRET

Verify

Run dotnet restore, then confirm with chainsaw doctor verify-hook and the Traffic page in the dashboard.

Next Steps