Skip to content

Install and run

Download a prebuilt bundle for macOS, Linux, or Windows, or build taskstream from source.

Pre-release
The bundles are development builds of the current version and are not signed or notarized. macOS needs a one-time confirmation on first launch — see macOS — and Linux and Windows run them as they are.

Download a bundle

Every release carries one bundle per platform, named after its version. The newest is the latest release: all downloads and versions.

The downloads page picks the right file for the machine you are on. From here, pick your platform below — each link points at the newest matching file.

macOS

  • .dmg — Disk image: open it and drag taskstream into Applications.
  • .zip — Archive: unzip it and move taskstream.app into Applications.
  1. Download the .dmg and open it, or download the .zip and unzip it.
  2. Drag taskstream.app into your /Applications folder.
  3. Open the app once. Gatekeeper stops an unsigned build the first time: go toSystem Settings → Privacy & Security, scroll to the security notice, and choose Open Anyway. Right-clicking the app in the Finder and choosingOpen does the same thing.

Linux

  • .AppImage — Portable: make it executable and run it. No install step.
  • .deb — Debian and Ubuntu: install it with your system installer.
  • .tar.gz — Tarball: unpack it and run usr/bin/taskstream.

The AppImage runs without installing anything. The other two fit the usual layouts: the .deb installs under /usr, and the tarball unpacks anywhere.

terminal
# Make it executable and run it; there is no install step.
chmod +x taskstream-<version>-linux-x86_64.AppImage
./taskstream-<version>-linux-x86_64.AppImage
terminal
# Installs into /usr; the package carries its own libraries.
sudo apt install ./taskstream-<version>-linux-x86_64.deb
taskstream
terminal
tar -xzf taskstream-<version>-linux-x86_64.tar.gz
./taskstream/usr/bin/taskstream

Windows

  • .zip — Archive: unzip it and run taskstream.exe.
  1. Download the .zip and extract it.
  2. Run taskstream.exe. SmartScreen may warn about an unsigned build the first time: choose More info, then Run anyway. The archive is self-contained — nothing to install and nothing to clean up.

First launch

The app starts with an empty database. Nothing leaves your machine: there is no account to create and no telemetry, and the network features stay off until you configure them.

  1. Tasks, tags, and projects — the four pages that follow cover the app itself, from the task list to the agent pane.
  2. Configuration — the in-app settings panes, plus model providers, Todoist, and GitHub credentials.

A task list works offline out of the box; sync and the agent are the parts that need credentials.

From source

Everything below builds taskstream from a checkout instead of downloading a bundle. Use it if you are working on the code, if your platform has no bundle, or if you would rather not run a prebuilt binary.

What you need

You needDetails
macOSmacOS 12 or newer. The bundle sets that as its minimum system version.
LinuxThe Rust crates build on Linux; GPUI needs the platform graphics and input libraries.
WindowsWindows 10 or newer. The GPUI backend compiles its shaders with the Windows SDK.
RustA toolchain new enough for edition 2024 (1.85+), plus the platform GUI dependencies.
Nix (optional)The dev shell provides the pinned toolchain, cargo-watch, Node, and pnpm — see Development setup.

The least fiddly path is the development shell, because it brings the toolchain and every helper command with it. Development setup walks through installing Nix and direnv; if you already have a workable Rust toolchain, you can skip it.

Run it from a checkout

terminal
git clone https://github.com/lofi-tools/todo-lofi.git
cd taskstream

# Run the desktop app
cargo run -p taskstream-desktop

Build a macOS app

On macOS, the dev shell's t2-bundle assembles a real taskstream.app for you — it builds the binary, copies the icon and Info.plist into the bundle, writes the Cargo.toml version into the bundle's Info.plist, signs it with thetaskstream-dev identity when that certificate exists, and clears the quarantine flag. It assembles the bundle without launching it.

That is also how release builds are produced, so it is the closest thing to a local install. For everyday development, run the raw binary instead (t2, or cargo run -p taskstream-desktop) — see the command reference.

taskstream-desktop --version prints the version the build was made from, and the same number is shown in the app's Settings → About pane.

Edit this page on GitHub