AI Engineering

Install kwant on Linux: Ubuntu, Debian and AppImage

Install kwant's self-hosted AI agent team on Ubuntu or Debian with a .deb, or use the Linux AppImage. Includes setup, local models, updates and data.

9 min read 1767 words
Two Linux package paths leading to a desktop window with three connected AI bots.

Want to install self-hosted AI agents on Linux without building a frontend or wiring up a runtime? kwant ships a desktop app: a .deb for Ubuntu and Debian, and an AppImage for other compatible Linux desktops. Download one file, open the app, connect an AI account, and start with a team rather than another empty chat tab.

This is the Linux companion to Self-Host a Team of AI Agents in One Binary. That article explains roles, shared chats and handoffs. Here the goal is narrower: get kwant running, know where its data lives, and understand what an update or uninstall changes.

Disclosure: I build kwant. It is open source under AGPL-3.0, written in Rust, with the web UI embedded in the runtime. If you are looking for a self-hosted alternative in the same category as Grok Bot, Claude Duet or OpenAI dots, this is one you can run on your own hardware.

Version checked: 0.7.6, released November 8, 2026. The release assets and notes, README and installation docs are the sources for this guide. Linux desktop support is still beta; this is not a claim that every desktop environment has been tested.

Choose the right Linux package

Your machine Download What to expect
Ubuntu 22.04 or newer, Debian 12 or newer; x86_64 desktop kwant_amd64.deb Install with apt; it resolves package dependencies
Another compatible x86_64 Linux desktop kwant_x86_64.AppImage Make it executable and run it; needs a normal GTK desktop and FUSE
ARM Linux or a headless server Not either desktop package Use the server installation path instead; see the ARM note below

Check the processor architecture if you are unsure:

uname -m

x86_64 is the architecture called amd64 in the Debian package name. It includes compatible Intel and AMD processors. aarch64 is ARM64: the x86_64 desktop packages are not the right download for it.

The project reports container testing on Ubuntu 22.04, Ubuntu 24.04 and Debian 12, not broad real-desktop validation. AppImage does not mean “works on any Linux”: the GTK, FUSE and system-library requirements still matter. Tray icons, Wayland and HiDPI behavior can vary.

You do not need a Rust toolchain or a frontend build for these desktop downloads. You do need an AI account or compatible model endpoint before bots can answer. Docker is optional for VM mode and the bots’ shared browser, not a prerequisite for opening the app.

Option 1: install kwant on Ubuntu or Debian with the .deb

Download kwant_amd64.deb from the latest release. In a terminal, change to the folder where you saved it. For example, if that is your normal Downloads folder:

cd ~/Downloads
sudo apt install ./kwant_amd64.deb

The ./ tells apt to install the local file. apt installs the dependencies along with it; you do not need to copy the source-build dependency list from the repository.

Once installation finishes, launch kwant from your desktop’s application menu. The app runs the kwant server for you and opens its interface in a window. You do not need to start a second kwnt serve process.

If apt says it cannot find the file, check the folder and the filename you actually downloaded. Browsers sometimes add a suffix when the same file is downloaded twice. If dependency resolution fails, keep the exact error and check your distribution version before trying unrelated packages from another release.

Optional: check the download’s SHA-256

For a reproducible download, use the 0.7.6 release page rather than the moving “latest” link. It lists checksums and supplies .sha256 files alongside the packages.

For the 0.7.6 .deb only:

sha256sum kwant_amd64.deb

Expected hash:

7141fb74cbb5a48dc133fc222a4c3dcc39409c637dac8c5f14fa0459d0779ed7

A newer release has a different hash. Compare against the notes for the version you downloaded, not an old value copied from this post. A matching checksum checks the file against the published value; it is not a substitute for downloading from the project’s real release page.

Option 2: run the kwant AppImage

Download kwant_x86_64.AppImage. In its download folder:

chmod +x kwant_x86_64.AppImage
./kwant_x86_64.AppImage

Keep the file somewhere you intend to leave it, rather than treating it as an installer you can throw away after launch. Choose a user-writable location so the app can replace its file when you choose an update.

The documented prerequisites are a normal GTK desktop and FUSE. If launch fails with a FUSE error, follow your distribution’s AppImage/FUSE instructions. Package names differ across distributions and releases, so there is no universal apt command to paste here. Do not remove desktop libraries or disable security controls just to force the app to start.

For the 0.7.6 AppImage, sha256sum kwant_x86_64.AppImage should print:

8c0b2d394108b415edc1f832b3be8c4b429c46bc8772e7c059909eb14bb9a419

As with the .deb, use the matching release page if you download another version.

First open: connect an account, then ask one question

The desktop app starts its own local server and keeps an icon in the Linux tray. Closing its window hides it; use Quit in the tray menu when you want to stop the app rather than just put the window away.

The default local address is http://127.0.0.1:8799. Normally the desktop window is all you need. If you use a browser instead, that address opens the local UI while kwant is running, unless you changed the port or the app had to use another free port. Local loopback access needs no separate kwant sign-up; access from another machine has different authentication rules.

In 0.7.6, a new user’s #general opens with the Get started card: choose your AI, sign in, and pick a team. You can use Claude, Codex or Grok accounts, or an API key. The card handles installing a missing supported AI CLI and guides sign-in. Older versions used an add-account banner instead, so update if your first screen differs from the current quickstart.

You can also manage API keys under Settings → This space → Accounts. For a local model, add your own OpenAI- or Anthropic-compatible server there. Running kwant locally does not automatically make an external provider local: messages still go to whichever model endpoint and services you configure.

The first start can take a few minutes because kwant installs its Laya model router and downloads a model of about 420 MB in the background. Bots can answer while that runs; the routing rules still choose who answers. A local model server is a separate choice, not what that router download provides.

For a small first test, keep the starter bots and ask:

@Architect outline a small Go HTTP service for a read-only status page.
Then @DevOps review the plan for deployment risks. Don't change any files.

The starter team includes Architect, TechLead and DevOps. Watch the reply and the handoff in the same channel. This is the layer above the tool-use loop: named roles, shared history and someone to own the next step.

Setup checks without guessing a CLI path

Open Setup in the app to see the dependency checklist. This is the simplest route for a desktop install.

The repository also documents kwnt doctor for checking a command-line installation and kwnt setup for installing missing pieces. Do not assume the desktop package puts a separate kwnt command on your shell’s PATH. Use the app’s Setup screen unless you have explicitly installed or built the CLI.

Browser tasks and VM mode have more prerequisites than a first chat. Get one account and one text handoff working before adding those capabilities. See the install and setup reference when you are ready.

Spaces, local data and approvals

Before connecting both company and personal accounts, create separate spaces. Each has its own bots, teams, channels, routines, accounts and approval rules. A work space can use company accounts, while a home space uses personal keys or a local model endpoint.

By default, kwant’s data lives in:

~/.kwnt

The desktop app and the CLI use that same default directory. An explicit KWNT_DATA_DIR configuration changes it. Treat this folder as sensitive application data: it contains more than disposable cache files. Keep backups private, and stop kwant before making a simple file-copy backup of its database and associated files.

Self-hosting means you control the runtime and storage, not that a bot’s actions are harmless. Keep the default risky-action approvals while you learn what the team can do. Payments always ask in every approval mode. Add routines only after the same task works manually, and remember that a laptop cannot keep doing work while powered off.

If you want the implementation side rather than a packaged runtime, Calling Claude from Go and Tool Use in Go cover the building blocks.

Updates and uninstalling

Both Linux packages offer updates inside the app and check an update’s signature before installing it. The .deb update asks for your system password. This is a self-updating AI agent app, not a promise that it has added an apt repository to your machine.

Your data folder is separate from the application package. Updating the app keeps that data. Before a significant upgrade, a private backup is still sensible.

To remove the Debian package:

sudo apt remove kwant

That removes the application but leaves ~/.kwnt in place. Do not delete the data folder as a troubleshooting step unless you deliberately want to discard it. For an AppImage, quit the app before removing its executable file; that file is separate from your data too.

What about ARM64 or a headless Linux server?

There is no ARM Linux desktop app in the checked release. The .deb and AppImage above are x86_64 only.

There is now a separate server path: release 0.7.6 includes kwnt-linux-aarch64.tar.gz and kwnt-linux-x86_64.tar.gz, with an installer for Ubuntu 22.04+ or Debian 12+ and glibc 2.35 or newer. This is the headless runtime with a browser UI, not an ARM AppImage. Follow the server installation guide for the current commands and authentication details.

That distinction matters on a Raspberry Pi or ARM VPS: “ARM server binary exists” does not mean “the desktop package runs on ARM.” For an always-on team, use the server path instead of leaving a desktop window open and hoping it survives a reboot.

Linux install checklist

  • Confirm x86_64 for the desktop app.
  • Choose the .deb on supported Ubuntu/Debian, or the AppImage on a compatible GTK/FUSE desktop.
  • Open kwant and connect one account or local model endpoint.
  • Try one low-risk question and an @mention handoff.
  • Create separate spaces before mixing work and personal accounts.
  • Find Setup, approvals and the tray’s Quit action.
  • Keep ~/.kwnt private and back it up before important changes.

Next step: download the latest release, try a team on your Linux desktop, and star kwant on GitHub if this is the shape of self-hosted AI agents you were looking for. The one-binary overview goes deeper into handoffs, routines and approvals once the install is out of the way.