Alethe 1.7.0 — the platform release
Alethe stops being one fixed app. Features now load as plugins, and a plugin catalogue
inside the app installs and updates them in one click. Around it: orchestration grew a real board,
remote control grew into a real mobile client, and three new agents joined the roster.
Upgrading is safe. Everything you had keeps working: your projects, layouts, sessions, todos and
themes are carried over, and every new module is either off by default or exactly where it was.
🧩 Plugin marketplace
- Install from the catalogue, in one click. Preferences → Plugins lists plugins published by
other people, with what each one is allowed to do spelled out before you decide. A listing that
ships a package installs from inside Alethe instead of being downloaded and imported by hand. - Pinned to a checksum. The index pins every package to a SHA-256 hash, so the bytes that run
are the bytes the listing was reviewed against — a guarantee the manual route never had. Downloads
are size-capped and unpacked with traversal and symlink escapes refused. - Updates in place. A listing whose version differs from what you have installed is flagged, and
the same button updates it. - Still your decision. An installed plugin arrives switched off and goes through the trust
dialog — naming its permissions and saying outright that nobody reviewed it — before it can run. - The list is cached for six hours and shown from your last copy when you are offline, marked as such.
🔌 Alethe as a platform
- Features load as plugins. Official plugins ship inside the installer, are on by default, and
can be switched off in Preferences → Plugins — their surfaces disappear immediately, no restart.
Each plugin declares what it needs in its manifest, and the app refuses anything it did not ask for. - Todo List, Git Control and the Theme Pack are now plugins. They work exactly as before — same
panels, same placement settings, same themes — but they can be removed. Your existing choices
(including a feature you had turned off) carry over, and your todos and Todo folder are preserved. - Panes, sidebar tabs, commands, themes and agent providers are contribution points. A plugin can
add a whole workspace pane, its own sidebar tab, a command palette entry, a full theme (application
palette, picker swatch, terminal colours), or a new agent provider. - Lazy by design. A plugin announces its tabs and commands in its manifest, so Alethe can draw
them without running any of its code, and loads it the first time you open one. An installed plugin
you never touch costs one small file read at startup. - Plugins have their own storage, kept apart from their files — updating a plugin no longer risks
taking its data with it, one plugin cannot read another's, and removing one removes what it stored. - Ctrl+P finds commands, not just terminals. Plugin commands are listed above terminal results and
match on their own keywords.
🧠 Orchestration v2
- A board instead of a log. The planner sits at the top of the canvas, connectors drop to every
run it started, and each run stands above a row of its workers — one tree per run, read top to
bottom, with a summary rail you can fold open per run. - Delegate to Claude or Codex.
alethe_delegatetakes anagent, and a Codex terminal can be a
planner too. A worker reports its own result, tokens, cost and unified diff, and resumes after a restart. - Quota-aware delegation. Every orchestrator tool answers with the current headroom for Claude and
Codex — which window is closest to full, when it resets, the detected plan — so the lead agent decides
with the same numbers the usage widget shows you. Alethe reports; it never silently moves work.
The board labels why a worker ran where it ran. - Workers can ask before leaving the sandbox. A worker that needs the network, another folder, or
anything its sandbox would refuse stops and asks on its card — with the command, the reason, and
four answers: approve once, approve for the session, decline, or abort. - "Waiting on you" is a state of its own and outranks everything else, across every planner —
a failure is already over; a blocked worker is still costing you a slot. - Native subagents on the same board. Claude's own subagents and teammates, and Codex's native
subagents (through a generated hook forwarder), appear next to delegated workers under a shared branch. - Land the work from the card. A worker that ran in its own worktree commits, merges and cleans up
in one click. Reports render as markdown, with images and links inline. - Correcting a Claude worker now actually stops it — the correction interrupts the turn in flight
instead of waiting it out.
📱 Remote control
- A real terminal on the phone. Output is fed through a terminal emulator instead of being stripped
of escape codes — colours, box drawing and in-place redraws behave like the desktop. Pinch and buttons
resize; the pane's column count is preserved so nothing wraps mid-box. - Chat instead of terminal. A Terminal/Chat switch swaps the live output for the agent conversation —
your prompts, the replies with code blocks, each tool call collapsed into an expandable line. - Interactive questions. Structured questions from Codex and Claude Code arrive as touch-friendly
cards — descriptions, multiple questions, multi-select and free-form — and the answers drive the live
prompt. Running turns can be stopped from the phone, drafts survive reloads, and each prompt carries
its exact agent call identity so a late answer can never land on a newer question. - Mobile-first layout, localized strings, and no auto-reopen: remote control now requires an explicit
enable in each app session.
🗂️ Workspace
- Optional named grids per project. Split a project into named grids, each with its own terminals
and layout. Opt-in: a project starts with none and its terminals stay ungrouped until you create the
first grid. Move a terminal between grids — and back to ungrouped — without ending its session, and
choose whether deleting a grid keeps or closes what is in it. - A redesigned New session modal: one stack of rows (Open as → agent → folder), an optional Goal
sent to the planner, Advanced for permissions/routing/profile, a Create more switch, and a primary
button that states what it will do. - Empty project and group workspaces now use a quiet launcher-style state instead of boxed cards.
- Sidebar chat rows stay lit while an agent is thinking, and show a
✓when an answer is ready to read.
🤖 Agents and integrations
- Cursor CLI (
cursor-agent) as a first-class agent — its panes keep their conversation through
--resume, its models come from the signed-in account, and itsmcp.jsonjoins the MCP tab. - Kiro CLI as a selectable agent, with its own icon, accent, install flow and unrestricted-mode flag.
- WSL terminals alongside Shell in the new-terminal and new-tab pickers.
- 9router integration. Install, run and route agents through 9router,
a local proxy that spreads traffic across providers with automatic fallback. Off by default; Alethe can
install a private, version-pinned copy without touching your global npm packages. - Local voice dictation with on-device Parakeet TDT v3 — Ctrl+E (⌘E) to dictate into the active
terminal, toggle or hold, native audio capture so AppImages still see microphones. - Cloud sync (free tier). Sign in with GitHub (device flow, no token to paste) and sync your
preferences — name, theme, UI settings, enabled plugins — across devices. Optional; skipping keeps
the app fully local.
🔀 Git and PRs
- Pull Request review and squash merge from the merge panel, through the local
ghCLI. The AI
review runs inside the isolated worktree, read-only — no commits, pushes, merges or GitHub comments.
Merging stays an explicit human action, blocked when the head SHA moved, the PR is a draft, or GitHub
reports conflicts. No GitHub token is stored. - An Open PRs tab listing every PR you are involved in as author or reviewer, across every repo,
each sendable to your TODO list as a linked task. - A Pomodoro timer in the TODO panel — configurable focus/break durations, optional focus task,
end-of-phase notification, and a countdown pill in the title bar. A session survives a restart. - Git status decorations and file type icons in the File Explorer, with parent folders propagating
the status of their dirty contents.
🎨 Appearance
- Two new themes: Catppuccin Frappé and Gruvbox Material, both covering the full UI palette
and a matching 16-colour terminal palette. - Ember, Golden Premium, Dark Lemon and Orca moved into the official Theme Pack plugin — same look,
now removable.
🛠️ Notable fixes
- File references printed by Claude and Codex — including root-level relative paths — are clickable,
open relative to that terminal's folder, and copy their resolved path. - Claude conversations stay with their pane:
/new,/clearand/resumeupdate the saved
conversation even in inactive tabs and after a reconnect. - Killing a terminal on Linux no longer leaves grandchild processes (node, claude, codex, MCP servers)
running, and orphaned processes no longer outlive the app. - AppImage no longer crashes on Arch and other non-Ubuntu distributions with AMD/NVIDIA GPUs.
- Installing a CLI from inside Alethe no longer ends in a dialog that spins forever.
- Codex handoffs on Windows no longer break
config.tomlwith\Uescape errors. - Repeatedly opening the MCP panel no longer starts duplicate concurrent scans.
📜 Licensing and brand
Alethe stays licensed under AGPL-3.0-or-later: covered derivatives that are distributed, or made
available to users over a network, must provide their corresponding source under the same license.
The Alethe name, logo, application icon and official branding are reserved — modified builds must
be independently branded, and commercial use of the brand requires prior written permission.
See LICENSE, NOTICE and TRADEMARK.md.
The local app is free. Cloud and sync services may be offered separately.
The full, entry-by-entry list is in docs/CHANGELOG.md.