Use KoboldCpp from your phone or another computer

At home, open http://<your PC's IP>:5001 on the phone and allow KoboldCpp through the PC's firewall: by default KoboldCpp already listens on every network interface. From outside your home, start it with --remotetunnel and open the address it prints. Anyone with that address can use your PC, so always add --password, and remember it protects text generation, not everything.

Checked against KoboldCpp 1.124.2 · updated 13 Nov 2026
  • lab-lnx: Linux test VM · 4 vCPU · 15 GB · no GPU
How we test
On this page
  1. KoboldCpp remote access: LAN, tunnel or your own HTTPS
  2. On your home network (LAN)
  3. From anywhere: the Cloudflare tunnel
  4. HTTPS on your own
  5. A password is not a firewall
  6. Safety checklist
  7. Check it worked
  8. Undo

KoboldCpp remote access: LAN, tunnel or your own HTTPS

Three ways to reach KoboldCpp from another device
CriterionHome network (LAN)Cloudflare tunnelYour own HTTPS
Who can reach itDevices on your Wi-FiAnyone with the addressWherever you route it
Encrypted (https)NoYes (upstream)Yes
SetupFirewall rule, your PC's addressOne flagCertificate and key files
Address stays the sameUsuallyNo, users report it changes (not tested)Yes
Tested by usListening and reaching it on Linux works F87Not run untestedStarts and serves, with a certificate warning works F87

Cloud websites such as Janitor AI need the tunnel (connecting apps).

On your home network (LAN)

  1. Check what KoboldCpp listens on

    We started 1.124.2 with no and found the port open on all interfaces: a request to the machine’s own network address returned 200 F87. With --host 127.0.0.1 it was open to the PC only and the network address failed. The launcher’s Network tab has a Host box for the same setting.
  2. Find the PC's address

    Windows: ipconfig, Linux: ip addr, macOS: System Settings, Network. Take the IPv4 address of your Wi-Fi.
  3. Allow it through the firewall

    Windows asks the first time; choose private networks. You can add a rule for the port later in Windows Defender Firewall. On Linux and macOS open the port in your firewall tool if you use one (we did not test these).
  4. Open it on the phone

    http://<PC address>:5001 in the phone’s browser.

We tested the listening part on a Linux machine. We did not test a phone, a second device, or the Windows and macOS firewall prompts, so those steps are the standard ones, not our results. A page on the https website can call a KoboldCpp on localhost, but Chrome 153 blocked it from the PC’s network address as mixed content F78; use the address in the address bar of the device instead.

From anywhere: the Cloudflare tunnel

(Remote Tunnel in the launcher) downloads cloudflared, opens a quick tunnel and prints an https://….trycloudflare.com address (since 1.48, macOS since 1.60, upstream). Add a password. We could not test it: our sandbox refused to open a public tunnel. So the first-start time, the file location, how often the address changes and any time-out on long replies are not measured here; users report that the address changes at every start and that very long generations can be cut. The Colab notebook uses the same tunnel (Colab).

HTTPS on your own

takes a certificate file and a key file. With a self-signed pair the server answered https:// and a strict client refused the certificate, which is what a browser warning is; plain http:// on the same port was reset F87. You need https when a browser feature such as the microphone only works on https or localhost (voice). A reverse proxy or your own named tunnel is outside this guide’s tests.

A password is not a firewall

(Network tab, or the KCPP_PASSWORD environment variable, which we tested F87) makes generation need a key: without it generate returned 401 and with Authorization: Bearer <key> it returned 200. Discovery still works: the Lite page and /api/v1/model answer without a key, and upstream says image endpoints are not protected F25. In plain words: anyone with the address can see that a KoboldCpp is running.

Other controls:

  • sets seconds between generations per address: with 8, the second call right after the first got 503, and a call after 9 seconds got 200 F87.
  • caps image size on a shared server; protects admin mode if you use it; and limit load (upstream, not tested).
  • A browser risk is reported in the project’s issue 539: any website you visit can call a local API. We found KoboldCpp answers cross-origin calls permissively, including with an Authorization header F77, so a password is what protects you from other websites.

Safety checklist

Before you share access 0 of 8 done

Check it worked

The phone shows the Lite page and a test prompt gets an answer. With a password set, an API call without the key must return 401 (API tester).

Undo

Close KoboldCpp (the tunnel ends), remove the firewall rule, and delete host and the tunnel setting from a saved config (config files). To keep it local while it runs, start with --host 127.0.0.1.

Frequently asked questions

How do I use KoboldCpp from my phone?

Put the phone on the same Wi-Fi as the PC and open http://<PC address>:5001 in its browser. KoboldCpp listens on all interfaces by default, so the usual blocker is the PC's firewall.

What does --host do?

It chooses which address KoboldCpp listens on. With no value we found it open on all interfaces; --host 127.0.0.1 limits it to the PC itself, and the network address then failed to connect.

Do I need --host 0.0.0.0?

On 1.124.2 we saw the same result with it and without it. Some guides say to set it; it does no harm.

Is a password enough to expose KoboldCpp?

It protects text generation, not everything: the page and the model name still answer, and the image endpoints are not protected. Treat it as a lock on one door.

Does the tunnel address stay the same?

Users report it changes at every start. We could not open a public tunnel in our sandbox, so we have not measured it.

How do I get https?

Start with --ssl and a certificate and key file. A self-signed certificate works but every browser warns. Plain http on the same port stops working.