{"version":"2.1.311","anchor":"skill-file-loading-refuses-symlinks-that-lead-elsewhere","canonical_anchor":"skill-file-loading-refuses-symlinks-that-lead-elsewhere","heading":"Skill files that are not regular files or that point elsewhere are skipped","tier":"notice","area":"Skills","scope":"individual","heads_up":true,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.311\/e\/skill-file-loading-refuses-symlinks-that-lead-elsewhere","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.311","markdown":"### Skill files that are not regular files or that point elsewhere are skipped\n\nClaude Code now skips a skill file that is not a regular file or that is refused because of where it leads\n\n**Unclear.** It is not stated which link targets are refused, so it is unclear whether skills you keep as symlinks will still load.\n\n**What**\n\nA skill is a set of instructions, stored in a file, that Claude can load to handle a particular kind of task. Claude Code now checks and reads each skill file in a single step. A skill is skipped if its file is not a regular file, or if it is refused because of where it leads, for example a symlink (a file that is just a pointer to another location). The message logged when this happens says so. Skill files over a size limit are also rejected.\n\n**Why**\n\nChecking and reading the file in one go means the file cannot be swapped between the check and the read, and it stops skill loading from following a link to somewhere it should not.\n\n- Area: Skills\n- Tier: You'll notice\n- Useful: 2\/5\n- Signal: 1\/5\n- Scope: individual\n- Heads-up: yes"}