YouBothAgent▾
You — Business rules and flows you own. Read these yourself.
Both — Know the idea; your agent follows the details.
Agent — Conventions and references your agent follows. Look up as needed.
CLI Reference▾
AkanJS Reference▾
UI Reference▾

Tunnel CLI

akan tunnel puts a public URL in front of the dev server on your laptop, for as long as you need it. No deployment is involved.
Check on a Phone
A designer opens the screen you just built on their own phone, right now.
Receive a Webhook
A payment provider's webhook reaches the handler you are still editing.
Usually you need this while running the app anyway, so akan start --share opens the share with the session. akan tunnel is the standalone form: it shares an app that is already running and does nothing else. See which one to use.
Words Used on This Page
share
One local app connected to a public URL. It has a code, a URL and an expiry.
code
The short name of a share. --stop takes it.
Akan Cloud
The server that issues public hostnames and tracks shares. akan login signs in to it.
TTL
How long a share lives before it expires on its own.

tunnel

Share an app running on this machine on a public URL. The connection runs inside this command, so nothing needs installing before the URL appears. The share lives as long as the command does: Ctrl-C ends it and hands the address back.
Signature
Arguments
appString
App to share. Taken as is when there is only one app, and picked from a list when there are several.
Options
--listBooleandefault false
List this account's shares with connection state, code, URL, app name and expiry, then exit.
--stopStringdefault ""
Revoke the share with this code, then exit.
--hostStringdefault https://cloud.akanjs.com
Akan Cloud to use. In the framework repo (USE_AKANJS_PKGS=true) it is http://localhost:8283.
--portNumbernullable
Local port to share. Unset, it is the dev port akan start gives this app.
--ttlNumbernullable
Minutes until the share expires on its own. Unset, Akan Cloud decides.
Notes
URL
Printed with its expiry and an akan tunnel --stop <code> line, and copied to the clipboard.
Ctrl-C
The first one hands the hostname back. A second exits at once, and the share expires on its TTL.
reconnect
A dropped link is reported and reconnected. The share stays open.
before the app
The share can open before the app listens. Requests are refused until the port opens.
account
A share belongs to the account akan login signed in to on that --host. --list shows them.
--list · --stop
Neither asks for an app. They act on the account's shares.
not a deployment
Requests reach the dev server as they are. No auth, cache or build step is added in front.
Examples

Share Or Tunnel

Both open the same kind of share on the same Akan Cloud. What differs is which process holds it, and so when it ends.
Aspectakan start --shareakan tunnel
SharesEvery app the session bootsOne app that is already running
Ends whenThe dev session endsYou stop the command
PortThe app's dev portThe dev port, or any port with --port
ExpiryAkan Cloud's default--ttl minutes, or Akan Cloud's default
Akan CloudThe default addressThe default address, or the one given to --host
Finding the URLShown in the view's header and copied with s, or printed under --plainPrinted and copied to the clipboard
If it failsThe error is printed and the session starts anywayThe command exits with the error
  • s in the full-screen view. It copies the selected app's public URL, or every app's from the all apps row.
  • The header. The view shows the public URL ahead of the local one.
  • When akan tunnel fits. Open it in a second terminal for an app started without --share, or for a port that is not the dev port. Stopping it leaves the dev server alone.

Released under the MIT License

Connect your AI to these docs

MCPhttps://akanjs.com/mcp
Copyright © 2026 Akan.js All rights reserved.System managed bybassman