A local-first desktop workspace for the real Pi coding agent.
Keep conversations, agents, browser context, files, Git, and terminals in one place.
Download · Get started · Skins · Documentation · Contribute
Actual Electron interface. Screenshots use a local demonstration project and illustrative agent messages.
An agent should not turn your workspace into a black box. Fate UI brings the conversation and the evidence together: see the tools running, inspect the changes, follow delegated work, and decide what happens next.
|
Run individual agents or dependency-based workflows through one execution engine. Choose each agent’s model, reasoning effort, tools, and skills. Use shared checkouts or isolated Git worktrees, with explicit review before integration. |
Browse inside the workspace, select page elements, and attach browser annotations to the conversation. Add files, images, and saved-session references without losing your place. |
|
Inspect file changes with Monaco diffs, browse Git history, and use the activity timeline to investigate tool actions. A separate manual terminal stays available for your own commands. |
GoalMax pairs an objective with completion criteria, progress evidence, and verification. Durable tasks and editable queues make the next steps visible; recovered drafts are not silently resent. |
|
Default, Angelcore, or M3 Expressive. Independent palettes and fonts. Import a skin pack, or drop in an image that Fate dithers locally behind the conversation. |
Optional local voice transcription, image generation, and ambient audio. Reviewed Memory Learning stores global preferences and project notes you actually accept. |
Angelcore, Monochrome, and a personal dithered background. Same conversation and Git diff, different chrome.
You can change how Fate UI looks without changing how it works. Skins restyle the chrome. Colors, fonts, and a background stay independent, so Angelcore can sit on Monochrome, Default can keep a Pi theme, and an imported pack does not rewrite models, permissions, or the session.
|
Default is the established workbench. Angelcore is the compact terminal-style surface: text actions, a command composer, labeled transcript entries, and a numeric context gauge. M3 Expressive uses a continuous tonal shell, shaped navigation, and a floating composer; its matching dark palette is selected independently. All three remain the same GUI underneath — browser, Monaco, trust prompts, and the manual terminal. See M3 Expressive design and screenshots. Import a pack from Settings → Skins. Packs can restyle owned surfaces, bundle fonts, and ship a still background. They cannot add scripts, remote assets, or new privileges. |
Pick a built-in palette, a custom Drop in a PNG, JPEG, or WebP. Fate converts it on this machine to a still, palette-tinted dither behind the conversation. The original image is not uploaded or kept. |
Get installers and SHA256SUMS from GitHub Releases.
| Platform | Architecture | Installer |
|---|---|---|
| Windows | x64 | .exe |
| macOS | Apple Silicon · Intel | .dmg or .pkg |
| Linux | x64 | .AppImage or .deb |
Important
Installers are currently unsigned; macOS builds are not notarized. Windows SmartScreen and macOS Gatekeeper may warn or block launch. Download from this repository’s Releases page and verify the artifact against its SHA256SUMS. Checksums detect mismatched downloads; they do not replace publisher code signing.
- Windows: run the installer. Keep Add Fate UI to PATH selected for the
fatecommand, then open a new terminal. - macOS: choose your architecture. The
.pkginstalls the app and thefatelauncher; the.dmglets you copy the app to Applications. - Linux: install the
.deb, or make the AppImage executable and launch it. Use the actual published filename from Releases; a source-tree version does not mean its installer exists.
# Debian / Ubuntu (replace VERSION with the downloaded release number)
sudo apt install ./Fate-UI-VERSION-Linux-x64.deb
# Portable AppImage (same downloaded version)
chmod +x Fate-UI-VERSION-Linux-x64.AppImage
./Fate-UI-VERSION-Linux-x64.AppImageChoose Connect your AI, or use /login in an open project. Sign in using a supported provider’s OAuth flow or API key, then select a model.
You can also add providers from the live models.dev catalog. Fate UI keeps provider credentials in the main process; raw keys are not exposed to renderer state.
No separate Pi terminal installation is required. Fate UI embeds the Pi SDK directly. Switching from Pi Terminal? Fate shares your Pi sessions, user settings, skills, prompts, and global extensions. It copies provider files on first use; if you already used Fate, open Settings → MCP → Switch from Pi Terminal to import missing provider entries and compatible global MCP servers. Keep ~/.pi/agent and any third-party server runtimes when you uninstall the Pi command. Migration checks and limits →
Use Open project, or launch from your terminal:
cd /path/to/project
fate
# Or: fate /path/to/projectReview the project trust decision, choose the agent’s permission level, and send a prompt. Inspect tool activity and Git changes as the work progresses.
Inspect this repository and propose a focused plan.
Implement the change, run the relevant checks, and show me what changed.
Preserve existing behavior outside the requested scope.
Later fate launches reuse the running workspace. File → New Window opens another synced view. In the current V2 candidate, --new-instance selects a separate Chromium profile slot, but startup is refused while another core owns the same canonical Fate data root. Independent shared-data runtimes remain an unresolved ownership requirement. Sessions and processes → · V2 candidate status →
Projects, session history, settings, and credentials are stored locally. Prompts and selected context are sent to the AI provider you configure. Browser pages, provider discovery, optional downloads, and other network-enabled features also use the network; local-first does not mean offline-only.
| Boundary | What it means |
|---|---|
| Project trust | Choose Trust, Open without Pi, or Cancel when opening a project. |
| Read only | Fate's governed project-write and shell tools are unavailable. |
| Edit files | Default for new trusted sessions. Agent file operations remain project-confined. |
| Full access | Explicitly unsandboxed access with your account’s permissions. Use deliberately. |
| Agent worktrees | Isolated Git checkouts, not security sandboxes. Integration is a separate action. |
| Local credentials | Fate’s provider store is separate from Pi Terminal’s; existing credentials copy on first run, and missing entries can be imported later without replacing Fate values. |
Saved per-session permissions restore only within the host's current limit. Missing records use Edit files; unreadable or corrupt permission storage blocks agent execution until repaired. Permission changes must be saved before increased authority takes effect. An incomplete write leaves a blocking intent record; do not delete it without repairing or reviewing the grant file. The manual terminal and trusted user extensions are separate host capabilities, not a general sandbox.
Keep important work backed up and review changes before merging or deploying. Activity links and local hash records aid investigation; they are not tamper-proof proof of authorship. Architecture and security →
Fate UI is an independent community project, not an official Pi distribution.
| You want to… | Start here |
|---|---|
| Understand the workspace | Features |
| Talk to an Agent that runs work in your projects | Agents |
| Delegate and review agent work | Agent orchestration |
| Run goals and manage queued work | GoalMax · Sessions |
| Customize the interface | Skins · Themes |
| Review and save useful project knowledge | Memory Learning |
| Build or stage a release | Development and release |
| Evaluate the V2 desktop/web/remote candidate | Status and support matrix · Setup · Limits |
| Report a security issue | Security policy |
Found a bug or have a focused feature idea? Open an issue. For code contributions, start with CONTRIBUTING.md. Report vulnerabilities privately through GitHub Security Advisories.
Fate UI is licensed under Apache-2.0. Distribution requirements and third-party attribution are documented in NOTICE, THIRD_PARTY_NOTICES.md, and FONT_LICENSES.md. The license does not grant trademark rights; see TRADEMARKS.md.
