{"record":{"id":"8cbe68d3d35169ba","repo":"tailscale/tailscale","slug":"cannot-send-files-invalid-or-unrecognized-peer","errorCode":null,"errorMessage":"cannot send files: invalid or unrecognized peer","messagePattern":"cannot send files: invalid or unrecognized peer","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cmd/tailscale/cli/file.go","lineNumber":503,"sourceCode":"\t\treturn foundPeer.ID, isOffline, nil\n\n\tcase ipnstate.TaildropTargetNoNetmapAvailable:\n\t\treturn \"\", isOffline, errors.New(\"cannot send files: no netmap available on this node\")\n\n\tcase ipnstate.TaildropTargetIpnStateNotRunning:\n\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","sourceCodeStart":485,"sourceCodeEnd":521,"githubUrl":"https://github.com/tailscale/tailscale/blob/cfe32b8be6a33f8e24fbc369cbfbf7c729d9e042/cmd/tailscale/cli/file.go#L485-L521","documentation":"Error \"cannot send files: invalid or unrecognized peer\" thrown in tailscale/tailscale.","triggerScenarios":"Thrown at cmd/tailscale/cli/file.go:503 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"}