Receiving error “connect ETIMEDOUT”

Hello Asana Community,

I hope you’re all doing well. I’m encountering the ‘connect ETIMEDOUT’ error, which seems to occur randomly during API calls. I’ve been trying to troubleshoot this on my own, but so far, I haven’t been able to pinpoint the exact cause. I am using the latest Asana API Node.js SDK.

Thank you in advance for your help!

Best regards,
Dawood Aijaz

Can someone please help me out? It is really hard to get work done when this error keeps on occurring!

Did you identify specific calls generating the error?

The error occurred when posting a story on a task or when creating a task/subtask.

Also occurs when fetching a story from a task.

@Phil_Seeman any idea?

1 Like

No, sorry, but I’ve pinged Asana DevRel on this thread.

1 Like

Hi @Phil_Seeman,
Hope you are doing well. Can I please get an update on this :slightly_smiling_face:


I’m just a volunteer, don’t have any official connection to Asana; but I will ping the DevRel team again via my channels.


Hi @Phil_Seeman,
Thanks for the clarification and extra effort :pray:

Hi @Dawood_Aijaz,

Apologies for the late reply. Thanks @Phil_Seeman for pinging us.

Is this issue still happening for you? If so, do you mind sharing with us the full error that you received? I was not able to reproduce this issue.

My initial thought is this issue could be coming from one of:

  1. Asana API
  2. node-asana client library

I tried to test #2 by changing up the timeout settings for the client but got a different error from your ETIMEDOUT

This was what I tried:

const Asana = require('asana');
let defaultClient = Asana.ApiClient.instance;

let oauth2 = defaultClient.authentications['oauth2'];
defaultClient.timeout = 500; // Change timeout to 500 mili-seconds
oauth2.accessToken = "<ASANA_PERSONAL_ACCESS_TOKEN>";

let apiInstance = new Asana.StoriesApi();
let body = new Asana.TaskGidStoriesBody.constructFromObject({data: {text: "test"}});
let task_gid = "<TASK_GID>";
let opts = {};

apiInstance.createStoryForTask(body, task_gid, opts, (error, data, response) => {
    if (error) {
    } else {
        console.log('API called successfully. Returned data: ' + JSON.stringify(data, null, 2));


Error: Timeout of 500ms exceeded
    at RequestBase._timeoutError (/<MY_PATH>/node_modules/superagent/lib/request-base.js:731:13)
    at Timeout.<anonymous> (/<MY_PATH>/node_modules/superagent/lib/request-base.js:746:12)
    at listOnTimeout (node:internal/timers:564:17)
    at process.processTimers (node:internal/timers:507:7) {
  timeout: 500,
  errno: 'ETIME',
  response: undefined

This leads me to think it could be #1 (an API timeout). If you get an error similar to the above than it might be an issue with our client library timing out the request.

1 Like