{"record":{"id":"af8b94c02007b128","repo":"ipfs/kubo","slug":"remote-service-failed-to-pin-requestid-q","errorCode":null,"errorMessage":"remote service failed to pin requestid=%q","messagePattern":"remote service failed to pin requestid=%q","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"core/commands/pin/remotepin.go","lineNumber":250,"sourceCode":"\t\t// Block unless --background=true is passed\n\t\tif !req.Options[pinBackgroundOptionName].(bool) {\n\t\t\tconst pinWaitTime = 500 * time.Millisecond\n\t\t\tvar timer *time.Timer\n\t\t\trequestID := ps.GetRequestId()\n\t\t\tfor {\n\t\t\t\tps, err = c.GetStatusByID(ctx, requestID)\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn fmt.Errorf(\"failed to check pin status for requestid=%q due to error: %v\", requestID, err)\n\t\t\t\t}\n\t\t\t\tif ps.GetRequestId() != requestID {\n\t\t\t\t\treturn fmt.Errorf(\"failed to check pin status for requestid=%q, remote service sent unexpected requestid=%q\", requestID, ps.GetRequestId())\n\t\t\t\t}\n\t\t\t\ts := ps.GetStatus()\n\t\t\t\tif s == pinclient.StatusPinned {\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t\tif s == pinclient.StatusFailed {\n\t\t\t\t\treturn fmt.Errorf(\"remote service failed to pin requestid=%q\", requestID)\n\t\t\t\t}\n\t\t\t\tif timer == nil {\n\t\t\t\t\ttimer = time.NewTimer(pinWaitTime)\n\t\t\t\t} else {\n\t\t\t\t\ttimer.Reset(pinWaitTime)\n\t\t\t\t}\n\t\t\t\tselect {\n\t\t\t\tcase <-timer.C:\n\t\t\t\tcase <-ctx.Done():\n\t\t\t\t\ttimer.Stop()\n\t\t\t\t\treturn fmt.Errorf(\"waiting for pin interrupted, requestid=%q remains on remote service\", requestID)\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn res.Emit(toRemotePinOutput(ps, enc))\n\t},\n\tEncoders: cmds.EncoderMap{","sourceCodeStart":232,"sourceCodeEnd":268,"githubUrl":"https://github.com/ipfs/kubo/blob/329838acdfafae224582930457efe80aa217afc0/core/commands/pin/remotepin.go#L232-L268","documentation":"Fired by `ipfs pin remote add` when running in foreground mode: after submitting the pin, the command polls the remote pinning service via GetStatusByID, and the returned status indicates the remote service failed to complete the pin for the given request ID. It signals that the failure happened on the remote service side, not locally.","triggerScenarios":"Thrown at core/commands/pin/remotepin.go:250 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Inspect the failure details with 'ipfs pin remote ls --status failed --service <name>' (the service often includes an info field)","Verify the node/service can actually fetch the content (the service must be able to retrieve the DAG)","Retry the add once the underlying cause (connectivity, storage quota, timeout) is fixed, and remove the failed pin entry first"],"exampleFix":null,"handlingStrategy":"retry","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"329838acdfafae224582930457efe80aa217afc0","analyzedAt":"2026-09-03T18:30:52.135Z","contentChangedAt":"2026-09-03T18:30:52.135Z","schemaVersion":2},"datasetVersion":"2026-09-11T00:17:11.886Z"}