Skip to content

Voice installer fails: tries private Azure Artifacts feed causing 401 for Microsoft.AI.Foundry.Local.Core 1.2.3 #4035

Open

Description

@gregeva

Summary\n\nWhen enabling voice mode, the Copilot CLI voice runtime installer attempts to download Microsoft.AI.Foundry.Local.Core v1.2.3 from a private Azure Artifacts feed and fails with HTTP 401. The package is publicly available on nuget.org, so the installer should not require Azure DevOps access or should fall back to nuget.org when a private feed returns 401.\n\nReproduction steps\n1. On macOS with .NET 10 (example environment below)\n2. Run the Copilot CLI voice command that triggers runtime installation (e.g., copilot voice / enable voice)\n3. Installer fails with 401 trying to download from Azure Artifacts feed\n\nObserved behavior\nVoice runtime install failed: Error: Failed to download Microsoft.AI.Foundry.Local.Core 1.2.3 from any configured feed (api.nuget.org, pkgs.dev.azure.com): Download failed with status 401: https://pkgs.dev.azure.com/aiinfra/2692857e-05ef-43b4-ba9c-ccf1c22c437c/_packaging/7982ae20-ed19-4a35-a362-a96ac99897b7/nuget/v3/flat2/microst.ai.foundry.local.core/1.2.3/microsoft.ai.foundry.local.core.1.2.3.nupkg\n\nInvestigation\n- The package is present on nuget.org: https://api.nuget.org/v3-flatcontainer/microsoft.ai.foundry.local.core/1.2.3/microsoft.ai.foundry.local.core.1.2.3.nupkg\n- The installer appears to be attempting the private pkgs.dev.azure.com feed and failing with 401, and not successfully downloading from nuget.org as a fallback.\n\nEnvironment\n- macOS (user reported)\n- dotnet --version output (example):\n10.0.301\n\nExpected behavior\n- Installer should download Microsoft.AI.Foundry.Local.Core from a public source when available (nuget.org), or gracefully fall back to public feeds when a private feed returns authentication errors.\n- The voice feature should not require Azure DevOps access for users without that service.\n\nSuggested fix\n- Prefer nuget.org or allow configuring which feed to use for voice runtime packages.\n- If a private feed is configured but returns 401, attempt nuget.org before failing the install.\n\nPlease investigate and fix.,-H:Accept: application/vnd.github+json}

Activity

  1. MrChausson commented on Aug 18, 2026

    @MrChausson

    Hey did you manage to fix this ?

  2. gregeva commented on Aug 18, 2026

    @gregeva
    Author

    @MrChausson - I tried this four or five times over a few weeks with no change. Copilot based research indicated that the issues is likely infrastructure access control related. I took this as a sign that their quality is quite poor as the client not being able to access the required download should have been a basic test case which was not only missed, but was also not fixed, or had a documented work around posted. I threw away Copilot altogether.

  3. clRecruitment21 commented on Aug 25, 2026

    @clRecruitment21

    I came here because I get exactly this.. even going directly to the url.

    Hoping it might be related to something local - but given i have tried in an incognito session and i jsut get challenges for a plain username and password - i suspect not.

  4. clRecruitment21 commented on Aug 25, 2026

    @clRecruitment21

    got it working... but really.. if this isn't supported.. it surely isn't ready.

    Here are the clean steps and prompt

    Steps

    1. Download the package from the nuget.org website - open the  Microsoft.AI.Foundry.Local.Core  package page, select the matching version, click "Download package". You get  microsoft.ai.foundry.local.core..nupkg .
    2. Set the path at the top of the PowerShell script ( $corePkg ) to that downloaded  .nupkg .
    3. Run the PowerShell block - it finds your CLI, reads the required versions, computes the cache folder  %LOCALAPPDATA%\copilot\foundry<hash>\win-x64\ , downloads the two public onnxruntime packages, extracts all three DLLs into that folder, writes an empty  .complete  marker, and verifies.
    4. Run  /voice on  - it sees the folder is complete and skips the broken download.

    Prompt

    My Copilot CLI  /voice on  fails with: "Failed to download Microsoft.AI.Foundry.Local.Core ... from any configured feed ... status 401". I have manually downloaded the package  microsoft.ai.foundry.local.core..nupkg  from the nuget.org website to  <PATH_TO_NUPKG> .
    Please resolve it by pre-populating the voice runtime's local cache so the installer skips the broken download. Specifically:

    1. Find the newest installed CLI under  %USERPROFILE%.copilot\pkg\win32-x64\  and read  foundry-local-sdk\node_modules\foundry-local-sdk\deps_versions.json  to get the required versions of  foundry-local-core  (nuget),  onnxruntime , and  onnxruntime-genai .
    2. Confirm the install logic by reading  voice-installer.worker.js  in that pkg folder. The cache dir is  %LOCALAPPDATA%\copilot\foundry<hash>\win-x64\ , where    is the first 12 hex chars of  sha256(JSON.stringify({schema:1, artifacts}))  and  artifacts  is the ordered list  [{name:"Microsoft.AI.Foundry.Local.Core",version:},{name:"Microsoft.ML.OnnxRuntime.Foundry",version:},{name:"Microsoft.ML.OnnxRuntimeGenAI.Foundry",version:}] . Compute this hash with the CLI's bundled node.exe so it matches exactly.
    3. Download the two public packages from nuget.org:  Microsoft.ML.OnnxRuntime.Foundry  and  Microsoft.ML.OnnxRuntimeGenAI.Foundry  (matching versions).
    4. Extract every  runtimes/win-x64/native/*.dll  from all three  .nupkg  files (the manually downloaded Core one plus the two you downloaded) into the cache dir.
    5. Create an empty file named  .complete  in that cache dir.
    6. Verify  .complete ,  Microsoft.AI.Foundry.Local.Core.dll ,  onnxruntime.dll , and  onnxruntime-genai.dll  all exist in the cache dir, then advise running  /voice on  again.
      Do not modify any CLI files; only populate the cache directory. Confirm each step as you go.
  5. dan-sweden commented on Sep 11, 2026

    @dan-sweden

    got it working... but really.. if this isn't supported.. it surely isn't ready.

    Here are the clean steps and prompt

    Steps

    1. Download the package from the nuget.org website - open the  Microsoft.AI.Foundry.Local.Core  package page, select the matching version, click "Download package". You get  microsoft.ai.foundry.local.core..nupkg .
    2. Set the path at the top of the PowerShell script ( $corePkg ) to that downloaded  .nupkg .
    3. Run the PowerShell block - it finds your CLI, reads the required versions, computes the cache folder  %LOCALAPPDATA%\copilot\foundry\win-x64\ , downloads the two public onnxruntime packages, extracts all three DLLs into that folder, writes an empty  .complete  marker, and verifies.
    4. Run  /voice on  - it sees the folder is complete and skips the broken download.

    Prompt

    My Copilot CLI  /voice on  fails with: "Failed to download Microsoft.AI.Foundry.Local.Core ... from any configured feed ... status 401". I have manually downloaded the package  microsoft.ai.foundry.local.core..nupkg  from the nuget.org website to  <PATH_TO_NUPKG> . Please resolve it by pre-populating the voice runtime's local cache so the installer skips the broken download. Specifically:

    1. Find the newest installed CLI under  %USERPROFILE%.copilot\pkg\win32-x64\  and read  foundry-local-sdk\node_modules\foundry-local-sdk\deps_versions.json  to get the required versions of  foundry-local-core  (nuget),  onnxruntime , and  onnxruntime-genai .
    2. Confirm the install logic by reading  voice-installer.worker.js  in that pkg folder. The cache dir is  %LOCALAPPDATA%\copilot\foundry\win-x64\ , where    is the first 12 hex chars of  sha256(JSON.stringify({schema:1, artifacts}))  and  artifacts  is the ordered list  [{name:"Microsoft.AI.Foundry.Local.Core",version:},{name:"Microsoft.ML.OnnxRuntime.Foundry",version:},{name:"Microsoft.ML.OnnxRuntimeGenAI.Foundry",version:}] . Compute this hash with the CLI's bundled node.exe so it matches exactly.
    3. Download the two public packages from nuget.org:  Microsoft.ML.OnnxRuntime.Foundry  and  Microsoft.ML.OnnxRuntimeGenAI.Foundry  (matching versions).
    4. Extract every  runtimes/win-x64/native/*.dll  from all three  .nupkg  files (the manually downloaded Core one plus the two you downloaded) into the cache dir.
    5. Create an empty file named  .complete  in that cache dir.
    6. Verify  .complete ,  Microsoft.AI.Foundry.Local.Core.dll ,  onnxruntime.dll , and  onnxruntime-genai.dll  all exist in the cache dir, then advise running  /voice on  again.
      Do not modify any CLI files; only populate the cache directory. Confirm each step as you go.

    This prompt actually worked to sort out it on wsl using linux also :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:installationInstalling, updating, versioning, PATH setup, and binary distribution

    Type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions