{"record":{"id":"7f2cd855d729f1ff","repo":"tailscale/tailscale","slug":"cannot-send-files-target-is-not-advertising-a-fil","errorCode":null,"errorMessage":"cannot send files: target is not advertising a file sharing API","messagePattern":"cannot send files: target is not advertising a file sharing API","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cmd/tailscale/cli/file.go","lineNumber":509,"sourceCode":"\t\treturn \"\", isOffline, errors.New(\"cannot send files: local Tailscale is not connected to the tailnet\")\n\n\tcase ipnstate.TaildropTargetMissingCap:\n\t\treturn \"\", isOffline, errors.New(\"cannot send files: missing required Taildrop capability\")\n\n\tcase ipnstate.TaildropTargetOffline:\n\t\t// Don't gate on the server-reported Online bit (which lags reality\n\t\t// and isn't always accurate). runCp probes reachability itself with\n\t\t// TSMP pings.\n\t\treturn foundPeer.ID, isOffline, nil\n\n\tcase ipnstate.TaildropTargetNoPeerInfo:\n\t\treturn \"\", isOffline, errors.New(\"cannot send files: invalid or unrecognized peer\")\n\n\tcase ipnstate.TaildropTargetUnsupportedOS:\n\t\treturn \"\", isOffline, errors.New(\"cannot send files: target's OS does not support Taildrop\")\n\n\tcase ipnstate.TaildropTargetNoPeerAPI:\n\t\treturn \"\", isOffline, errors.New(\"cannot send files: target is not advertising a file sharing API\")\n\n\tcase ipnstate.TaildropTargetOwnedByOtherUser:\n\t\treturn \"\", isOffline, errors.New(\"cannot send files: peer is owned by a different user\")\n\n\tcase ipnstate.TaildropTargetUnknown:\n\t\tfallthrough\n\tdefault:\n\t\treturn \"\", isOffline, fmt.Errorf(\"cannot send files: unknown or indeterminate reason\")\n\t}\n}\n\nconst maxSniff = 4 << 20\n\nfunc ext(b []byte) string {\n\tif len(b) < maxSniff && utf8.Valid(b) {\n\t\treturn \".txt\"\n\t}\n\tif exts, _ := mime.ExtensionsByType(http.DetectContentType(b)); len(exts) > 0 {","sourceCodeStart":491,"sourceCodeEnd":527,"githubUrl":"https://github.com/tailscale/tailscale/blob/cfe32b8be6a33f8e24fbc369cbfbf7c729d9e042/cmd/tailscale/cli/file.go#L491-L527","documentation":"Error \"cannot send files: target is not advertising a file sharing API\" thrown in tailscale/tailscale.","triggerScenarios":"Thrown at cmd/tailscale/cli/file.go:509 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"cfe32b8be6a33f8e24fbc369cbfbf7c729d9e042","analyzedAt":"2026-08-15T19:58:31.583Z","schemaVersion":2},"datasetVersion":"2026-08-15T22:17:37.221Z"}