Retool with Visual Studio Code Authorization Issue on Mac

  • Goal: Connect connect Retool, self hosted, visual Studio code

Not sure what area to put this in

  1. In Edit mode Open Code.
  2. Click on VS icon (VS Code active in settings)
  3. That launches VS Code with Allow 'ReTool' to open this UIR? Popup.
  4. Click Open
  5. Which gives an Error.
  6. Then Click on the Accounts icon in VS Code
  7. Click Sign in with ReTool to use Retool (1)
  8. That Shows the base URL.
  9. I past in my self hosted URL and hit enter
    10.New Tab opens in browser. Asking to to Connect to VS Code
  10. I hit Authorize button
  11. It then goes back to VS Code and gives the Allow 'Retool' extension to open this URI? dialog again. Feel stuck in a loop.

I am using Visual Studio Code version 1.93.1, on premise ReTool version 3.85.0 and running on a Mac

Feel like I am missing something obvious. But nothing works. I know I am getting to my instance because the Token screen loads.

Any guidance would be great.

Hi @KeithMacK ,

Could you provide more details on the error you're seeing at step 5, when you click "Open" after the "Allow 'ReTool' to open this URI?" popup?

I also recommend changing the URL from yourorg.tryretool.com to just yourorg.retool.com . This has resolved the issue for some users.

The Retool VS Code integration is currently in beta, which may explain some of the issues you're encountering. To provide feedback, file an issue on the Retool VS Code extension GitHub repository.

Hi @gonzalo ! Thanks for the response

I get


That is when I noticed it is looking for me to log on.

As for using yourorg.retool.com. I am self hosted. So I use my full URL. It does get to my server. Just loops....

Hi @KeithMacK ,

I have a couple of suggestions to help debug this error:

  1. Can you check the VS Code logs for more context? You can follow these instructions on Stack Overflow to access the logs. Specifically, look for the logs from our extension by using the command: Developer: Open Extensions Logs Folder. The log will likely start with Failed to start session.
  2. Is your instance behind a VPN? It’s possible that the VPN is blocking the requests, as the VS Code extension communicates directly with your Retool base URL.
    Let me know what you find!

I can't find anything specific about this Extension. Standard messages no failure.

This one:
2024-09-19 15:15:20.626 [info] ExtensionService#_doActivateExtension retool.retool-vscode-extension, startup: false, activationEvent: 'onFileSystem:file'

I am not seeing any errors for ReTool extension. I saw some random errors on Certificates. But can't tell if tied to Retool.

As for VPN. No it is not. I is a small network. All on the same subnet. But my site is using a public IP address. So it could be going out and back in the FW. Do you know if there any ports that I need to open? Or does it travel through SSL on 443

Hey @KeithMacK - I'm going to pick up this conversation and hopefully get you back on track! As Gonzalo mentioned, though, the VS Code integration is still a fairly early beta feature. :sweat_smile:

Mostly to isolate the nature of the issue, can you try to initiate the authentication flow from VS Code? You can search for the "Retool: Sign In..." option in the Command Palette (Cmd+Shift+P).

At a high level, I'm inclined to believe that this is either a networking or permissions issue. I've tested on a few different self-hosted instances without any issues. :thinking: Are you able to pull the logs for your main-backend container when trying to authenticate?

I'm 95% positive that all server ingress happens as SSL through port 443, so you should be fine on that end.

I will give that a try tomorrow. @Darren can you help me get you the log info? Or I can look that up. Don't have access today.

1 Like

Sounds good! There is a blurb in the docs about accessing container logs, but it's not super detailed. At a high level, you'll go through the following steps:

  1. Connect to the server or VM that is running your Retool deployment.
  2. Display a list of running pods/containers:
    a. Kubernetes: sudo kubectl get pods
    b. Docker: sudo docker compose ps
  3. Find the name of the pod/container from which you want logs.
  4. Display the logs:
    a. Kubernetes: sudo kubectl logs pod_name
    b. Docker: sudo docker compose logs container_name

For the last step, you can append a -f or --follow to either command if you want the logs to update live in the console. You can additionally append | grep search_text to filter the logs by some given text parameter.

@Darren Thank you for that. Step 2b did not get me the right name. Needed to look at YAML file. Just if anyone else is using this....

I am guessing permissions. Something with the password less login... Looking at the log it looks like it should work. But just keeps asking to authorize... Log attached. More than you need. But for today. Low use but didn't know if helpful.

I replaced my real URL with something fake for the url_base

api_1                | {"level":"info","message":"Rechecking license status...","timestamp":"2024-10-02T00:27:44.082Z"}
api_1                | {"level":"info","message":"license check http response code: 200","timestamp":"2024-10-02T00:27:44.408Z"}
api_1                | {"level":"info","message":"License key feature flag overrides: {\"emailSupportOverride\":true}","timestamp":"2024-10-02T00:27:44.409Z"}
api_1                | {"level":"info","message":"Updated license status from licensing server","timestamp":"2024-10-02T00:27:44.409Z"}
api_1                | {"level":"info","message":"Rechecking license status...","pid":84,"requestId":"48cb20e0-ecd5-4495-a727-0a9bdaaea7d1","timestamp":"2024-10-02T00:27:47.999Z"}
api_1                | {"level":"info","message":"license check http response code: 200","pid":84,"requestId":"48cb20e0-ecd5-4495-a727-0a9bdaaea7d1","timestamp":"2024-10-02T00:27:48.292Z"}
api_1                | {"level":"info","message":"License key feature flag overrides: {\"emailSupportOverride\":true}","pid":84,"requestId":"48cb20e0-ecd5-4495-a727-0a9bdaaea7d1","timestamp":"2024-10-02T00:27:48.293Z"}
api_1                | {"level":"info","message":"Updated license status from licensing server","pid":84,"requestId":"48cb20e0-ecd5-4495-a727-0a9bdaaea7d1","timestamp":"2024-10-02T00:27:48.294Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","url_base":"api","url_path":"/api/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php"},"type":"REQUEST_BEGIN"},"timestamp":"2024-10-02T05:34:26.053Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","request":{"time":0.016701266288757323},"status_code":401,"url_base":"api","url_path":"/api/vendor/phpunit/phpunit/src/Util/PHP/eval-stdin.php"},"type":"REQUEST_FINISH"},"pid":53,"requestId":"9012df6e-c8af-4df5-b3b5-e67b1828bec2","timestamp":"2024-10-02T05:34:26.070Z"}
api_1                | {"level":"info","message":"Rechecking license status...","pid":84,"requestId":"48cb20e0-ecd5-4495-a727-0a9bdaaea7d1","timestamp":"2024-10-02T06:05:34.555Z"}
api_1                | {"level":"info","message":"license check http response code: 200","pid":84,"requestId":"48cb20e0-ecd5-4495-a727-0a9bdaaea7d1","timestamp":"2024-10-02T06:05:34.880Z"}
api_1                | {"level":"info","message":"License key feature flag overrides: {\"emailSupportOverride\":true}","pid":84,"requestId":"48cb20e0-ecd5-4495-a727-0a9bdaaea7d1","timestamp":"2024-10-02T06:05:34.881Z"}
api_1                | {"level":"info","message":"Updated license status from licensing server","pid":84,"requestId":"48cb20e0-ecd5-4495-a727-0a9bdaaea7d1","timestamp":"2024-10-02T06:05:34.881Z"}
api_1                | {"level":"info","message":"Rechecking license status...","timestamp":"2024-10-02T06:21:04.309Z"}
api_1                | {"level":"info","message":"license check http response code: 200","timestamp":"2024-10-02T06:21:04.911Z"}
api_1                | {"level":"info","message":"License key feature flag overrides: {\"emailSupportOverride\":true}","timestamp":"2024-10-02T06:21:04.913Z"}
api_1                | {"level":"info","message":"Updated license status from licensing server","timestamp":"2024-10-02T06:21:04.914Z"}
api_1                | {"level":"info","message":"Rechecking license status...","timestamp":"2024-10-02T12:03:20.922Z"}
api_1                | {"level":"info","message":"license check http response code: 200","timestamp":"2024-10-02T12:03:21.513Z"}
api_1                | {"level":"info","message":"License key feature flag overrides: {\"emailSupportOverride\":true}","timestamp":"2024-10-02T12:03:21.514Z"}
api_1                | {"level":"info","message":"Updated license status from licensing server","timestamp":"2024-10-02T12:03:21.514Z"}
api_1                | {"level":"info","message":"Rechecking license status...","pid":84,"requestId":"48cb20e0-ecd5-4495-a727-0a9bdaaea7d1","timestamp":"2024-10-02T12:19:35.601Z"}
api_1                | {"level":"info","message":"license check http response code: 200","pid":84,"requestId":"48cb20e0-ecd5-4495-a727-0a9bdaaea7d1","timestamp":"2024-10-02T12:19:35.931Z"}
api_1                | {"level":"info","message":"License key feature flag overrides: {\"emailSupportOverride\":true}","pid":84,"requestId":"48cb20e0-ecd5-4495-a727-0a9bdaaea7d1","timestamp":"2024-10-02T12:19:35.932Z"}
api_1                | {"level":"info","message":"Updated license status from licensing server","pid":84,"requestId":"48cb20e0-ecd5-4495-a727-0a9bdaaea7d1","timestamp":"2024-10-02T12:19:35.932Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","url_base":"api","url_path":"/api/experiments"},"type":"REQUEST_BEGIN"},"timestamp":"2024-10-02T12:51:08.923Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","request":{"time":0.016226268768310546},"status_code":304,"url_base":"https://notarealurl.com","url_path":"/api/experiments"},"type":"REQUEST_FINISH"},"pid":84,"requestId":"52333fd7-3234-4c8d-9dd3-dd0fe5b2bc97","retoolClientVersion":"3.82.0","timestamp":"2024-10-02T12:51:08.939Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","url_base":"api","url_path":"/api/user"},"type":"REQUEST_BEGIN"},"timestamp":"2024-10-02T12:51:08.972Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","request":{"time":0.06828931283950805},"status_code":200,"url_base":"https://notarealurl.com","url_path":"/api/user"},"type":"REQUEST_FINISH"},"pid":53,"requestId":"283a42b6-4eea-4d47-beb2-a01cbddfdf98","retoolClientVersion":"3.82.0","timestamp":"2024-10-02T12:51:09.041Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","url_base":"api","url_path":"/api/pages/lookupPage?pagePath=Main&showLatest=false&mode=view"},"type":"REQUEST_BEGIN"},"timestamp":"2024-10-02T12:51:09.196Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","request":{"time":0.07146404695510865},"status_code":304,"url_base":"https://notarealurl.com","url_path":"/lookupPage?pagePath=Main&showLatest=false&mode=view"},"type":"REQUEST_FINISH"},"pid":84,"requestId":"f5ce4ceb-ccb9-4056-83f8-057a7e7c7493","retoolClientVersion":"3.82.0","timestamp":"2024-10-02T12:51:09.268Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","url_base":"api","url_path":"/api/organization/themeImages"},"type":"REQUEST_BEGIN"},"timestamp":"2024-10-02T12:51:09.807Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","request":{"time":0.008585689067840576},"status_code":304,"url_base":"https://notarealurl.com","url_path":"/themeImages"},"type":"REQUEST_FINISH"},"pid":53,"requestId":"4231d750-cb8d-46e8-af0f-a7efc97e76a8","timestamp":"2024-10-02T12:51:09.816Z"}
api_1                | {"level":"info","message":{"http":{"method":"POST","url_base":"api","url_path":"/api/refreshtoken"},"type":"REQUEST_BEGIN"},"timestamp":"2024-10-02T12:51:10.103Z"}
api_1                | {"level":"info","message":"[oauth2sso] Not enabled, skipping refresh.","pid":84,"requestId":"4672cffd-7eb9-4445-81cf-d9c520d9b621","timestamp":"2024-10-02T12:51:10.117Z"}
api_1                | {"level":"info","message":{"http":{"method":"POST","request":{"time":0.023785349369049073},"status_code":200,"url_base":"https://notarealurl.com","url_path":"/api/refreshtoken"},"type":"REQUEST_FINISH"},"pid":84,"requestId":"4672cffd-7eb9-4445-81cf-d9c520d9b621","timestamp":"2024-10-02T12:51:10.126Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","url_base":"api","url_path":"/api/pages/lookupPageByUuid?pageUuid=34388390-f720-11ed-8c83-4bfa09ac42d7&showLatest=false&releaseVersion=&historyOffset=&mode=view&userTaskInstanceId="},"type":"REQUEST_BEGIN"},"timestamp":"2024-10-02T12:51:10.377Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","request":{"time":0.047487095832824705},"status_code":304,"url_base":"https://notarealurl.com","url_path":"/lookupPageByUuid?pageUuid=34388390-f720-11ed-8c83-4bfa09ac42d7&showLatest=false&releaseVersion=&historyOffset=&mode=view&userTaskInstanceId="},"type":"REQUEST_FINISH"},"pid":53,"requestId":"f8db0530-c9d1-4492-a0c1-f77575c5b164","retoolClientVersion":"3.82.0","timestamp":"2024-10-02T12:51:10.425Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","url_base":"api","url_path":"/api/customComponentCollections"},"type":"REQUEST_BEGIN"},"timestamp":"2024-10-02T12:51:10.481Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","request":{"time":0.01152992057800293},"status_code":304,"url_base":"https://notarealurl.com","url_path":"/"},"type":"REQUEST_FINISH"},"pid":84,"requestId":"0d4824d5-2efb-461b-a91c-c38fcf58d490","timestamp":"2024-10-02T12:51:10.493Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","url_base":"api","url_path":"/api/customComponentCollections"},"type":"REQUEST_BEGIN"},"timestamp":"2024-10-02T12:51:10.534Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","request":{"time":0.010291408061981202},"status_code":304,"url_base":"https://notarealurl.com","url_path":"/"},"type":"REQUEST_FINISH"},"pid":53,"requestId":"6d27411e-be88-4da1-91cf-c2cfffea1a5f","timestamp":"2024-10-02T12:51:10.544Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","url_base":"api","url_path":"/api/resources"},"type":"REQUEST_BEGIN"},"timestamp":"2024-10-02T12:51:10.551Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","url_base":"api","url_path":"/api/branches"},"type":"REQUEST_BEGIN"},"timestamp":"2024-10-02T12:51:10.558Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","request":{"time":0.0331720461845398},"status_code":200,"url_base":"https://notarealurl.com","url_path":"/"},"type":"REQUEST_FINISH"},"pid":53,"requestId":"22995df7-e983-487c-b80c-c1ec648054db","timestamp":"2024-10-02T12:51:10.591Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","url_base":"api","url_path":"/api/configVars/apps"},"type":"REQUEST_BEGIN"},"timestamp":"2024-10-02T12:51:10.604Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","url_base":"api","url_path":"/api/environments"},"type":"REQUEST_BEGIN"},"timestamp":"2024-10-02T12:51:10.619Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","request":{"time":0.020457212924957276},"status_code":304,"url_base":"https://notarealurl.com","url_path":"/apps"},"type":"REQUEST_FINISH"},"pid":53,"requestId":"745a6a33-2a2e-4467-9634-e3d5280d7404","timestamp":"2024-10-02T12:51:10.625Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","url_base":"api","url_path":"/api/sourceControl/settings"},"type":"REQUEST_BEGIN"},"timestamp":"2024-10-02T12:51:10.632Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","request":{"time":0.014119946956634521},"status_code":304,"url_base":"https://notarealurl.com","url_path":"/"},"type":"REQUEST_FINISH"},"pid":84,"requestId":"8c665261-f5c6-4516-97f5-89e3b4220dee","timestamp":"2024-10-02T12:51:10.633Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","url_base":"api","url_path":"/api/branches/getCommitsOnBranch"},"type":"REQUEST_BEGIN"},"timestamp":"2024-10-02T12:51:10.633Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","request":{"time":0.0874855136871338},"status_code":200,"url_base":"https://notarealurl.com","url_path":"/"},"type":"REQUEST_FINISH"},"pid":84,"requestId":"08b179bc-3dcf-4558-8479-77c488b3b687","timestamp":"2024-10-02T12:51:10.638Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","url_base":"api","url_path":"/api/playground"},"type":"REQUEST_BEGIN"},"timestamp":"2024-10-02T12:51:10.639Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","request":{"time":0.007794481754302978},"status_code":304,"url_base":"https://notarealurl.com","url_path":"/getCommitsOnBranch"},"type":"REQUEST_FINISH"},"pid":84,"requestId":"7a80af61-64e7-47f9-b53e-de748f6e3417","timestamp":"2024-10-02T12:51:10.641Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","url_base":"api","url_path":"/api/editor/pageNames"},"type":"REQUEST_BEGIN"},"timestamp":"2024-10-02T12:51:10.645Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","request":{"time":0.022058831214904786},"status_code":304,"url_base":"https://notarealurl.com","url_path":"/settings"},"type":"REQUEST_FINISH"},"pid":53,"requestId":"58815a38-0557-4b30-ad3b-95ba80a0859f","timestamp":"2024-10-02T12:51:10.654Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","url_base":"api","url_path":"/api/pages?mobileAppsOnly=false"},"type":"REQUEST_BEGIN"},"timestamp":"2024-10-02T12:51:10.656Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","url_base":"api","url_path":"/api/pages/uuids/34388390-f720-11ed-8c83-4bfa09ac42d7/tags"},"type":"REQUEST_BEGIN"},"timestamp":"2024-10-02T12:51:10.658Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","request":{"time":0.02921170473098755},"status_code":304,"url_base":"https://notarealurl.com","url_path":"/"},"type":"REQUEST_FINISH"},"pid":53,"requestId":"110c832e-d97a-4591-b274-b5a3c9e925d6","timestamp":"2024-10-02T12:51:10.668Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","request":{"time":0.023456045150756836},"status_code":304,"url_base":"https://notarealurl.com","url_path":"/pageNames"},"type":"REQUEST_FINISH"},"pid":84,"requestId":"b21513d9-8323-4229-b01c-54917e13124d","timestamp":"2024-10-02T12:51:10.669Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","request":{"time":0.020654916286468507},"status_code":304,"url_base":"https://notarealurl.com","url_path":"/?mobileAppsOnly=false"},"type":"REQUEST_FINISH"},"pid":53,"requestId":"327a4653-887a-42e9-8e0e-87c22082c40a","timestamp":"2024-10-02T12:51:10.676Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","request":{"time":0.019876808166503907},"status_code":304,"url_base":"https://notarealurl.com","url_path":"/34388390-f720-11ed-8c83-4bfa09ac42d7/tags"},"type":"REQUEST_FINISH"},"page":{"embed":true,"folderId":1,"name":"Main","uuid":"34388390-f720-11ed-8c83-4bfa09ac42d7"},"pid":84,"requestId":"2cc9c867-f224-4c1f-97ab-7eee1177b14e","timestamp":"2024-10-02T12:51:10.678Z"}
api_1                | {"level":"info","message":{"http":{"method":"POST","url_base":"api","url_path":"/api/pages/uuids/34388390-f720-11ed-8c83-4bfa09ac42d7/checkQueryAuthForPage"},"type":"REQUEST_BEGIN"},"timestamp":"2024-10-02T12:51:11.335Z"}
api_1                | {"level":"info","message":{"http":{"method":"POST","request":{"time":0.03389885377883911},"status_code":200,"url_base":"https://notarealurl.com","url_path":"/34388390-f720-11ed-8c83-4bfa09ac42d7/checkQueryAuthForPage"},"type":"REQUEST_FINISH"},"pid":53,"requestId":"4c62ab00-d52f-4a53-bfa4-df31c8aa9b11","retoolClientVersion":"3.82.0","timestamp":"2024-10-02T12:51:11.369Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","url_base":"api","url_path":"/api/experiments"},"type":"REQUEST_BEGIN"},"timestamp":"2024-10-02T12:51:16.936Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","request":{"time":0.0013278141021728516},"status_code":304,"url_base":"https://notarealurl.com","url_path":"/api/experiments"},"type":"REQUEST_FINISH"},"pid":84,"requestId":"fa16cf1d-bd8c-45ed-b390-bad90d9d7f6b","retoolClientVersion":"3.82.0","timestamp":"2024-10-02T12:51:16.938Z"}
api_1                | {"level":"info","message":{"http":{"method":"POST","url_base":"api","url_path":"/api/ddMetric"},"type":"REQUEST_BEGIN"},"timestamp":"2024-10-02T12:51:16.950Z"}
api_1                | {"level":"info","message":{"http":{"method":"POST","request":{"time":0.0015105161666870118},"status_code":200,"url_base":"https://notarealurl.com","url_path":"/api/ddMetric"},"type":"REQUEST_FINISH"},"pid":53,"requestId":"f751d342-8560-4c5a-9520-2c2a57512a07","timestamp":"2024-10-02T12:51:16.951Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","url_base":"api","url_path":"/api/pages/lookupPageByUuid?pageUuid=34388390-f720-11ed-8c83-4bfa09ac42d7&showLatest=false&mode=view"},"type":"REQUEST_BEGIN"},"timestamp":"2024-10-02T12:51:16.952Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","request":{"time":0.04676778793334961},"status_code":200,"url_base":"https://notarealurl.com","url_path":"/lookupPageByUuid?pageUuid=34388390-f720-11ed-8c83-4bfa09ac42d7&showLatest=false&mode=view"},"type":"REQUEST_FINISH"},"pid":84,"requestId":"6c8e266c-1554-40c8-8f31-95439c6355c3","retoolClientVersion":"3.82.0","timestamp":"2024-10-02T12:51:16.998Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","url_base":"api","url_path":"/api/user"},"type":"REQUEST_BEGIN"},"timestamp":"2024-10-02T12:51:16.999Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","request":{"time":0.05732509803771973},"status_code":200,"url_base":"https://notarealurl.com","url_path":"/api/user"},"type":"REQUEST_FINISH"},"pid":53,"requestId":"19ac0872-3748-4ead-ba29-703e11e3ca68","retoolClientVersion":"3.82.0","timestamp":"2024-10-02T12:51:17.056Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","url_base":"api","url_path":"/api/organization/themeImages"},"type":"REQUEST_BEGIN"},"timestamp":"2024-10-02T12:51:17.179Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","request":{"time":0.00825048589706421},"status_code":304,"url_base":"https://notarealurl.com","url_path":"/themeImages"},"type":"REQUEST_FINISH"},"pid":84,"requestId":"d06315d2-51f1-4c60-ae4b-0ac368ba3bc5","timestamp":"2024-10-02T12:51:17.187Z"}
api_1                | {"level":"info","message":{"http":{"method":"POST","url_base":"api","url_path":"/api/refreshtoken"},"type":"REQUEST_BEGIN"},"timestamp":"2024-10-02T12:51:17.228Z"}
api_1                | {"level":"info","message":"[oauth2sso] Not enabled, skipping refresh.","pid":53,"requestId":"2fe62cd9-be52-4392-b69c-b271db6f7fdb","timestamp":"2024-10-02T12:51:17.241Z"}
api_1                | {"level":"info","message":{"http":{"method":"POST","request":{"time":0.014305049896240235},"status_code":200,"url_base":"https://notarealurl.com","url_path":"/api/refreshtoken"},"type":"REQUEST_FINISH"},"pid":53,"requestId":"2fe62cd9-be52-4392-b69c-b271db6f7fdb","timestamp":"2024-10-02T12:51:17.242Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","url_base":"api","url_path":"/api/configVars/apps"},"type":"REQUEST_BEGIN"},"timestamp":"2024-10-02T12:51:17.425Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","url_base":"api","url_path":"/api/branches"},"type":"REQUEST_BEGIN"},"timestamp":"2024-10-02T12:51:17.429Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","request":{"time":0.00832878589630127},"status_code":304,"url_base":"https://notarealurl.com","url_path":"/apps"},"type":"REQUEST_FINISH"},"pid":84,"requestId":"3fb8cce4-f17d-4c9f-8c6d-a882ab55fe55","timestamp":"2024-10-02T12:51:17.433Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","request":{"time":0.021463523864746092},"status_code":304,"url_base":"https://notarealurl.com","url_path":"/"},"type":"REQUEST_FINISH"},"pid":53,"requestId":"9b5171db-e6e2-4369-af91-eb83223823d7","timestamp":"2024-10-02T12:51:17.450Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","url_base":"api","url_path":"/api/playground"},"type":"REQUEST_BEGIN"},"timestamp":"2024-10-02T12:51:17.470Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","url_base":"api","url_path":"/api/environments"},"type":"REQUEST_BEGIN"},"timestamp":"2024-10-02T12:51:17.472Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","url_base":"api","url_path":"/api/branches/getCommitsOnBranch"},"type":"REQUEST_BEGIN"},"timestamp":"2024-10-02T12:51:17.476Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","url_base":"api","url_path":"/api/sourceControl/settings"},"type":"REQUEST_BEGIN"},"timestamp":"2024-10-02T12:51:17.486Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","request":{"time":0.012662432193756103},"status_code":304,"url_base":"https://notarealurl.com","url_path":"/getCommitsOnBranch"},"type":"REQUEST_FINISH"},"pid":84,"requestId":"f2923f9d-0ded-45bb-8775-4852c0fa5bf1","timestamp":"2024-10-02T12:51:17.488Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","url_base":"api","url_path":"/api/pages/uuids/34388390-f720-11ed-8c83-4bfa09ac42d7/tags"},"type":"REQUEST_BEGIN"},"timestamp":"2024-10-02T12:51:17.491Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","request":{"time":0.021382923126220702},"status_code":304,"url_base":"https://notarealurl.com","url_path":"/"},"type":"REQUEST_FINISH"},"pid":53,"requestId":"8d1b3a89-3da9-4310-b945-8ad2a5e9f369","timestamp":"2024-10-02T12:51:17.493Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","url_base":"api","url_path":"/api/pages?mobileAppsOnly=false"},"type":"REQUEST_BEGIN"},"timestamp":"2024-10-02T12:51:17.509Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","request":{"time":0.041832736015319824},"status_code":304,"url_base":"https://notarealurl.com","url_path":"/"},"type":"REQUEST_FINISH"},"pid":84,"requestId":"846344d6-06e6-44a0-8353-f91d3216eb02","timestamp":"2024-10-02T12:51:17.512Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","request":{"time":0.02822629404067993},"status_code":304,"url_base":"https://notarealurl.com","url_path":"/settings"},"type":"REQUEST_FINISH"},"pid":53,"requestId":"51d11aad-113f-43d0-b40d-fe1a0d5644d5","timestamp":"2024-10-02T12:51:17.514Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","request":{"time":0.027084482669830323},"status_code":304,"url_base":"https://notarealurl.com","url_path":"/34388390-f720-11ed-8c83-4bfa09ac42d7/tags"},"type":"REQUEST_FINISH"},"page":{"embed":true,"folderId":1,"name":"Main","uuid":"34388390-f720-11ed-8c83-4bfa09ac42d7"},"pid":84,"requestId":"ad0e52ff-3388-4c9f-915a-75abde89a88b","timestamp":"2024-10-02T12:51:17.518Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","request":{"time":0.022108431339263917},"status_code":304,"url_base":"https://notarealurl.com","url_path":"/?mobileAppsOnly=false"},"type":"REQUEST_FINISH"},"pid":53,"requestId":"04edeae9-ea0b-43d1-9ea4-e883ecc79b7b","timestamp":"2024-10-02T12:51:17.531Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","url_base":"api","url_path":"/api/editor/pageNames"},"type":"REQUEST_BEGIN"},"timestamp":"2024-10-02T12:51:17.538Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","url_base":"api","url_path":"/api/resources"},"type":"REQUEST_BEGIN"},"timestamp":"2024-10-02T12:51:17.548Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","request":{"time":0.021146620750427246},"status_code":304,"url_base":"https://notarealurl.com","url_path":"/pageNames"},"type":"REQUEST_FINISH"},"pid":84,"requestId":"55c072e9-1080-4cf2-8826-09eee7befea1","timestamp":"2024-10-02T12:51:17.559Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","url_base":"api","url_path":"/api/customComponentCollections"},"type":"REQUEST_BEGIN"},"timestamp":"2024-10-02T12:51:17.565Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","request":{"time":0.011227618217468262},"status_code":304,"url_base":"https://notarealurl.com","url_path":"/"},"type":"REQUEST_FINISH"},"pid":84,"requestId":"253d06df-c852-4182-95a6-50a75260f026","timestamp":"2024-10-02T12:51:17.576Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","request":{"time":0.039440510749816894},"status_code":304,"url_base":"https://notarealurl.com","url_path":"/"},"type":"REQUEST_FINISH"},"pid":53,"requestId":"2632f6ec-0442-42a3-b208-c6f3a851015e","timestamp":"2024-10-02T12:51:17.587Z"}
api_1                | {"level":"info","message":{"http":{"method":"POST","url_base":"api","url_path":"/api/pages/uuids/34388390-f720-11ed-8c83-4bfa09ac42d7/checkQueryAuthForPage"},"type":"REQUEST_BEGIN"},"timestamp":"2024-10-02T12:51:18.035Z"}
api_1                | {"level":"info","message":{"http":{"method":"POST","request":{"time":0.029207504749298095},"status_code":200,"url_base":"https://notarealurl.com","url_path":"/34388390-f720-11ed-8c83-4bfa09ac42d7/checkQueryAuthForPage"},"type":"REQUEST_FINISH"},"pid":53,"requestId":"af098ee7-23be-4b5c-b3fd-749fb1e3432c","retoolClientVersion":"3.82.0","timestamp":"2024-10-02T12:51:18.064Z"}
api_1                | {"level":"info","message":{"http":{"method":"POST","url_base":"api","url_path":"/api/ddMetric"},"type":"REQUEST_BEGIN"},"timestamp":"2024-10-02T12:51:27.440Z"}
api_1                | {"level":"info","message":{"http":{"method":"POST","request":{"time":0.006213465213775635},"status_code":200,"url_base":"https://notarealurl.com","url_path":"/api/ddMetric"},"type":"REQUEST_FINISH"},"pid":84,"requestId":"35739a63-a3bc-43f9-802f-f509e8dd81f7","timestamp":"2024-10-02T12:51:27.446Z"}
api_1                | {"level":"info","message":{"http":{"method":"POST","url_base":"api","url_path":"/api/ddMetric"},"type":"REQUEST_BEGIN"},"timestamp":"2024-10-02T12:51:36.453Z"}
api_1                | {"level":"info","message":{"http":{"method":"POST","request":{"time":0.005043252944946289},"status_code":200,"url_base":"https://notarealurl.com","url_path":"/api/ddMetric"},"type":"REQUEST_FINISH"},"pid":53,"requestId":"faabb0c3-50c2-491a-9f89-ad7153e47175","timestamp":"2024-10-02T12:51:36.458Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","url_base":"api","url_path":"/api/experiments"},"type":"REQUEST_BEGIN"},"timestamp":"2024-10-02T12:51:36.732Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","request":{"time":0.0010747108459472656},"status_code":304,"url_base":"https://notarealurl.com","url_path":"/api/experiments"},"type":"REQUEST_FINISH"},"pid":84,"requestId":"56f308bb-7112-422c-80dc-8c14e79b8124","retoolClientVersion":"3.82.0","timestamp":"2024-10-02T12:51:36.733Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","url_base":"api","url_path":"/api/user"},"type":"REQUEST_BEGIN"},"timestamp":"2024-10-02T12:51:36.798Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","request":{"time":0.05391866207122803},"status_code":304,"url_base":"https://notarealurl.com","url_path":"/api/user"},"type":"REQUEST_FINISH"},"pid":53,"requestId":"45f8eddc-24e2-4b9d-a9de-28a20c8eb003","retoolClientVersion":"3.82.0","timestamp":"2024-10-02T12:51:36.852Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","url_base":"api","url_path":"/api/organization/preAuthData"},"type":"REQUEST_BEGIN"},"timestamp":"2024-10-02T12:51:37.685Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","request":{"time":0.011194416999816895},"status_code":200,"url_base":"https://notarealurl.com","url_path":"/preAuthData"},"type":"REQUEST_FINISH"},"pid":84,"requestId":"49376d9a-bcab-47e2-b57f-c880e1aa4dbc","timestamp":"2024-10-02T12:51:37.696Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","url_base":"api","url_path":"/api/organization/themeImages"},"type":"REQUEST_BEGIN"},"timestamp":"2024-10-02T12:51:37.732Z"}
api_1                | {"level":"info","message":{"http":{"method":"GET","request":{"time":0.008217885971069335},"status_code":304,"url_base":"https://notarealurl.com","url_path":"/themeImages"},"type":"REQUEST_FINISH"},"pid":53,"requestId":"45ce9ed5-f1ff-4eba-85d7-1b7817b8dfe5","timestamp":"2024-10-02T12:51:37.740Z"}
api_1                | {"level":"info","message":{"http":{"method":"POST","url_base":"api","url_path":"/api/refreshtoken"},"type":"REQUEST_BEGIN"},"timestamp":"2024-10-02T12:51:37.786Z"}
api_1                | {"level":"info","message":"[oauth2sso] Not enabled, skipping refresh.","pid":84,"requestId":"6e546672-dd94-473e-ad73-8989c3218552","timestamp":"2024-10-02T12:51:37.797Z"}
api_1                | {"level":"info","message":{"http":{"method":"POST","request":{"time":0.01151192045211792},"status_code":200,"url_base":"https://notarealurl.com","url_path":"/api/refreshtoken"},"type":"REQUEST_FINISH"},"pid":84,"requestId":"6e546672-dd94-473e-ad73-8989c3218552","timestamp":"2024-10-02T12:51:37.798Z"}
api_1                | {"level":"info","message":{"http":{"method":"POST","url_base":"api","url_path":"/api/user/passwordlessLogin/requestToken"},"type":"REQUEST_BEGIN"},"timestamp":"2024-10-02T12:51:41.269Z"}
api_1                | {"level":"info","message":{"http":{"method":"POST","request":{"time":0.0212790207862854},"status_code":200,"url_base":"https://notarealurl.com","url_path":"/api/user/passwordlessLogin/requestToken"},"type":"REQUEST_FINISH"},"pid":53,"requestId":"5b6539e3-5610-4843-b679-d6768f87e05a","timestamp":"2024-10-02T12:51:41.290Z"}
api_1                | {"level":"info","message":{"http":{"method":"POST","url_base":"api","url_path":"/api/user/passwordlessLogin/requestToken"},"type":"REQUEST_BEGIN"},"timestamp":"2024-10-02T12:52:00.944Z"}
api_1                | {"level":"info","message":{"http":{"method":"POST","request":{"time":0.025526966094970703},"status_code":200,"url_base":"https://notarealurl.com","url_path":"/api/user/passwordlessLogin/requestToken"},"type":"REQUEST_FINISH"},"pid":84,"requestId":"9e56589a-17a7-4eb4-bb5b-ddaa9e797fe9","timestamp":"2024-10-02T12:52:00.970Z"}
type or paste code here

Do you never see a request being made to the /redeem endpoint? That would suggest that it never makes it past the /requestToken step, but it doesn't seem to be throwing an error, either.

Do you mean on the ReTool server? I see the /auth/generatePasswordlessToken page. Then hit the Authorize button. It redirects back to VS Code where I get the "Allow ReTool to open this URI" dialog again. Then it just keeps looping through that process...

Does that answer your question.