28 min read

Set Up MulmoTerminal and Access It with Localtonet

Install and verify MulmoTerminal for parallel Codex sessions, then access its browser terminal remotely through a Localtonet HTTP tunnel.

Multiple MulmoTerminal sessions on a workstation connected to a remote browser through a Localtonet HTTP tunnel.
MulmoTerminal hosts parallel terminal sessions locally while Localtonet provides the remote HTTP path.
Tutorials ยท MulmoTerminal ยท Localtonet ยท 2026

Run parallel Codex sessions in a browser and reach the terminal grid from outside your local network

MulmoTerminal provides a browser-based terminal grid for supervising multiple coding-agent sessions, including Codex, from one interface. This guide walks through its documented prerequisites, dependency checks, startup options, local verification, routine operation, and common startup problems before adding remote access. Once the application works locally at http://localhost:34567, we will connect that local HTTP service to a public HTTPS address with Localtonet. Because every MulmoTerminal cell is a real PTY and the available evidence does not establish built-in authentication for the main web interface, the security section is essential reading before you expose it.

๐Ÿ”’ Treat browser terminal access as privileged access ๐ŸŒ Local HTTP service with interactive browser traffic โšก Parallel Codex sessions from one terminal grid

How MulmoTerminal and Localtonet fit together

Topology showing remote browser traffic passing through Localtonet to a local MulmoTerminal service.
The HTTP tunnel links a public endpoint to MulmoTerminal on the local machine.

MulmoTerminal is a self-hosted browser application designed for people who run several coding agents in parallel. Instead of opening independent terminal windows and manually checking which process is active, finished, or waiting for permission, it presents the sessions in a grid. Sessions can be marked according to their state, including working, done, idle, and waiting for input. A cockpit-style roster can also retain useful session context while you focus on one terminal.

The important architectural detail is that a terminal cell is not a static dashboard widget. Each cell is a real pseudoterminal, commonly abbreviated as PTY. A shell, Codex, another supported coding-agent CLI, a development server, or a terminal application can run inside a cell. Browser interaction is streamed between the MulmoTerminal server and the browser, so successful remote access requires more than loading the initial HTML page. Keyboard input, live output, terminal resizing, and session state must continue to work.

MulmoTerminal starts locally with one documented npx command and normally opens at http://localhost:34567. The local service remains on the host machine. For remote access, the Localtonet client runs on a device that can reach that address and establishes an outbound connection to one of our relay servers. An HTTP tunnel then connects a public address to the local IP address and port.

This outbound model means that you do not need to configure inbound router port forwarding, obtain a public IP address, change the network firewall to accept unsolicited internet connections, or set up a VPN merely to publish this one HTTP service. The tunnel exists only while the selected Localtonet client is connected and the tunnel is running.

๐Ÿ–ฅ๏ธ MulmoTerminal host Node.js launches MulmoTerminal on the development machine. By default, the browser interface is available at localhost:34567.
๐Ÿค– Codex processes The Codex CLI must already be installed, available through the host's PATH, and authenticated using its supported login process.
๐ŸŒ Localtonet HTTP tunnel Our client connects outward to a selected relay and forwards the assigned public HTTP address to the local MulmoTerminal host and port.
โŒจ๏ธ Remote browser The remote browser loads the grid and exchanges interactive terminal traffic with the application through the tunnel.
A working tunnel can expose control of real terminal sessions

Do not treat this workflow like publishing a read-only project page. Anyone who can interact with an exposed terminal may be able to run commands with the permissions of the MulmoTerminal host process, inspect accessible files, operate authenticated developer tools, or answer agent prompts. The project evidence used for this guide does not establish built-in authentication or authorization for the main browser interface. Do not share the public address until you have evaluated and implemented an appropriate access-control layer.

Prerequisites for parallel Codex sessions

Prepare the local application completely before creating a tunnel. This separation makes troubleshooting much easier: if the browser terminal does not work on the host itself, changing the tunnel cannot repair the local application.

Required runtime

MulmoTerminal requires Node.js 22.12 or newer. The documented quick-start path uses npx, which retrieves and runs the current published mulmoterminal package. Verify the installed Node.js version before proceeding:

node --version

The reported version must be at least 22.12. If the command is missing or the version is older, install or update Node.js using an installation method appropriate for your operating system and administration policy. This guide does not prescribe a package-manager command because those commands and package versions vary among operating systems and Node.js distribution methods.

Codex and supporting command-line tools

MulmoTerminal uses Claude Code as its default agent unless another default is selected. For the workflow in this guide, Codex must be installed and discoverable through the same environment in which you start MulmoTerminal. It must also already be logged in. Use the Codex project's current installation and authentication procedure, since those details are controlled by that project and may change independently of MulmoTerminal.

The MulmoTerminal documentation also lists git and gh among the tools expected on PATH. Git supports repository-oriented workflows. The GitHub CLI supports GitHub operations such as pull-request workflows where configured and applicable. Authentication for these tools should be completed locally before you depend on their features inside a browser terminal.

Optional tools

Some tools are useful without being required for the basic launch. In particular, tmux enables session persistence. When it is available, MulmoTerminal can use it so terminal sessions survive events such as a browser reload or server restart and can be reattached later. Without it, do not assume the same persistence behavior.

The project also identifies ffmpeg as useful for video rendering and ollama for local-model workflows. Neither is necessary merely to start MulmoTerminal and run Codex sessions. Install optional dependencies only when you intend to use the features that need them.

Component Status for this workflow Purpose What to verify
Node.js 22.12 or newer Required Runs the MulmoTerminal package node --version reports a supported release
npx Required by the documented quick start Retrieves and starts mulmoterminal@latest It is available in the environment used to launch the server
Codex CLI Required for Codex sessions Runs the coding agent inside terminal sessions It is on PATH and already authenticated
git Expected for repository workflows Provides repository, branch, diff, and worktree operations It is on PATH and works in the intended project
gh Expected for GitHub workflows Supports applicable GitHub and pull-request operations It is on PATH and authenticated if those operations are needed
tmux Optional but useful Provides persistent, reattachable sessions Install it before relying on persistence across restarts
Localtonet client Required only for remote access Establishes the outbound connection for the HTTP tunnel Run it on the host or another device that can reach MulmoTerminal
Environment visibility matters

A command that works in one shell is not automatically visible to a process launched by another account, service manager, desktop launcher, or restricted environment. Start MulmoTerminal from an environment whose PATH includes Codex and the supporting tools you expect it to use.

Install and start MulmoTerminal

The documented installation path is intentionally lightweight. You do not need to clone the source repository for normal use, and you do not need to create a global npm installation. The current package can be checked and launched through npx.

1

Confirm the Node.js requirement

Run node --version in the terminal that will launch MulmoTerminal. Continue only when it reports Node.js 22.12 or newer.

2

Run the dependency check

Run npx mulmoterminal@latest init. The documented init command reports dependencies that MulmoTerminal cannot find. Address missing required tools before continuing, and decide whether optional tools such as tmux are needed for your workflow.

3

Start MulmoTerminal with Codex selected

Launch the current package with the documented --agent codex option. Selecting Codex explicitly avoids starting with the default Claude Code agent.

4

Open the local browser interface

The application starts at http://localhost:34567 and is documented to open the browser. If a browser does not open automatically, enter that local address manually on the host.

First run the dependency report:

npx mulmoterminal@latest init

Then start MulmoTerminal with Codex as the selected agent:

npx mulmoterminal@latest --agent codex

Leave this terminal process running. Closing it can stop the MulmoTerminal server even if individual sessions have persistence through tmux. Persistence of a terminal session and availability of the browser application are related but separate concerns: the server must be running for a browser to reconnect to and control the session.

npx runs the current published package

The @latest selector requests the latest published release at execution time. A later launch may therefore retrieve a newer release with changed behavior. For operational use, review updates before introducing them on a host that controls important repositories or authenticated developer tools.

Configure the working directory, agent, and port

The simplest startup command uses the shell's current working context and the default port. MulmoTerminal also documents options for choosing the project directory, selecting Codex as the agent, and changing the listening port.

Start in a specific project directory

Use --cwd when you want MulmoTerminal to start with a specific project directory. Replace the example path with the path to your own project:

npx mulmoterminal@latest --agent codex --cwd ./my-project

Before launching, confirm that the account running MulmoTerminal is supposed to have access to this directory. The coding agent and any shells opened in the interface operate with the host process's effective permissions. A narrowly scoped project directory reduces accidental navigation, but it should not be treated as a security sandbox.

Choose a different local port

Port 34567 is the documented default. If another process already uses it, MulmoTerminal supports --port. For example, the following starts the application on port 34568:

npx mulmoterminal@latest --agent codex --port 34568

When changing the port, update every later reference consistently. Local verification would use http://localhost:34568, and the Localtonet HTTP tunnel would target port 34568 rather than 34567.

Choose Codex as the persistent default

MulmoTerminal supports a defaultAgent setting in ~/.mulmoterminal/config.json. The available evidence establishes the setting name and location, but this guide does not reproduce a complete configuration file because a full authoritative schema was not provided. If you manage that file, preserve its existing structure and use the project's current configuration guidance rather than replacing it with an assumed minimal document.

The command-line option is the safest self-contained choice for this tutorial:

npx mulmoterminal@latest --agent codex --cwd ./my-project

MulmoTerminal checks the selected default agent at startup. If Codex cannot be found, return to the init dependency report and verify the launch environment's PATH. Do not solve a path problem by placing credentials or tokens directly in a command line, configuration example, or tunnel field.

Verify MulmoTerminal locally before tunneling it

Local verification view with MulmoTerminal running and its browser terminal open on localhost.
Confirm that the local service loads and responds before creating the tunnel.

A successful launch message is only the first check. Because this is an interactive terminal application, verify the full browser workflow from the host before adding a public network path.

Check the HTTP endpoint

Open http://localhost:34567 in a browser on the MulmoTerminal host. If you selected a custom port, use that port instead. The interface should load without a connection error. A blank page, endless loading state, or immediate disconnect indicates a local application issue that should be resolved before configuring Localtonet.

Open and interact with a terminal

Create or select a terminal cell using the application's interface. Confirm that terminal output appears, keyboard input is accepted, and ordinary terminal interaction works. The objective is not to run a risky test command. It is to prove that the browser is attached to a functioning PTY.

Confirm Codex can start

Start a Codex session through the MulmoTerminal workflow. Verify that it does not fail because the executable is missing or because authentication has not been completed. If Codex prompts for setup that should have been completed locally, stop and finish that setup through the supported Codex process rather than attempting to expose an incomplete environment.

Test state updates

One of MulmoTerminal's main benefits is its ability to show which agents are working, done, or waiting for input. Exercise a harmless task and confirm that the visible state changes as the session progresses. If multiple sessions are part of your intended workflow, create a small test set and make sure the grid remains understandable.

Test a browser reload

Reload the page and observe whether the interface reconnects as expected. If you installed and enabled tmux, confirm that the session persistence you need actually works in your environment. Do not assume persistence merely because the package detected tmux. A deliberate local test is safer than discovering a session-loss problem during remote work.

Local test Expected result If it fails
Open the local URL The terminal grid loads from localhost:34567 Check the server process, startup output, and selected port
Interact with a terminal Input, output, and terminal updates work Treat this as a local application issue, not a tunnel issue
Start Codex The Codex process launches in the selected project context Verify installation, PATH, and local authentication
Observe session state The grid reflects working, waiting, or completed activity Review the session and local application output
Reload the browser The interface reconnects; persistent sessions survive when properly backed by tmux Verify tmux availability and your persistence expectations
Do not continue if local interaction is unreliable

A tunnel adds another network path, but it does not correct missing dependencies, failed agent authentication, a conflicting port, broken PTY interaction, or a stopped MulmoTerminal process. Establish a reliable local baseline first.

Operate parallel sessions without losing context

Three parallel Codex sessions maintaining separate tasks, directories, and histories in MulmoTerminal.
Separate session views help preserve task context while multiple Codex processes run in parallel.

MulmoTerminal is designed for supervision rather than merely placing several terminals on one page. Each session can report its status to the grid, making it easier to identify which agent is working and which one is waiting for a decision. A session that needs input can be highlighted, while completed work can be distinguished from work that is still running.

When you focus on one agent, the cockpit roster can retain a one-line view of the other sessions. Depending on the activity available for a session, that view can include context such as an AI summary, the most recent prompt, the latest reply, and pull-request phase information. This reduces the need to inspect every terminal manually just to remember what each agent is doing.

Use separate worktrees for parallel agent work

MulmoTerminal supports Git worktree-oriented isolation for parallel repository tasks. This matters because two coding agents modifying the same checkout can overwrite files, contend for generated output, or make branch state difficult to reason about. Separate worktrees provide distinct working directories while remaining connected to the same Git repository.

The project applies a one-agent-session-per-worktree limitation to agent sessions. Other terminal processes, such as a shell or development-server launcher, can still operate in the same worktree. Use that flexibility carefully. A development server and an agent may reasonably share a worktree, but two independent agents editing the same files should be isolated unless you intentionally manage their coordination.

Understand persistence boundaries

With tmux available, sessions can survive a browser reload, a MulmoTerminal server restart, or a temporary browser disconnection. This does not mean every part of the stack is permanently available. The MulmoTerminal web server must be running for browser access, the Localtonet client must be connected for remote access, and the specific tunnel must be started.

These layers have separate lifecycles. A persistent Codex process can remain alive while the browser interface is temporarily unavailable. Similarly, MulmoTerminal can continue working locally while its Localtonet tunnel is stopped. Understanding these boundaries helps you choose the correct recovery action.

Stop remote access independently

When remote access is no longer required, stop the Localtonet tunnel. This removes the public route without requiring you to terminate MulmoTerminal or its local sessions. If you are finished with the work entirely, stop the local application and review any remaining tmux sessions so that unattended agent processes are not left running accidentally.

Expose the working MulmoTerminal service with Localtonet

Configure Localtonet only after the local interface works at the intended address. For the documented default, the target is the local HTTP service on port 34567. Run our client on the MulmoTerminal host when possible. It can also run on another device that can reach the service, but then 127.0.0.1 would refer to that other device rather than the MulmoTerminal host.

An HTTP tunnel is the appropriate family for a browser application. MulmoTerminal also uses interactive browser traffic for its terminal stream, so verification must include live input and output after tunneling. Do not consider the integration complete merely because the first page renders.

1

Install and run the Localtonet client

Install our client for the operating system used by the device that can reach MulmoTerminal. Keep the client running so it can establish the outbound relay connection. Use the current installation path presented by our platform rather than an unverified command copied from another environment.

2

Authenticate or select the client device

Use the device-specific authentication token associated with the client that will run the tunnel. Treat this token as a secret. Do not place it in documentation, screenshots, shell history, public repositories, or messages.

3

Select an available relay server

Choose a currently available Localtonet relay server or region from the dashboard. Available server codes and regions can vary, so obtain the value from the current product instead of copying a hardcoded example.

4

Create an HTTP tunnel to MulmoTerminal

Create an HTTP tunnel and set its local target to the IP address and port where MulmoTerminal is reachable. When our client runs on the same host and MulmoTerminal uses its default port, use the loopback target 127.0.0.1 with port 34567. If you changed the port, enter that selected port instead.

5

Start the tunnel

Creating a tunnel does not start it. Use the Start button after reviewing the target and exposure decision. The tunnel then provides its assigned public address while the selected client remains connected and the tunnel remains running.

6

Verify the public address and interactive terminal

Open the assigned public address from a separate browser or network. Confirm that the grid loads, a terminal attaches, output continues to update, keyboard input works, and reconnect behavior is acceptable. Stop the tunnel if any unexpected exposure or access behavior appears.

HTTP and File Server tunnels can use a generated random subdomain, a supported selected subdomain, or a custom domain. For a first verification, a generated address avoids introducing custom DNS configuration into the troubleshooting path. If you later need a custom domain, check the current requirements in our documentation before changing DNS records.

The exact dashboard choices, available relay servers, and plan-dependent options can change. We therefore do not hardcode a relay code or claim that every domain option, region, or control is included with every subscription. For the current product flow, consult the Localtonet HTTP tunnel documentation while keeping the local target established in this guide.

Test the application protocol, not only the landing page

Loading the MulmoTerminal interface proves that the initial HTTP path works. It does not by itself prove that the browser terminal stream works correctly. Open a session, type a harmless command, observe live output, test terminal resizing if relevant, and reload the browser before relying on the remote workflow.

Secure remote browser-terminal access

Remote terminal access deserves a stricter risk assessment than an ordinary development preview. The browser interface may expose terminals connected to source repositories, authenticated CLIs, build systems, environment variables, local files, and agent approval prompts. The effective impact depends on the permissions of the account running MulmoTerminal and the tools available to that account.

Do not rely on an unguessable URL as authentication

A generated public address should not be treated as an authorization mechanism. The evidence available for this article does not establish built-in authentication for MulmoTerminal's main web interface, and it does not justify claiming that a particular Localtonet access-control option is universally available on every plan or configuration.

Before exposure, place a verified authentication and authorization layer in front of the application, or limit the workflow to an environment where access is otherwise strongly controlled. If you evaluate dashboard-level restrictions, confirm their current availability and behavior in your own Localtonet account. Do not assume a control exists merely because another tunneling platform offers something similar.

Use a dedicated, least-privileged host account

Run MulmoTerminal as an account with only the repository and tools needed for the intended task. Avoid using a broadly privileged administrator account. Review readable SSH material, cloud credentials, package registries, environment files, browser-accessible secrets, and authenticated command-line sessions.

Least privilege does not remove all risk, but it limits the damage if the browser terminal is accessed unexpectedly or if an agent performs an unintended action. Repository-specific credentials and narrowly scoped tokens are preferable to credentials that can administer an entire organization.

Keep the local target on loopback when possible

If our client and MulmoTerminal run on the same host, targeting 127.0.0.1 avoids requiring MulmoTerminal to listen broadly on the local network. Do not change the application to listen on every interface merely to make tunneling easier unless you understand and accept the resulting LAN exposure.

If the Localtonet client runs on another device, MulmoTerminal must be reachable from that device through an appropriate local address. That design expands the local network attack surface and should be reviewed separately from the public tunnel.

Expose the service only while needed

Start the tunnel shortly before remote use and stop it when the task is complete. Localtonet separates tunnel creation from tunnel runtime, so a saved configuration can remain in the dashboard while the public route is stopped. Delete configurations that are no longer needed.

Protect device tokens and developer credentials

A Localtonet authentication token identifies the client device and must remain private. Codex credentials, GitHub authentication, SSH keys, package registry credentials, and cloud tokens require the same care. Never paste them into a public terminal transcript, article, screenshot, issue, or shared chat.

Review unattended behavior

Parallel coding agents can continue working after you move away from the screen. Review approval behavior, repository boundaries, generated commands, and tools available to each session. A remote browser should not become a reason to weaken normal code review, command approval, or change-management practices.

๐Ÿ” Add real access control Do not treat possession of the public URL as sufficient authorization for an interface that controls real PTYs.
๐Ÿ‘ค Use least privilege Limit the host account, repository access, credentials, and available tools to what the current workflow actually requires.
๐Ÿ  Prefer loopback locally Keep the application target on 127.0.0.1 when our client runs on the same machine.
โน๏ธ Stop access promptly Stop the tunnel when remote access is no longer required, and terminate unneeded local or persistent sessions.
Do not publish an unauthenticated shell to the open internet

If you cannot verify an effective authentication and authorization layer for the browser terminal, do not leave the tunnel publicly accessible. Test with non-sensitive repositories and restricted credentials first, then obtain a security review appropriate to the value of the host and its data.

Troubleshoot installation, startup, and remote access

Node.js is missing or too old

Run node --version. If the command is missing, install Node.js. If the version is below 22.12, update it. After changing Node.js installations, open a new terminal and check the version again so that an older executable earlier on PATH does not remain active.

The dependency check cannot find Codex

Run the documented diagnostic again:

npx mulmoterminal@latest init

If Codex is installed but still reported as missing, compare the environment used for installation with the environment used to launch MulmoTerminal. A shell profile may add directories to PATH only for interactive shells. Do not guess a binary path or set an undocumented environment variable. Correct the launch environment using the supported installation details for Codex.

MulmoTerminal starts with the wrong agent

Claude Code is the default unless another agent is selected. Start with the explicit option:

npx mulmoterminal@latest --agent codex

If you manage a persistent default, review the defaultAgent value in ~/.mulmoterminal/config.json using the current project configuration guidance. Avoid replacing an existing file with an incomplete guessed configuration.

Port 34567 is already in use

Stop the conflicting process if it is unnecessary, or select another port with the documented option:

npx mulmoterminal@latest --agent codex --port 34568

Open the matching local URL and update the Localtonet tunnel target to the same port. A mismatch between the application port and tunnel target commonly produces a failed connection even though both services are otherwise healthy.

Startup fails with ERR_MODULE_NOT_FOUND

An interrupted first npx installation can leave a partially unpacked directory under ~/.npm/_npx/<hash>. A later startup may then fail with ERR_MODULE_NOT_FOUND. MulmoTerminal's launcher detects this condition and prints the exact removal command for the affected cache entry.

Run the specific removal command printed by the launcher, review it before execution, and then retry:

npx mulmoterminal@latest

Do not delete an arbitrary path based on a copied hash. Use the path reported for your own failed installation.

The local page does not load

Confirm that the MulmoTerminal process is still running and inspect its terminal output. Verify whether you selected a custom port. Test the exact local address on the host. If the application stopped, restart it before examining Localtonet.

The Localtonet public address does not load

Check the layers in order:

  1. MulmoTerminal is running.
  2. The local URL works on the host.
  3. The Localtonet client is connected.
  4. The correct device token is associated with the tunnel.
  5. The HTTP tunnel targets the correct local IP address and port.
  6. The tunnel has been started, not merely created.

If our client is on another machine, do not use 127.0.0.1 unless MulmoTerminal also runs on that machine. From the client's perspective, loopback always means the client machine itself.

The page loads but the terminal does not respond

First repeat the same interaction locally. If the local terminal is also unresponsive, investigate MulmoTerminal, its PTY session, and the selected agent. If local interaction works but remote interaction does not, verify the current HTTP tunnel behavior for the application's interactive browser connection. Record whether output, input, reconnects, or only specific actions fail. That distinction is more useful than reporting that the site is simply broken.

The supplied product context establishes Localtonet HTTP tunneling, but it does not provide a version-specific compatibility guarantee for every MulmoTerminal release or every interactive transport behavior. Validate the exact client and application versions you intend to use.

Sessions disappear after a restart

Verify that tmux is installed and available to the same account that launches MulmoTerminal. The project describes tmux as the mechanism for session persistence. If it is absent, do not expect terminal processes to survive the same restart and reconnect scenarios.

Also distinguish a persistent session from a reachable web interface. A session may remain alive in tmux while MulmoTerminal or its tunnel is temporarily stopped. Restart the correct layer rather than creating duplicate agent sessions.

The tunnel worked and then became unavailable

A Localtonet tunnel is available only while the selected client is connected and the tunnel is running. Check whether the host slept, lost network connectivity, stopped our client, or stopped the tunnel. Also confirm that MulmoTerminal itself is still listening on the configured port.

Frequently asked questions

What command installs and starts MulmoTerminal?

The documented quick start is npx mulmoterminal@latest. For this Codex-focused workflow, use npx mulmoterminal@latest --agent codex. Node.js 22.12 or newer is required.

How can I check for missing MulmoTerminal dependencies?

Run npx mulmoterminal@latest init. It reports dependencies that the application cannot find. For Codex sessions, make sure Codex is installed, on PATH, and already authenticated.

What local port does MulmoTerminal use?

The documented default address is http://localhost:34567. You can select another port with --port. If you change it, use the same port in the browser and the Localtonet tunnel target.

Which Localtonet tunnel type should I use for MulmoTerminal?

Use an HTTP tunnel because MulmoTerminal provides a browser application through a local HTTP endpoint. After setup, verify the live terminal interaction as well as the initial page load.

Should the Localtonet target be localhost or 127.0.0.1?

When our client runs on the same host as MulmoTerminal, use the loopback IP 127.0.0.1 and the configured port, normally 34567. If our client runs on another device, loopback points to that other device, so you must use an address through which it can actually reach the MulmoTerminal host.

Does MulmoTerminal provide built-in authentication for the main browser terminal?

The evidence available for this guide does not establish built-in authentication or authorization for the main web interface. Treat the interface as sensitive and do not expose it publicly without a verified access-control design.

Does Localtonet need router port forwarding or a public IP address?

No. Our client establishes an outbound connection to a Localtonet relay. You do not need inbound router port forwarding, firewall changes for unsolicited inbound traffic, VPN setup, or a public IP address for this tunnel workflow.

Will sessions survive if the browser or server restarts?

MulmoTerminal uses tmux, when available, for persistence across reloads, reconnects, and server restarts. Install it and test the behavior locally before relying on persistence. The web server and Localtonet tunnel still need to be running for remote browser access.

Can I stop remote access without stopping my Codex sessions?

Yes. Stop the Localtonet tunnel to remove its public route while leaving the local MulmoTerminal application running. Whether individual sessions continue through later application restarts depends on your local persistence setup, including tmux.

Connect your verified MulmoTerminal service with Localtonet

Once MulmoTerminal and Codex work reliably on the local host, create an HTTP tunnel to the verified local port, add appropriate access controls, test the complete interactive terminal workflow, and stop the tunnel whenever remote access is no longer needed.

Get Started Free โ†’

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