feat(desktop): first-class desktop app for project and agent workflows
- Dominant language
- Rust
- Stars
- 41k
- Forks
- 3.6k
- Avg merge
- 13h 59m
- Merged PRs (30d)
- 299
Description
## Problem
Codewhale now has a capable TUI and a local browser client, but neither provides a complete desktop-product experience for users who do not want to manage terminals, working directories, background processes, and per-project shortcuts.
The desired experience is closer to Codex Desktop: one application that can open and manage many projects, conversations, tasks, approvals, and code changes. The user should not need to know how to install a CLI, navigate to a workspace in a shell, run `codewhale web`, or keep a terminal window alive.
This matters especially for creators, designers, product people, and other technical-but-not-operations-focused users who can benefit from an agent but are blocked by command-line setup and process management.
## Proposed product
Provide a first-class Codewhale desktop application for Windows and macOS, built on the existing Runtime API and web client where practical.
### Core workflow
1. Install and open Codewhale as a normal desktop application.
2. Choose a project folder, clone a repository, or reopen a recent project.
3. Start and manage conversations/tasks inside the app.
4. Review plans, file changes, diffs, command output, and approval requests visually.
5. Switch between projects without creating shortcuts or opening terminals.
6. Close and reopen the app while retaining project and conversation history.
### Expected capabilities
- Project/workspace sidebar with recent and pinned projects
- Multiple conversations and background tasks per project
- Visual diff and changed-files view
- Clear approval UI for commands and file operations
- Model/provider selection and settings
- Runtime lifecycle management: start, stop, recovery, and useful error states
- Built-in installation/update path for the Codewhale runtime
- Native notifications when a task completes or needs input
- Windows and macOS installers, application icons, and normal OS launch behavior
## Product value
A desktop app would turn Codewhale from a terminal tool with a visual surface into an approachable product. It would reduce onboarding friction, make multi-project use coherent, and expand adoption beyond users already comfortable with shells and process management.
## Implementation direction
This does not require rebuilding the agent runtime. A Tauri or similar thin desktop shell could reuse:
- The canonical Runtime API
- Existing thread/event/approval contracts
- The embedded web client and its components
- Existing local authentication and sandbox policies
The desktop application should own workspace selection, process lifecycle, app navigation, updates, and OS integration. The Runtime and web UI can remain the underlying single sources of truth.
## Non-goals
- Replacing or weakening the TUI
- Creating a hosted multi-tenant service
- Requiring one shortcut per project
- Merely opening `codewhale web` in the default browser
## Related work
- #1343 requested a desktop GUI before the current Runtime and web-client foundation existed, and was closed as not planned.
- #4423 delivered the first-class local web client.
The technical situation has changed since #1343: Codewhale now has reusable Runtime and web foundations that could make a maintained desktop product substantially smaller and less risky.
Contributor guide
Research direction
Start by reviewing the canonical Runtime API, existing thread/event/approval contracts, and the embedded web client delivered in #4423. Determine the desktop shell, workspace and runtime-lifecycle boundaries before implementation; done would require an agreed design covering the listed Windows and macOS workflows, OS integration, updates, and recovery states.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust, tauri
- Domain
- desktop
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100