Skip to content

XDG_CONFIG_HOME support uses .copilot (dot-prefixed) subdirectory, violating XDG convention #1750

@fuzzycode

Description

@fuzzycode

Describe the bug

When XDG_CONFIG_HOME is set, the CLI stores its config at $XDG_CONFIG_HOME/.copilot/ (e.g. ~/.config/.copilot/). Per the XDG Base
Directory Specification, directories under $XDG_CONFIG_HOME should not use a dot prefix — the dot is only needed under $HOME to
hide directories. The correct path should be $XDG_CONFIG_HOME/copilot/.

This also affects discoverability of skills and other config — the docs reference ~/.copilot/skills/ but don't mention that with
XDG_CONFIG_HOME set it becomes $XDG_CONFIG_HOME/.copilot/skills/, which is non-obvious and hard to debug (the directory is hidden
by default in file listings).

Affected version

v0.0.420

Steps to reproduce the behavior

Steps to reproduce:

  1. Set XDG_CONFIG_HOME=~/.config
  2. Create a skill at ~/.config/copilot/skills/my-skill/SKILL.md (correct XDG convention)
  3. Run /skills list → 0 skills found
  4. Move to ~/.config/.copilot/skills/ → skill is found

Expected behavior

CLI should use $XDG_CONFIG_HOME/copilot/ (no dot)

Additional context

Same issue applies to XDG_STATE_HOME — state is stored at $XDG_STATE_HOME/.copilot/ instead of $XDG_STATE_HOME/copilot/.

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