26 min read

Self-Host Agent Deck Web UI on Linux with Localtonet

Install and verify the Agent Deck web dashboard on Linux, then connect its local HTTP service for remote access through Localtonet.

Self-Hosting ยท Agent Deck ยท Localtonet ยท 2026

Run your AI coding sessions from one Linux dashboard, verify it locally, then perform a controlled remote-access test

Agent Deck is a terminal session manager for coordinating AI coding agents across projects. Its documented web command starts a dashboard at http://127.0.0.1:8420, providing a browser interface alongside the terminal UI. This guide covers current installation methods, local startup, verification, routine operation, troubleshooting, and an HTTP tunnel through Localtonet. Because the available Agent Deck documentation does not establish built-in web authentication, the public-tunnel procedure is explicitly limited to temporary testing with non-sensitive sessions rather than routine exposure of an administrative dashboard.

๐Ÿ”’ Temporary controlled testing only ๐ŸŒ Local HTTP service on 127.0.0.1:8420 โšก Local verification before tunnel setup
Linux workstation running Agent Deck locally with a Localtonet path to a remote browser.
Agent Deck remains on the Linux host while the Localtonet client carries remote browser traffic to its local HTTP service.

How Agent Deck and Localtonet fit together

Remote browser traffic passes through a Localtonet HTTP tunnel to Agent Deck on localhost of a Linux host.
Localtonet routes requests from a public HTTP endpoint through an outbound tunnel to the local Agent Deck web service.

Agent Deck describes itself as a command center for AI coding agents. Instead of keeping unrelated terminal windows open for every project, you can use one terminal interface to see sessions that are running, waiting, or finished and move between them. Its current repository documents workflows for tools such as Claude Code, Gemini, OpenCode, and Codex, together with grouping, search, session forking, Git worktrees, skills, MCP attachment, and cost tracking.

The primary interface is a terminal UI launched with agent-deck. The project also documents agent-deck web, which starts a web UI at http://127.0.0.1:8420. The address 127.0.0.1 is the Linux host's loopback interface. A browser on the same machine can reach it, but another computer normally cannot connect to that address directly.

That local-only default supports a disciplined deployment process. First install Agent Deck and confirm that its terminal interface works. Next start the web process and verify the dashboard from the Linux host. Only after those checks pass should you introduce Localtonet as a separate network layer. This order prevents an application startup problem from being mistaken for a tunnel failure.

๐Ÿ–ฅ๏ธ Terminal session management Agent Deck provides one terminal interface for organizing and switching among supported AI coding agent sessions.
๐ŸŒ Documented local web UI The current quick start documents agent-deck web at 127.0.0.1:8420.
๐Ÿ”— Outbound tunnel connection Our Linux client establishes an outbound connection to a Localtonet relay, avoiding inbound router port forwarding.
๐Ÿ” Layered verification Testing the executable, local process, local response, client connection, target, and tunnel state separately identifies the failing layer.

Localtonet does not install, configure, or authenticate Agent Deck. Our role begins after the local HTTP service responds successfully. The Localtonet client on the Linux host connects the local target to the public address assigned to an HTTP tunnel. That address is available only while the selected client is connected and the tunnel is running.

This guide does not recommend permanent public exposure

The current Agent Deck repository evidence confirms the web command and local endpoint, but it does not establish built-in web authentication or authorization. Localtonet's public HTTPS address protects traffic to the tunnel edge, but HTTPS alone does not decide who may open or operate the dashboard. The tunnel steps below are therefore limited to a brief, attended test using non-sensitive sessions and data.

Linux prerequisites and deployment decisions

Agent Deck currently documents support for Linux, macOS, and Windows through WSL. This tutorial focuses on native Linux. Before installing it, choose the Linux user that will own and operate the sessions. Use a non-root account where practical so Agent Deck and its managed tools do not receive unnecessary access to the host.

The primary installation command requires curl, Bash, network access to GitHub, and permission to write to the location selected by the installer. The repository does not provide one universal package-manager command for every Linux distribution, so this guide does not invent an apt, dnf, pacman, or zypper sequence.

Check the commands needed by the primary installation path:

command -v curl
command -v bash

Each command should print an executable path. If one is missing, install it through your distribution's supported package-management process before continuing.

Prepare the AI tools you intend to manage

Agent Deck coordinates AI coding agent sessions, but installing Agent Deck does not install or authenticate every supported agent. Install the tools needed for your workflow using their own current documentation. Test each tool directly from the intended Linux user and project directory before adding it to Agent Deck.

Keep agent API keys, login tokens, environment files, cloud credentials, signing keys, and private repository information out of screenshots, shell history, shared task files, and support output. A dashboard that can interact with an authenticated coding agent should be treated as an administrative interface.

Prepare the Localtonet account and device

You need a Localtonet account and a device-specific auth token for the Linux host that will run the tunnel. The token identifies that client device and must not be guessed, published, embedded in an article, committed to a repository, or included in a screenshot.

Use the Linux client installation path presented by the current Localtonet HTTP tunnel documentation or your authenticated dashboard. Install and run the client on the same Linux machine as Agent Deck. We do not reproduce an unverified package URL or shell command here because Linux delivery details can change, and the supplied product evidence does not establish a single permanent command for every distribution.

Same-host placement matters because Agent Deck's documented endpoint uses loopback. A Localtonet client on another computer cannot normally reach 127.0.0.1 on the Agent Deck host. This guide does not change Agent Deck's bind address because the current repository evidence supplied for this revision does not establish a supported bind-address option.

Requirement Why it matters Expected confirmation
Supported Linux environment The commands in this tutorial are run from native Linux. Your terminal belongs to the intended Linux host and user.
curl and Bash The primary Agent Deck installer is retrieved with curl and executed by Bash. Both command -v checks print paths.
Configured coding agent Agent Deck coordinates the tool but does not replace its installation or authentication. The agent runs directly from the intended project and user account.
Local browser or HTTP client Agent Deck must be verified locally before tunneling. The host can request http://127.0.0.1:8420.
Localtonet account and device token The connected Linux client must be associated with the correct dashboard device. The intended device appears connected without exposing its token.
Same-host Localtonet client The client needs to reach Agent Deck's loopback endpoint. The client and agent-deck web run on the same Linux machine.

Install Agent Deck on Linux

The current Agent Deck repository README documents four installation paths: the project installation script, Homebrew, Go, and a source checkout. Select one method. Combining methods can leave several binaries in different directories and make upgrades difficult to audit.

Option 1: Use the documented installation script

The repository currently presents this as its main installation command:

curl -fsSL https://raw.githubusercontent.com/asheshgoplani/agent-deck/main/install.sh | bash

Run it as the Linux user that will operate Agent Deck. When it finishes, open a new shell if instructed and verify that the executable can be found:

command -v agent-deck

A successful check prints an executable path. The repository evidence does not establish one destination for all Linux environments, so do not assume a particular directory without checking the installer's output.

Inspect the installer before executing it

The one-line command downloads the current Agent Deck installation script from the main branch and sends it directly to Bash. Review the script, verify the repository address, and understand what it will change before running it on a host containing source code or credentials.

Option 2: Install with Homebrew

If Homebrew is already part of your Linux package workflow, the current repository documents:

brew install asheshgoplani/tap/agent-deck

This command assumes that Homebrew is already installed and functioning. Verify the resulting command with:

command -v agent-deck

Option 3: Install with Go

With an existing Go toolchain, the repository documents:

go install github.com/asheshgoplani/agent-deck/cmd/agent-deck@latest

Go places installed commands in its configured binary directory. That directory must be in your shell's PATH. Inspect your own Go configuration rather than assuming a fixed location.

For a reproducible deployment, replace @latest with a release you have reviewed. The following pinned example was revalidated against the Agent Deck release page during this article's 2026 revision:

go install github.com/asheshgoplani/agent-deck/cmd/agent-deck@v1.16.26

Version v1.16.26 is an example, not a recommendation that it remain current. Review the v1.16.26 release entry and the broader Agent Deck release history before selecting a version. Test upgrades against your session workflow rather than changing versions blindly.

Option 4: Install from source

The repository documents this source installation sequence:

git clone https://github.com/asheshgoplani/agent-deck.git
cd agent-deck
make install

This method requires Git, make, and the build toolchain expected by the checked-out revision. The supplied repository extract does not enumerate every build dependency or supported compiler version. Inspect the current repository documentation and build files before automating a source installation.

Installation method Best fit Operational consideration
Installation script Direct use of the project's primary documented method Review the current remote script before executing it.
Homebrew Linux hosts already managed with Homebrew Homebrew must already be installed and working.
Go install Go environments needing latest or pinned installation The configured Go binary directory must be in PATH.
Source checkout Contributors or users who need repository source Confirm build dependencies for the selected revision.

Before using Agent Deck with important repositories, review the project's security policy. That page is the appropriate place to check currently supported versions and the project's security-reporting process.

Configure the initial Agent Deck workflow

The documented quick-start path does not require a separate web-server configuration file. Begin with the terminal interface so you can confirm that the binary starts and that your chosen coding agent works before adding the web dashboard.

1

Launch the terminal interface

Run agent-deck. A successful launch confirms that the executable is available and can initialize its terminal UI in the current user environment.

2

Add a project when appropriate

From a project directory, the current quick start uses agent-deck add . -c claude to add that directory with Claude. Use this exact example only if Claude is the intended tool and is already installed and authenticated.

3

Confirm the session workflow

Create or inspect a non-sensitive test session in the terminal interface. Resolve coding-agent authentication, project permissions, working-directory errors, and tool failures before starting the web UI.

The current README lists shortcuts including Enter to attach, Ctrl+Q to detach, n for a new session, r to rename, R to restart, d to delete, and ? for full help. Use the help displayed by your installed version as the final authority because interactions can change between releases.

Current new-session behavior differs from older demonstrations

The repository states that, beginning in version 1.9.55 and extended after 1.16.5, Enter advances through fields in the new-session dialog. The trailing Create session button or Ctrl+S creates the session. The current README also documents [ui].new_session_enter_advances = false for restoring the older behavior. Confirm this setting against the documentation for your installed release before changing it.

Start and verify the Agent Deck web UI locally

Four-step flow for starting Agent Deck and verifying its local web response.
Confirm the executable, running process, HTTP response, and interactive dashboard before configuring remote access.

Start the dashboard from the same Linux account and environment used for the working Agent Deck installation:

agent-deck web

The currently documented endpoint is:

http://127.0.0.1:8420

Keep the launching terminal open during the test. From a browser on the same Linux machine, open the local address. A successful result should display the Agent Deck web interface rather than a connection error, an unrelated application, or a generic response from another process.

On a headless host, perform a basic HTTP request from another terminal on that same machine:

curl http://127.0.0.1:8420

A returned HTTP response shows that something is accepting requests at the target. It does not prove that every page asset and interactive feature works, so browser verification remains necessary where possible. Confirm that the displayed session state corresponds to the test session you created in the terminal interface.

Expected local results

  • command -v agent-deck prints the selected executable path.
  • agent-deck opens the terminal UI without an immediate fatal error.
  • The selected coding agent works from the intended project and Linux account.
  • agent-deck web remains running rather than returning immediately to the shell.
  • A same-host request to http://127.0.0.1:8420 receives an HTTP response.
  • The browser displays the expected Agent Deck interface and non-sensitive test session.

If the local URL fails, stop at this layer. A tunnel cannot repair a process that is not running or a service that does not respond at its configured target. Read the output from agent-deck web, verify that the request originates on the same Linux host, and check whether another process is already using port 8420.

The current repository evidence supplied for this revision establishes the default endpoint. It does not establish a supported alternate-port flag, bind-address flag, daemon mode, systemd unit, or automatic-start procedure. This guide therefore does not invent any of those options. Check the documentation and command help belonging to your installed release if its behavior differs.

Routine Agent Deck operations

Run documented session commands

A supported session can be forked with:

agent-deck session fork my-proj

A multiline task stored in a file can be sent with:

agent-deck session send my-proj --message-file task.md

A stopped or errored session can be removed from the registry while preserving its transcripts with:

agent-deck session remove my-proj

Replace my-proj and task.md with resources that exist in your environment. Review task files before sending them because they may instruct an authenticated agent to modify source code, invoke tools, or access project data.

Enable shell completion

For Bash, the current README documents:

echo 'source <(agent-deck completion bash)' >> ~/.bashrc

For Zsh:

echo 'source <(agent-deck completion zsh)' >> ~/.zshrc

For Fish:

agent-deck completion fish > ~/.config/fish/completions/agent-deck.fish

Open a new shell or reload the relevant configuration afterward. Inspect the file before appending anything and avoid adding duplicate completion lines.

Stop the dashboard

If agent-deck web is running in the foreground, return to that terminal and use the normal terminal interrupt. A request to 127.0.0.1:8420 should then fail. Stop the Localtonet tunnel as well so it does not remain active with a failed local target.

Uninstall Agent Deck

The documented interactive uninstall command is:

agent-deck uninstall

To remove the binary while retaining session data, the repository documents:

agent-deck uninstall --keep-data

Read the prompts carefully. If you installed Agent Deck with Homebrew or maintain a source checkout, also consider how that installation method manages packages or source files.

Configure a temporary Localtonet HTTP tunnel

Remote HTTP traffic crossing Localtonet to reach Agent Deck on a private Linux host.
The Localtonet client forwards requests from the assigned public address to Agent Deck's local HTTP endpoint.

Begin only after http://127.0.0.1:8420 works locally. Agent Deck provides an HTTP service, so use the Localtonet HTTP tunnel workflow documented in our HTTP tunnel documentation. This is standard HTTP tunneling, not VPN functionality.

For this test, use a clean Agent Deck environment with no private repositories, credentials, confidential prompts, production sessions, or sensitive transcripts. Keep the test attended, do not distribute the assigned URL, and stop the tunnel immediately after verification. A hard-to-guess URL is not authentication.

1

Install and run the Linux client

Follow the current Linux installation path presented by the Localtonet HTTP tunnel documentation or authenticated dashboard. Run the client on the same Linux host as agent-deck web so it can reach 127.0.0.1:8420.

2

Authenticate and select the device

Use the device-specific auth token issued for this client, then select the corresponding connected device in the dashboard. Never expose the token in commands, screenshots, repositories, tickets, or published documentation.

3

Select an available relay server

Select a server or region currently offered in your dashboard. Obtain the valid value from the live product rather than copying a server code from an older article. Availability can vary by plan, region, or product state.

4

Create the HTTP tunnel configuration

Choose the HTTP tunnel family. Select the required process type from the options shown in the current dashboard, then set the local IP address to 127.0.0.1 and the local port to 8420. Random Sub Domain, Custom Sub Domain, and Custom Domain process types serve the same local content at a public HTTPS address, but option and plan availability must be checked in the current product.

5

Start and verify the tunnel

Creating the configuration does not start it. Press Start, confirm that the client remains connected and the tunnel reaches its running state, then open the assigned HTTPS address from the intended test device.

6

Stop or delete the tunnel after the test

Stop the tunnel immediately after verification. Delete it if the configuration is no longer needed. The endpoint is available only while the selected client is connected and the tunnel is running.

Configuration, client connection, and tunnel state are separate

Saving the HTTP tunnel does not make Agent Deck reachable. The Agent Deck web process must respond locally, the selected Localtonet device must be connected, and the tunnel must be started. A failure at any one of these layers prevents the public address from delivering the dashboard.

Verify the complete request path

First reload http://127.0.0.1:8420 on the Linux host. Next confirm that the Localtonet device is connected and the tunnel is running. Finally, use the assigned HTTPS address from the intended test browser. The remote page should display the same non-sensitive test session seen locally.

Test browser
  -> assigned Localtonet HTTPS address
  -> running HTTP tunnel
  -> connected Localtonet client on the Linux host
  -> http://127.0.0.1:8420
  -> Agent Deck web UI

If the public request fails while the local page continues to work, the application layer is healthy. Investigate the Localtonet client, selected device, local target, relay selection, and tunnel state. If the local page also fails, return to Agent Deck rather than changing tunnel fields.

Apply a controlled test boundary

Security boundaries around a remotely accessible Agent Deck dashboard and protected secrets.
Without verified application authentication, keep the tunnel temporary, attended, and separated from sensitive projects and credentials.

An AI agent dashboard may expose project names, paths, prompts, outputs, transcripts, tool activity, repository context, and session controls. Depending on the configured agent, access could lead to source changes or command execution. Treat it as an administrative interface, not a passive status page.

HTTPS does not authenticate the operator

HTTPS protects data while it travels between a browser and the tunnel edge. Authentication establishes who is making the request. Authorization establishes what that identity may do. These are separate properties.

The Agent Deck evidence used for this revision does not establish built-in authentication or role-based authorization for agent-deck web. The supplied Localtonet evidence also does not establish an HTTP authentication feature that can be promised for this exact deployment. We therefore do not present direct public exposure as a secure permanent architecture.

Operational rule for this tutorial

Use the public endpoint only for a short, attended connectivity test in a clean environment. Do not load private repositories or credentials, do not share the URL, monitor the local process while testing, and stop the tunnel immediately afterward. If you need routine remote administration, do not continue until you have implemented and independently verified an authentication or private-access architecture approved for your environment.

Use a dedicated non-sensitive test context

Create a test project with no proprietary source code, secrets, customer information, production configuration, or privileged tooling. Use a Linux account whose filesystem and command permissions are limited to that test. This makes the tutorial's boundary operational rather than relying only on a warning.

Do not assume that an unshared or random-looking public URL is private. Public endpoints can be discovered, copied, logged, or exposed accidentally. URL secrecy is not an identity control.

Protect the device token

A Localtonet auth token identifies the client device that runs the tunnel. Obtain it from the authenticated product flow and keep it out of shell transcripts, screenshots, screen recordings, issue reports, and repositories. Redact account details, device tokens, public endpoints, project names, prompts, repository paths, and credentials from any screenshots used for documentation.

Limit process privileges

Run Agent Deck and its coding agents with only the filesystem, repository, and command permissions required for the test. Do not run the dashboard as root to work around an installation or path problem. Review environment variables and project directories before opening the tunnel.

End every test explicitly

Stop the Localtonet tunnel first, then stop agent-deck web if the browser interface is no longer needed. Confirm that the public address no longer delivers the dashboard and that 127.0.0.1:8420 stops responding after the local process exits. Delete obsolete tunnel configurations to avoid selecting the wrong device or target during a later test.

Troubleshooting by failure layer

Observed failure Likely layer First check
agent-deck is not found Installation or shell PATH Run command -v agent-deck and review the selected install method.
The TUI opens but an agent fails Coding-agent installation, authentication, or project permissions Run the selected agent directly as the same user in the same project.
Local port 8420 does not respond Agent Deck web process Read the agent-deck web terminal output.
Local UI works but the device is disconnected Localtonet Linux client Confirm the client is running and associated with the selected token.
Device is connected but the public URL fails Target or tunnel state Check 127.0.0.1, port 8420, relay selection, and Start state.
The public page shows another service Incorrect local target or unexpected process Stop the tunnel and inspect what responds locally on port 8420.

agent-deck is not found

command -v agent-deck

If this prints nothing, the executable is not available through the current PATH. Review the output from the installation method you used. For Go installation, confirm that the configured Go binary directory is in PATH. Avoid installing a second copy until you know where the first method placed its binary.

The terminal UI works, but an agent session fails

Run the selected coding agent directly from the same Linux user and project directory. Confirm that it is installed, authenticated, and permitted to read or modify the intended files. This separates an agent-specific error from an Agent Deck interface problem. Never include API keys or login tokens in public diagnostic output.

agent-deck web exits immediately

Read the command's terminal output and verify that it is running under the user whose Agent Deck environment works. Check whether another process already occupies port 8420. The reviewed evidence does not establish an official alternative-port option, so do not guess at flags. Consult the command help and documentation matching your installed release.

The browser cannot open 127.0.0.1:8420

Confirm that agent-deck web is still running and that the request originates on the same Linux machine. On a phone or another laptop, 127.0.0.1 refers to that device, not the Agent Deck host.

curl http://127.0.0.1:8420

If this same-host request fails, resolve the Agent Deck process before changing any Localtonet configuration.

The local dashboard works, but the Localtonet device is disconnected

This is a client layer failure. Confirm that the Localtonet application is running on the Agent Deck host and is using the intended device token. Verify that the dashboard selection corresponds to that client. Do not copy the token into diagnostic output.

The device is connected, but the public URL fails

  1. Retest http://127.0.0.1:8420 on the Linux host.
  2. Confirm that the Localtonet client remains connected.
  3. Confirm that the selected dashboard device is the same Linux host.
  4. Confirm that the HTTP target is 127.0.0.1 and port 8420.
  5. Confirm that the selected relay server is currently valid.
  6. Confirm that the tunnel was started rather than only created.
  7. Retest the public address currently assigned to that tunnel.

The public page shows unexpected content

Stop the tunnel immediately. Confirm what responds locally at 127.0.0.1:8420 and check whether another process has taken the port. Restart the tunnel only after the local browser clearly shows the expected Agent Deck test environment.

Access stopped after a reboot or terminal closure

Verify the Agent Deck process, Localtonet client, and tunnel independently. The web process may have ended, the client may be disconnected, or the tunnel may be stopped. The reviewed Agent Deck evidence does not document an official systemd unit, daemon flag, or automatic-start procedure, so this guide does not provide a guessed service definition.

The browser opens without a login page

That is not proof of a tunnel malfunction. It is a reason to enforce this tutorial's temporary test boundary. Do not continue with sensitive projects. Complete the non-sensitive connectivity check, stop the tunnel, and do not establish routine access until a verified authentication or private-access architecture is in place.

Frequently asked questions

What address does Agent Deck use for its web dashboard?

The current repository documents agent-deck web at http://127.0.0.1:8420. Test it from the same Linux host. For this tunnel configuration, run the Localtonet client on that host as well.

Which Agent Deck installation method should I use?

The project presents its curl and Bash script as the primary method. Homebrew fits systems already using Homebrew. Go supports latest or pinned installation, while a source checkout is appropriate when you need the repository and have confirmed its current build dependencies. Use one method and record which one you selected.

Is version v1.16.26 the latest Agent Deck release?

It is a pinned example validated against its release page during this article's 2026 revision. It should not be assumed to remain the latest release. Review the current Agent Deck release history before choosing a version.

Does Localtonet require router port forwarding?

No. Our client establishes an outbound connection to a Localtonet relay. This workflow does not require inbound router port forwarding, a public IP address, firewall changes, or VPN setup.

Is Agent Deck's web UI authenticated by default?

The official evidence reviewed for this article documents the web command and local URL but does not establish built-in web authentication or authorization. Do not assume that a login layer exists.

Does the Localtonet HTTPS address make the dashboard private?

No. HTTPS protects traffic in transit, but it does not by itself authenticate users or authorize actions. This tutorial limits the public endpoint to a temporary, attended, non-sensitive test for that reason.

Must the Localtonet client run on the same machine?

For the documented target at 127.0.0.1:8420, same-host placement is the straightforward configuration. Another device cannot normally reach the Agent Deck host's loopback interface. This guide does not recommend changing the bind address because no supported bind option was established by the reviewed evidence.

Why does the public URL fail when the tunnel is configured?

Creating a tunnel does not start it. Agent Deck must respond locally, the selected Localtonet client must be connected, and the tunnel must be running. Verify those layers in that order, then check the local IP, port, relay selection, and assigned public address.

Can Agent Deck start automatically after a reboot?

The evidence reviewed for this tutorial does not document an official Agent Deck systemd unit, daemon flag, or automatic-start procedure. We therefore do not provide a guessed service definition. Check the documentation for your installed release and review service-account permissions, environment variables, credentials, and filesystem access before implementing persistence.

Test your verified Agent Deck endpoint with Localtonet

After agent-deck web works locally at 127.0.0.1:8420, use our documented HTTP tunnel workflow for a brief, attended test with non-sensitive data. Stop the tunnel as soon as verification is complete.

Get Started Free โ†’

Corrections & updates

Substantive changes approved by the Localtonet editorial team are listed transparently below.

Remove the outer article wrapper and place the hero first, followed immediately by the existing clickable guide card. Revalidate all Agent Deck commands and version-sensitive statements against the current repository and releases, date-stamp any pinned-version example, and link to the relevant primary documentation. Expand the Localtonet prerequisites with the verified Linux client installation path, account and device requirements, and the exact documented HTTP tunnel workflow without inventing fields or plan availability. Add a safe

Localtonet is a secure multi-protocol tunneling and proxy platform designed to expose localhost, devices, private services, and AI agents to the public internet supporting HTTP/HTTPS tunnels, TCP/UDP forwarding, mobile proxy infrastructure, file server publishing, latency-optimized game connectivity, and developer-ready AI agent endpoint exposure from a single unified control plane.

support