Summary
The Skills storage location setting (CC Switch default ~/.cc-switch/skills vs ~/.agents/skills) is surfaced in the settings UI but is not actually switchable on any surface. In the web console it even errors.
Details
- Web (
cc-switch web serve): the frontend calls invoke("migrate_skill_storage", { target }), but that command is not wired in the web bridge — it is left commented out in src/web/handlers/skills.rs, so it falls through to HTTP 501 Not Implemented. Selecting a different location throws / shows an error toast instead of migrating.
- CLI: there is no subcommand to view/set/migrate the skills storage location.
- TUI: there is no setting for it in the interactive Settings screen.
- Backend model: the skills SSOT base directory is effectively hardcoded to
get_app_config_dir()/skills in src/services/skill.rs (honors CC_SWITCH_CONFIG_DIR only). ~/.agents/skills is only a read-only discovery/import source, not a configurable target, and there is no skill_storage_location field in AppSettings (src/settings.rs).
Impact
- Web users see the option and get a 501 error on click.
- CLI/TUI users have no way to change it at all.
- This is inconsistent with the desktop UI, which presents the option as if it were functional.
Suggested resolution (pick one)
- Implement it for real: add an
AppSettings field for the skills storage location + a working migrate_skill_storage command, and wire it across web/CLI/TUI; or
- Drop the option from the UI if
~/.cc-switch/skills (under CC_SWITCH_CONFIG_DIR) is the only supported location.
Note
In the web build the control has been temporarily hidden to avoid the 501 until this is resolved.
Summary
The Skills storage location setting (CC Switch default
~/.cc-switch/skillsvs~/.agents/skills) is surfaced in the settings UI but is not actually switchable on any surface. In the web console it even errors.Details
cc-switch web serve): the frontend callsinvoke("migrate_skill_storage", { target }), but that command is not wired in the web bridge — it is left commented out insrc/web/handlers/skills.rs, so it falls through to HTTP 501 Not Implemented. Selecting a different location throws / shows an error toast instead of migrating.get_app_config_dir()/skillsinsrc/services/skill.rs(honorsCC_SWITCH_CONFIG_DIRonly).~/.agents/skillsis only a read-only discovery/import source, not a configurable target, and there is noskill_storage_locationfield inAppSettings(src/settings.rs).Impact
Suggested resolution (pick one)
AppSettingsfield for the skills storage location + a workingmigrate_skill_storagecommand, and wire it across web/CLI/TUI; or~/.cc-switch/skills(underCC_SWITCH_CONFIG_DIR) is the only supported location.Note
In the web build the control has been temporarily hidden to avoid the 501 until this is resolved.