[Feature Request] Add XDG Base Directory Specification support for config management
Resolved 💬 3 comments Opened Jan 27, 2026 by jimmiefulton-ybor Closed Jan 31, 2026
Bug Description
Please add XDG Base Directory support for organization and easier dotfile versioning and sharing. Claude Code config is a hot mess. Also, you are throwing an exception trying to scan a non-existent directory instead of handling it gracefully.
Environment Info
- Platform: darwin
- Terminal: WezTerm
- Version: 2.1.16
- Feedback ID: 03094043-1424-4a53-80e0-6cf9459cdd80
Errors
[{"error":"Error: ENOENT: no such file or directory, scandir '/Library/Application Support/ClaudeCode/.claude/skills'\n at readdirSync (unknown)\n at <anonymous> (/$bunfs/root/claude:12:1903)\n at vW (/$bunfs/root/claude:11:35097)\n at readdirSync (/$bunfs/root/claude:12:1864)\n at y2R (/$bunfs/root/claude:1479:380)\n at y2R (/$bunfs/root/claude:1479:1350)\n at <anonymous> (/$bunfs/root/claude:1479:4440)\n at <anonymous> (/$bunfs/root/claude:1479:5171)\n at A (/$bunfs/root/claude:11:7244)\n at pX8 (/$bunfs/root/claude:4784:4342)\n at async <anonymous> (/$bunfs/root/claude:6099:2116)","timestamp":"2026-01-27T17:22:37.119Z"},{"error":"Error: Request was aborted.\n at makeRequest (/$bunfs/root/claude:161:3940)\n at processTicksAndRejections (native:7:39)","timestamp":"2026-01-27T17:28:15.588Z"},{"error":"Error: Request was aborted.\n at vQR (/$bunfs/root/claude:2297:44939)\n at JnB (/$bunfs/root/claude:5080:1534)\n at processTicksAndRejections (native:7:39)","timestamp":"2026-01-27T18:35:38.621Z"},{"error":"Error: Request was aborted.\n at makeRequest (/$bunfs/root/claude:161:3940)\n at processTicksAndRejections (native:7:39)","timestamp":"2026-01-27T18:44:43.251Z"},{"error":"Error\n at ZP (/$bunfs/root/claude:42:1143)\n at <anonymous> (/$bunfs/root/claude:47:10094)\n at emit (node:events:92:22)\n at endReadableNT (internal:streams/readable:861:50)\n at processTicksAndRejections (native:7:39)\n at request (/$bunfs/root/claude:49:2148)\n at processTicksAndRejections (native:7:39)","timestamp":"2026-01-27T18:45:16.029Z"},{"error":"Error\n at ZP (/$bunfs/root/claude:42:1143)\n at <anonymous> (/$bunfs/root/claude:47:10094)\n at emit (node:events:92:22)\n at endReadableNT (internal:streams/readable:861:50)\n at processTicksAndRejections (native:7:39)\n at request (/$bunfs/root/claude:49:2148)\n at processTicksAndRejections (native:7:39)","timestamp":"2026-01-27T18:45:48.755Z"},{"error":"Error\n at ZP (/$bunfs/root/claude:42:1143)\n at <anonymous> (/$bunfs/root/claude:47:10094)\n at emit (node:events:92:22)\n at endReadableNT (internal:streams/readable:861:50)\n at processTicksAndRejections (native:7:39)\n at request (/$bunfs/root/claude:49:2148)\n at processTicksAndRejections (native:7:39)","timestamp":"2026-01-27T18:45:52.988Z"},{"error":"Error\n at ZP (/$bunfs/root/claude:42:1143)\n at <anonymous> (/$bunfs/root/claude:47:10094)\n at emit (node:events:92:22)\n at endReadableNT (internal:streams/readable:861:50)\n at processTicksAndRejections (native:7:39)\n at request (/$bunfs/root/claude:49:2148)\n at processTicksAndRejections (native:7:39)","timestamp":"2026-01-27T18:45:56.804Z"},{"error":"Error: Request was aborted.\n at makeRequest (/$bunfs/root/claude:161:3940)\n at processTicksAndRejections (native:7:39)","timestamp":"2026-01-27T18:47:02.014Z"},{"error":"Error\n at ZP (/$bunfs/root/claude:42:1143)\n at <anonymous> (/$bunfs/root/claude:47:10094)\n at emit (node:events:92:22)\n at endReadableNT (internal:streams/readable:861:50)\n at processTicksAndRejections (native:7:39)\n at request (/$bunfs/root/claude:49:2148)\n at processTicksAndRejections (native:7:39)","timestamp":"2026-01-27T18:47:52.220Z"},{"error":"Error\n at ZP (/$bunfs/root/claude:42:1143)\n at <anonymous> (/$bunfs/root/claude:47:10094)\n at emit (node:events:92:22)\n at endReadableNT (internal:streams/readable:861:50)\n at processTicksAndRejections (native:7:39)\n at request (/$bunfs/root/claude:49:2148)\n at processTicksAndRejections (native:7:39)","timestamp":"2026-01-27T18:47:52.283Z"},{"error":"Error: ENOENT: no such file or directory, scandir '/Library/Application Support/ClaudeCode/.claude/skills'\n at readdirSync (unknown)\n at <anonymous> (/$bunfs/root/claude:12:1903)\n at vW (/$bunfs/root/claude:11:35097)\n at readdirSync (/$bunfs/root/claude:12:1864)\n at y2R (/$bunfs/root/claude:1479:380)\n at y2R (/$bunfs/root/claude:1479:1350)\n at <anonymous> (/$bunfs/root/claude:1479:4440)\n at <anonymous> (/$bunfs/root/claude:1479:5171)\n at A (/$bunfs/root/claude:11:7244)\n at pX8 (/$bunfs/root/claude:4784:4342)","timestamp":"2026-01-27T18:50:04.353Z"}]This issue has 3 comments on GitHub. Read the full discussion on GitHub ↗