T3 Code on Linux
Install T3 Code on Arch via the AUR, on Ubuntu and Debian via the AppImage, or run it headless with npx — plus systemd and remote server notes.
Arch gets a packaged build. Everything else uses the AppImage or npx — which, on a headless server, is what you want anyway.
Arch Linux and derivatives#
yay -S t3code-binWorks on Manjaro, EndeavourOS and other Arch derivatives. The -bin suffix means it packages the prebuilt release rather than compiling from source, so updates are fast.
Ubuntu, Debian, Fedora and others#
No native package yet. Use the AppImage from the releases page:
chmod +x T3Code-*.AppImage
./T3Code-*.AppImageIf it fails to start on a recent distribution, you are probably missing FUSE 2, which many AppImages still require:
# Ubuntu / Debian
sudo apt install libfuse2
# Fedora
sudo dnf install fuse-libsTo extract and run without FUSE at all:
./T3Code-*.AppImage --appimage-extract
./squashfs-root/AppRunAny distribution: npx#
npx t3@latestThis is the path to prefer on servers, in containers, and on any distro where you'd rather not manage an Electron bundle.
Set up a provider#
npm i -g @openai/codex
codex login
codex --versionOn Linux this is usually the easy part, because the desktop environment and your shell share a PATH far more reliably than they do on macOS or Windows.
Headless servers#
Linux is the natural home for an always-on agent box:
# bind to the Tailscale interface
npx t3 serve --host "$(tailscale ip -4)"
# or let Tailscale terminate HTTPS
npx t3 serve --tailscale-serve
npx t3 serve --tailscale-serve --tailscale-serve-port 8443Over plain SSH, without a VPN:
# on the server
npx t3 serve --host 127.0.0.1
# from your laptop
ssh -N -L 3773:127.0.0.1:3773 user@serverThen open http://localhost:3773 locally. Full remote guide →
Running it as a service#
To survive reboots and logouts, wrap it in a user systemd unit at ~/.config/systemd/user/t3code.service:
[Unit]
Description=T3 Code server
After=network-online.target
[Service]
Type=simple
ExecStart=/usr/bin/npx t3 serve --host 127.0.0.1
Restart=on-failure
Environment=PATH=/home/YOU/.local/bin:/usr/local/bin:/usr/bin
[Install]
WantedBy=default.targetsystemctl --user daemon-reload
systemctl --user enable --now t3code
loginctl enable-linger "$USER" # keep it running after logoutSet PATH explicitly in the unit. systemd services get a minimal environment, and this is the most common reason a service-managed instance can't find codex.
Adding projects on a server#
The GUI can't add projects to a remote environment yet. On the server:
t3 projectSee the CLI reference.
Desktop integration for the AppImage#
The AppImage won't appear in your application launcher by default. Either install AppImageLauncher, or write a .desktop file into ~/.local/share/applications/.
FAQ#
How do I install T3 Code on Arch Linux?#
Run yay -S t3code-bin from the AUR. It installs the prebuilt release, so there is no compile step.
Is there a .deb or .rpm for T3 Code?#
Not currently. On Ubuntu, Debian and Fedora, use the AppImage from the GitHub releases page or run npx t3@latest.
Why won't the T3 Code AppImage start on Ubuntu?#
Most often a missing FUSE 2 library. Install libfuse2, or extract the AppImage with --appimage-extract and run ./squashfs-root/AppRun directly.
Can I run T3 Code as a systemd service?#
Yes, as a user unit running npx t3 serve. Set the PATH environment variable explicitly in the unit file, since systemd provides a minimal environment that usually won't include your provider CLI.