# How to install cursor-server manually?

**URL:** <https://forum.cursor.com/t/how-to-install-cursor-server-manually/817>\
**Category:** Help\
**Created:** [September 30, 2023, 9:52pm UTC](https://forum.cursor.com/t/how-to-install-cursor-server-manually/817 "2023-09-30T21:52:09Z")\
**Posts on this page:** 15\
**Page:** 1

<div class="post-metadata">

**Author:** ![anonymousmaharaj](https://avatars.discourse-cdn.com/v4/letter/a/bcef8e/32.png) [@anonymousmaharaj](https://forum.cursor.com/u/anonymousmaharaj)\
**Post date:** [September 30, 2023, 9:52pm UTC](https://forum.cursor.com/t/how-to-install-cursor-server-manually/817/1 "2023-09-30T21:52:09Z")

</div>

Hello there!  
I want to use a remote connection to a server, but this server has no direct internet access, only proxy. We can use ssh to connect.  
I want to install Cursor Server manually. How can I do this? Is it possible?

---

<div class="post-metadata">

**Author:** ![arvid220u](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/arvid220u/32/82089_2.png) [@arvid220u](https://forum.cursor.com/u/arvid220u)\
**Post date:** [October 1, 2023, 1:25am UTC](https://forum.cursor.com/t/how-to-install-cursor-server-manually/817/2 "2023-10-01T01:25:13Z")

</div>

The Cursor server is hosted at `https://cursor.blob.core.windows.net/remote-releases/${version}-${commit}/vscode-reh-${os}-${arch}.tar.gz`.

For example, for the latest release, the link is `https://cursor.blob.core.windows.net/remote-releases/0.11.8-769e57fc532d17f247b121cdf4b6c37f1cccb540/vscode-reh-linux-x64.tar.gz`

For every new Cursor update, you would need to update the version and the commit, which may be a little bit tricky.

---

<div class="post-metadata">

**Author:** ![anonymousmaharaj](https://avatars.discourse-cdn.com/v4/letter/a/bcef8e/32.png) [@anonymousmaharaj](https://forum.cursor.com/u/anonymousmaharaj)\
**Post date:** [October 1, 2023, 8:02pm UTC](https://forum.cursor.com/t/how-to-install-cursor-server-manually/817/3 "2023-10-01T20:02:42Z")

</div>

Thank you. But anyway, how to install and run it manually?

---

<div class="post-metadata">

**Author:** ![arvid220u](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/arvid220u/32/82089_2.png) [@arvid220u](https://forum.cursor.com/u/arvid220u)\
**Post date:** [October 2, 2023, 10:39am UTC](https://forum.cursor.com/t/how-to-install-cursor-server-manually/817/4 "2023-10-02T10:39:52Z")

</div>

One idea would be to just download from the link above on a separate machine, and then `scp` in the cursor server onto your airgapped machine. Would that work?

---

<div class="post-metadata">

**Author:** ![anonymousmaharaj](https://avatars.discourse-cdn.com/v4/letter/a/bcef8e/32.png) [@anonymousmaharaj](https://forum.cursor.com/u/anonymousmaharaj)\
**Post date:** [October 2, 2023, 1:27pm UTC](https://forum.cursor.com/t/how-to-install-cursor-server-manually/817/5 "2023-10-02T13:27:33Z")

</div>

Yes. There is no problem to transfer tar to the remote server. My question is How to run this server and allow to my Cursor IDE to connect this Cursor Server?

---

<div class="post-metadata">

**Author:** ![anonymousmaharaj](https://avatars.discourse-cdn.com/v4/letter/a/bcef8e/32.png) [@anonymousmaharaj](https://forum.cursor.com/u/anonymousmaharaj)\
**Post date:** [October 4, 2023, 10:50am UTC](https://forum.cursor.com/t/how-to-install-cursor-server-manually/817/6 "2023-10-04T10:50:16Z")

</div>

Please help me!

---

<div class="post-metadata">

**Author:** ![anonymousmaharaj](https://avatars.discourse-cdn.com/v4/letter/a/bcef8e/32.png) [@anonymousmaharaj](https://forum.cursor.com/u/anonymousmaharaj)\
**Post date:** [October 6, 2023, 7:21pm UTC](https://forum.cursor.com/t/how-to-install-cursor-server-manually/817/7 "2023-10-06T19:21:39Z")

</div>

bump

---

<div class="post-metadata">

**Author:** ![fire](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/fire/32/96092_2.png) [@fire](https://forum.cursor.com/u/fire)\
**Post date:** [October 6, 2023, 7:55pm UTC](https://forum.cursor.com/t/how-to-install-cursor-server-manually/817/8 "2023-10-06T19:55:18Z")

</div>

it should simply run automatically when cursor connects over ssh, as long as the server binary is in the expected location, iirc.

---

<div class="post-metadata">

**Author:** ![anonymousmaharaj](https://avatars.discourse-cdn.com/v4/letter/a/bcef8e/32.png) [@anonymousmaharaj](https://forum.cursor.com/u/anonymousmaharaj)\
**Post date:** [October 6, 2023, 8:07pm UTC](https://forum.cursor.com/t/how-to-install-cursor-server-manually/817/9 "2023-10-06T20:07:43Z")

</div>

Need to check this. this is .cursor-server I suppose

---

<div class="post-metadata">

**Author:** ![fire](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/fire/32/96092_2.png) [@fire](https://forum.cursor.com/u/fire)\
**Post date:** [October 6, 2023, 8:13pm UTC](https://forum.cursor.com/t/how-to-install-cursor-server-manually/817/10 "2023-10-06T20:13:45Z")

</div>

aye, if memory serves the default location is `/home/$USER/.cursor-server/bin/${commit}`

where `${commit}` is the same identifier as used above in [How to install cursor-server manually? - #2 by arvid220u](https://forum.cursor.com/t/how-to-install-cursor-server-manually/817/2)

---

<div class="post-metadata">

**Author:** ![anonymousmaharaj](https://avatars.discourse-cdn.com/v4/letter/a/bcef8e/32.png) [@anonymousmaharaj](https://forum.cursor.com/u/anonymousmaharaj)\
**Post date:** [October 6, 2023, 8:24pm UTC](https://forum.cursor.com/t/how-to-install-cursor-server-manually/817/11 "2023-10-06T20:24:46Z")

</div>

yup. got it. thank you

---

<div class="post-metadata">

**Author:** ![JustMark](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/justmark/32/973_2.png) [@JustMark](https://forum.cursor.com/u/JustMark)\
**Post date:** [February 14, 2024, 10:00pm UTC](https://forum.cursor.com/t/how-to-install-cursor-server-manually/817/12 "2024-02-14T22:00:31Z")

</div>

I’ve installed the latest version of cursor-server. It starts up fine, and I have my certs and gateway configured fine. When I try to connect to the server, I just get “Forbidden.” I was using some of the instructions I found for the code-server installation, but it appears that this isn’t entirely up to date with the latest release. My systemctl status:

```auto
● cursor-server.service - cursor-server
     Loaded: loaded (/lib/systemd/system/cursor-server.service; enabled; vendor preset: enabled)
     Active: active (running) since Wed 2024-02-14 21:58:01 UTC; 14s ago
   Main PID: 92945 (sh)
      Tasks: 12 (limit: 38496)
     Memory: 24.3M
     CGroup: /system.slice/cursor-server.service
             ├─92945 sh /usr/bin/cursor-server --host 127.0.0.1 --port 8080 --user-data-dir /var/lib/cursor-server --accept-server-license-terms
             └─92955 /usr/lib/code-server/node /usr/lib/code-server/out/server-main.js --host 127.0.0.1 --port 8080 --user-data-dir /var/lib/cursor-server --accept-server-license-terms

Feb 14 21:58:01 prod-tools systemd[1]: Started cursor-server.
Feb 14 21:58:01 prod-tools cursor-server[92955]: Server bound to 127.0.0.1:8080 (IPv4)
Feb 14 21:58:01 prod-tools cursor-server[92955]: Extension host agent listening on 8080
Feb 14 21:58:01 prod-tools cursor-server[92955]: [21:58:01]
Feb 14 21:58:01 prod-tools cursor-server[92955]: FaroSystemAppender constructor
Feb 14 21:58:01 prod-tools cursor-server[92955]: [21:58:01] Extension host agent started.

```

Anyone have any idea what the issue might be?

Thanks

---

<div class="post-metadata">

**Author:** ![Sigurd](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/sigurd/32/17172_2.png) [@Sigurd](https://forum.cursor.com/u/Sigurd)\
**Post date:** [December 24, 2024, 12:24am UTC](https://forum.cursor.com/t/how-to-install-cursor-server-manually/817/13 "2024-12-24T00:24:05Z")

</div>

run this script locally, then your cursor server will be updated! @anonymousmaharaj

replace Your-server with your username@server-IP then it will work.(I assume you have set up your SSH public and private keys.)

```auto
INSTALL_DIR="/home/$USER/.cursor-server"

# Get commit info locally

commit=$(cursor --version | head -n 2 | tail -n 1 | cut -d ' ' -f 2)

DOWNLOAD_URL="https://cursor.blob.core.windows.net/remote-releases/${commit}/cli-alpine-x64.tar.gz"

echo "Updating Cursor Server to version $version..."

# Execute commands on remote server

ssh Your-server<<ENDSSH

cd "$INSTALL_DIR"

rm -rf cli-alpine-x64.tar.gz

rm -rf cursor-${commit}

curl -L "$DOWNLOAD_URL" -o "cli-alpine-x64.tar.gz"

tar -xzf "cli-alpine-x64.tar.gz"

mv cursor cursor-${commit}

rm "cli-alpine-x64.tar.gz"

echo "Cursor Server updated successfully in $INSTALL_DIR/cursor-${commit}!"

ENDSSH

```

---

<div class="post-metadata">

**Author:** ![CaledoniaProject](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/caledoniaproject/32/56240_2.png) [@CaledoniaProject](https://forum.cursor.com/u/CaledoniaProject)\
**Post date:** [May 27, 2025, 2:26am UTC](https://forum.cursor.com/t/how-to-install-cursor-server-manually/817/14 "2025-05-27T02:26:33Z")

</div>

It’s easy to get the server up. But how do we setup the client? There’s no way to make Cursor authenticate to this directly.

---

<div class="post-metadata">

**Author:** ![system](https://sea3.discourse-cdn.com/cursor1/user_avatar/forum.cursor.com/system/32/99069_2.png) [@system](https://forum.cursor.com/u/system)\
**Post date:** [June 18, 2026, 10:44am UTC](https://forum.cursor.com/t/how-to-install-cursor-server-manually/817/15 "2026-06-18T10:44:06Z")

</div>


