Skip to content

Regression: 'XDG_CONFIG_HOME' ignored -- no equivalent available #1954

@DLehenbauer

Description

@DLehenbauer

Describe the bug

The XDG_CONFIG_HOME environment variable no longer appears to be respected for determining the configuration directory. This is a regression from 0.0.421.

Note that COPILOT_HOME and --config-dir are not acceptable substitutes because they also redirect machine local state, including:

  • The SQLite database
  • Auto-update package cache under pkg/
  • Temporary .lock files

These artifacts are unsuitable for cloud sync (OneDrive) or version control (Git).

By contrast, XDG_CONFIG_HOME would only redirect the user's configuration (config.json, skills, agents, etc.). This is the motivation for separating XDG_CONFIG_HOME and XDG_STATE_HOME in the XDG spec.

Affected version

GitHub Copilot CLI 1.0.4

Steps to reproduce the behavior

  1. Set XDG_CONFIG_HOME
# PowerShell (Windows) — set for current session
$env:XDG_CONFIG_HOME = "D:\my_copilot_config"
  1. Create a minimal agent under the XDG config path
# PowerShell
New-Item -ItemType Directory -Force "$env:XDG_CONFIG_HOME\.copilot\agents"
@"
---
name: xdg-test
description: "Test agent to verify XDG_CONFIG_HOME support."
---
Reply with OK.
"@ | Set-Content "$env:XDG_CONFIG_HOME\.copilot\agents\xdg-test.agent.md"
  1. Launch Copilot CLI and check /agents
/agent


 Custom Agents

 Select Agent:
 ❯ 1. Default (current)

 Manage Agents:
   1. Create new agent...
   2. Learn more about custom agents

 ↑↓ to navigate · Enter to select · Esc to cancel

Expected behavior

xdg-test appears in the list of available agents:

Custom Agents

 Select Agent:
 ❯ 1. Default (current)
   2. xdg-test · user

 Manage Agents:
   3. Create new agent...
   4. Learn more about custom agents

 ↑↓ to navigate · Enter to select · Esc to cancel

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    area:configurationConfig files, instruction files, settings, and environment variables

    Type

    No fields configured for Bug.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions