Desktop · Tauri 2 · bring your own CLI

An agentic Kanban board for your desktop

Write a task, pick an AI agent, drop the card into Todo — a local coding CLI runs it in the background, streams its log live, and moves the card to Need Review when it's done. You review the diff and mark it Done.

Latest release License: MIT Built with Tauri 2 Platforms

What it does

Taskwright AI turns a Kanban board into an autonomous work queue. It is built with Tauri 2 and a dependency-free vanilla HTML/CSS/JS frontend — no framework, no bundler, no Node toolchain.

Agentic board

Five columns — Not Started → Todo → AI Running → Need Review → Done. Drop a card into Todo and the agent runs automatically.

Five agent providers

Claude Code, Codex, Gemini, opencode, and Cursor — selectable per card, each with model selection.

Live streaming logs

Agent output is parsed and streamed into the card's detail drawer in real time.

Built-in diff review

Inspect the agent's git diff before you accept it and mark the card Done.

Concurrency queue

Cap how many agents run at once; extra cards wait their turn.

In-app auto-update

New versions install themselves from GitHub Releases, signed and verified.

Desktop notifications

Get pinged the moment a run finishes — no need to babysit the board.

Local & private

State lives on your machine. Nothing leaves it except the prompts you hand to the CLIs you already use.

Download

Grab the latest installer from the Releases page. After installing, the app updates itself.

⚠️ Builds are not OS-code-signed yet, so the first run may warn (Windows SmartScreen → “Run anyway”; macOS Gatekeeper → right-click → Open).

Getting started

Requirements

At least one agent CLI installed and authenticated locally — claude, codex, gemini, opencode, or cursor-agent — plus git on your PATH (used for diff review). Taskwright AI does not manage authentication; it uses whatever credentials those CLIs are already logged in with.

The flow

  1. Add a workspace — the project folder agents will work in.
  2. Create a task: a title and a prompt; pick the provider, model, and autonomy level.
  3. Drag the card into Todo → the agent runs and the card moves to AI Running.
  4. On completion it lands in Need Review. Open the diff, then mark it Done.

Providers & autonomy

Each card runs at one of two autonomy levels, mapped to each provider's native flags.

ProviderCLIFull bypass (default)Sandboxed
Claudeclaude--dangerously-skip-permissions--permission-mode acceptEdits
Codexcodex--dangerously-bypass-approvals-and-sandbox-s workspace-write
Geminigemini--yolo--approval-mode (auto-edit)
opencodeopencodeskips permission promptssame (no sandbox mode)
Cursorcursor-agent--force (applies changes)proposes changes only

⚠️ Security: “Full bypass” lets the agent modify files and run commands in the chosen workspace without confirmation. Only point Taskwright AI at folders you trust, and prefer Sandboxed when in doubt.

Auto-update

The app checks GitHub Releases on launch (silently) and via the Updates button in the topbar. When a newer version exists, a banner offers Download & install with a progress bar, then Restart now. Updates are cryptographically signed (minisign) and verified before install.

The first updater-enabled build is a one-time manual download; from then on, updates land in-app. Updatable installers are NSIS (Windows), .app (macOS), and AppImage (Linux).

Under the hood

How it works

The frontend is served as static files and talks to the Rust backend over Tauri's IPC bridge. When a card runs, the backend resolves the chosen CLI, spawns it with the workspace as its working directory, and feeds the prompt over stdin (or as an argument, per provider). Output is read as JSONL, condensed into readable log lines, and streamed to the UI via Tauri events. Stopping a run kills the whole process tree.

Build from source

# Run in development (hot-reloads src/)
cargo tauri dev

# Produce installers (src-tauri/target/release/bundle/)
cargo tauri build

Full details live in the repo: Development, Architecture, and Build & release.