siyuan-note/siyuan · error
This operation is not supported, please go to the cloud stor
Error message
This operation is not supported, please go to the cloud storage provider management console to operate
What it means
CreateCloudSyncDir only allows the SiYuan and Local providers through its switch; every other provider (S3, WebDAV) gets i18n key 131 ('This operation is not supported, please go to the cloud storage provider management console to operate'). SiYuan cannot create buckets or directories on external storage services through its API, so nothing is created.
Source
Thrown at kernel/model/sync.go:660
return
}
var (
syncLock = sync.Mutex{}
isSyncing = atomic.Bool{}
syncAutoRequests = syncRequestState{}
syncManualRequests = syncRequestState{}
syncExitRequests = syncRequestState{}
syncUploadRequests = syncRequestState{}
syncDownloadRequests = syncRequestState{}
)
func CreateCloudSyncDir(name string) (err error) {
switch Conf.Sync.Provider {
case conf.ProviderSiYuan, conf.ProviderLocal:
break
default:
err = errors.New(Conf.Language(131))
return
}
name = util.RemoveInvalid(name)
if !cloud.IsValidCloudDirName(name) {
return errors.New(Conf.Language(37))
}
repo, err := newRepository()
if err != nil {
return
}
err = repo.CreateCloudRepo(name)
if err != nil {
err = errors.New(formatRepoErrorMsg(err))
return
}View on GitHub (pinned to afa823b6b4)
Solutions
- Create the bucket or directory in the provider's own management console, then select it as the sync dir
- Or switch the provider back to SiYuan or Local if in-app directory creation is required
Defensive patterns
Strategy: type-guard
Validate before calling
func canManageCloudSyncDirs(provider int) bool {
return provider == conf.ProviderSiYuan || provider == conf.ProviderLocal
}
if !canManageCloudSyncDirs(model.Conf.Sync.Provider) {
// create the bucket/dir in the provider console instead of calling the API
return nil
}
model.CreateCloudSyncDir(name) Type guard
func canManageCloudSyncDirs(provider int) bool {
return provider == conf.ProviderSiYuan || provider == conf.ProviderLocal
} Prevention
- Gate create/remove cloud dir UI actions on provider being SiYuan or Local
- Document that S3/WebDAV buckets are managed in the provider console
When it happens
Trigger: Calling CreateCloudSyncDir (POST /api/sync/createCloudSyncDir, Settings - Sync - add cloud sync directory) while Conf.Sync.Provider is S3 or WebDAV.
Common situations: After switching the provider to S3/WebDAV, a stale UI tab or automation script still calls the create-directory endpoint.
Related errors
- Conf.Language(194)
- load tree failed: %s
- attribute view not found
- Invalid dir path [%s]
- The cloud sync directory name (Bucket) cannot be empty, cont
AI-assisted analysis of siyuan-note/siyuan@afa823b6b4 (2026-08-18).
Data as JSON: /api/errors/9e55c5ce1753c628.
Report an issue: GitHub.