Skiff

A multi-agent coding terminal that runs Claude Code, Codex and friends in parallel, passing tasks and reporting back.

Stars
★ 19
Last updated
1d ago
License
MIT
Primary language
Rust

At a glance

How it runs
Desktop appCLI
Works with
Portable with changesCodex · Claude Code
Cost
Free software; you pay for model usage
Setup effort
Low · running in minutes
You'll need
Linux (x86_64) or macOS (Apple Silicon)Gitpnpm and Rust toolchain (only for building from source)Shell / CLILocal filesystem
Typical use
Developers juggling several repositories who want multiple worktree sessions side by side on Linux or macOS.
Not a fit if
  • Windows users: only Linux and macOS builds are published
  • People who don't already run coding agents like Claude Code or Codex
  • Light users who want one agent pane, not multi-session management

What does this agent do, and when should you use it?

Skiff is a terminal desktop app for coding agents on Linux and macOS, built with Tauri v2, Rust and xterm.js. Each agent session lives in its own pane, so you can run several Claude Code, Codex and other agents at once across projects and Git worktrees; a pane rings a bell when an agent asks for approval and flags a turn that finished out of sight. A daemon, skiffd, owns every PTY over a Unix socket, so sessions outlive the window. The built-in Skiff agent (Admiral) hands tasks to your sessions and project Skippers and collects results in a ledger, and any agent can do the same through the bundled skiff command. Skiff does not edit files and installs no hooks or plugins into your agents; it launches the tools you already use, and all settings live in a single projects.toml.

Each window connects to one Host — 'This Mac' by default, or an SSH Host added in Settings › Hosts — and pulls projects, Git, files, images, ledger, Skipper and agents through the Host API. You add a Git repository or plain folder as a project, create worktrees inside it, and start agent or shell sessions in each worktree; related sessions can be arranged in named groups. skiffd hosts each session's PTY, and Skiff derives session state from the screen and the program in front of the terminal rather than from hooks. Clicking the top Admiral row starts the Skiff agent, which dispatches tasks to sessions and Skippers and tracks them in the Ledger panel; Ctrl+Shift+A opens Mission control, a graph of the whole agent hierarchy. The skiff CLI drives sessions, groups, and the Skiff agent's ledger and watcher from a shell or from an agent. Opening a file hands it to the editor, diff tool or file manager configured under Settings › Open with.

  1. Developers juggling several repositories who want multiple worktree sessions side by side on Linux or macOS.
  2. Teams splitting one task between Claude Code and Codex under a lead agent that assigns work and gathers results.
  3. Heavy agent users who close the window and expect long-running sessions to keep going, then review approvals and completions later.
  4. Engineers who run agents over SSH on a server while driving them from a local interface.
  5. Automation work that scripts multi-agent flows by driving sessions and the ledger with the skiff command.

How do you install or deploy this agent?

Download the latest release from GitHub:

- Linux (x86_64): .deb, .rpm or AppImage
- macOS (Apple Silicon): .dmg, signed and notarized

To build and package for the current OS from source:

cd apps/desktop && pnpm install && pnpm tauri dev
cd apps/desktop && pnpm bundle   # packages for this OS, with skiffd inside

The skiff command ships with the app; nothing extra to install.

How do you use this agent?

  1. Add a project: a Git repository or a plain folder.
  2. Make worktrees in it, and start agent or shell sessions in each one.
  3. Put related sessions side by side in a named group.
  4. Click the top row, Admiral, to start the Skiff agent; it hands tasks to your sessions and tracks them in a ledger.
  5. Press F1 for every key; press Ctrl+Shift+A for Mission control.

Drive sessions from a shell or from an agent with the CLI:

skiff daemon reload

Run that after cargo build -p skiffd to replace a running daemon, and point at a separate test daemon with:

SKIFF_SOCKET=/tmp/skiff-test.sock skiff daemon reload

What are this agent's strengths and limitations?

Pros
  • skiffd owns every PTY, so agents keep running after you close the window and pick up where they left off.
  • Session state is read from the screen and the foreground program, so no hooks or plugins are installed into your agents.
  • Runs several coding agents (Claude Code, Codex and others) in parallel across projects and Git worktrees.
  • The Admiral/Skipper hierarchy plus a ledger turns multi-agent work into traceable tasks that any agent can join via the skiff CLI.
  • All settings live in one projects.toml file, which is easy to version and review.
  • Clearly documented install paths: signed/notarized macOS .dmg and three Linux package formats.
Limitations
  • Linux (x86_64) and macOS (Apple Silicon) only; no Windows build is published.
  • It ships no model of its own — you still need Claude Code, Codex or similar agents with their own accounts and billing.
  • Building from source needs pnpm, Tauri and the Rust toolchain, heavier than downloading a package.
  • Daemon updates are manual: run skiff daemon reload after rebuilding, and bump the skiffd version and HANDOVER metadata when interfaces change.
  • Much of the detail lives in the GitHub wiki; the README covers only the main path.

How does this agent compare with similar options?

Key facts side by side with the most closely related agents.

Agent Source review Form / cost Stars Updated Language Full support on
Skiff This agent 40 · Major gaps Desktop appFree + model costs ★ 19 1d ago Rust Codex · Claude Code
OpenTeams 56 · Major gaps Desktop appFree + model costs ★ 581 23d ago TypeScript Codex · Claude Code
Parallel Code 53 · Major gaps Desktop appFree + model costs ★ 1.1k 1d ago TypeScript Codex · Claude Code
Alethe — Multi-Agent Coding Workspace 65 · Some gaps Desktop appFree + model costs ★ 1.1k 3d ago TypeScript Codex · Claude Code

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Major gaps
40/ 100 5-point scale 2.0 / 5
Trust 8/29
Reliability 5/14
Adaptability 10/18
Convention 10/18
Effectiveness 4/13
Verifiability 3/8
Why each dimension lost points
Trust8 / 29 · 1.4/5

Evidence shows Skiff explicitly states it installs no hooks/plugins, does not edit files, keeps settings in projects.toml, and the release pipeline signs/notarizes macOS builds and minisign-signs server bundles — a positive least-privilege and supply-chain posture. However, the repository is a terminal that runs arbitrary coding agents which can dispatch tasks to each other and execute commands; the README does not define permission boundaries, approval policy, or how sensitive data (terminal contents, credentials) is handled. Tests even reference --dangerously-skip-permissions and --yolo approval-skipping flags without risk documentation. Rollback is limited to daemon reload and version bumps, with no mechanism to undo agent side effects. Each scores 1; sensitive data handling scores 0 for lack of any evidence.

Reliability5 / 14 · 1.8/5

README and Cargo.toml are structurally consistent, and CI workflows cover host boundary checks, TS type checking, and multiple cargo test groups, indicating some self-consistency; dependency availability relies only on Cargo version constraints and vendored patches with no lockfile or audit evidence, and failure messages are not visible in source. All score 1.

Adaptability10 / 18 · 2.8/5

README clearly describes target users (developers running Claude Code/Codex in parallel), scenarios (multi-project, worktrees, groups, Admiral dispatch), and capability boundaries (manages sessions only, does not edit files, installs no hooks), scoring 2. Trigger precision (when to dispatch, when approval is needed, how inter-agent tasks are bounded) lacks detail, scoring 1; environment fit explicitly covers Linux/macOS and SSH Hosts, scoring 2.

Convention10 / 18 · 2.8/5

README has clear directory structure, install steps, dev commands, and wiki links, scoring 2 for information architecture and install notes; the license is a full MIT text scoring 3; versioning appears in Cargo.toml and the release flow, scoring 2. Naming stability, examples/FAQ, and known limitations are only scattered, each scoring 1; maintenance responsibility scores 1 because the publisher is unverified and there is no CONTRIBUTING/SECURITY file.

Effectiveness4 / 13 · 1.5/5

The product positioning is clear, but output usability (sessions, ledger, Mission control) is described without concrete artifacts; marginal value and cost-benefit depend on the user's existing agent toolchain, and the README does not quantify benefits or resource overhead. All score 1.

Verifiability3 / 8 · 1.9/5

README claims (no hooks, signed releases, CI tests) are partially corroborated by workflows and Cargo config, but most functional claims come only from the README itself with no independent sources; separation of fact and inference is not evident in the docs. All score 1.

Risks and how to mitigate them
  • Not found in source: sensitive-data handlingUse dedicated, low-privilege, revocable API keys — never production credentials — and keep secrets out of logs.
  • The terminal runs arbitrary coding agents and lets them dispatch tasks to each other; the README does not define permission boundaries or approval policy, and tests reference approval-skipping flags like --dangerously-skip-permissions and --yolo that warrant careful evaluation.
  • Publisher identity is unverified, and maintenance responsibility and update path are unclear; verify provenance before adoption.
  • Dependencies are replaced via vendored patches of upstream crates without lockfile or audit evidence; supply-chain risk must be assessed independently.
  • There is no documentation of sensitive data handling (terminal contents, credentials) and no rollback mechanism for agent side effects.
Evidence confidence: Low Reviewed Nov 04, 2026 Reviewed revision 93cdf247f275
See the full review method →

FAQ

Does Skiff call an LLM itself?
No. Skiff manages terminal sessions; the actual coding is done by the Claude Code, Codex or other agents you run in the panes, and their accounts and usage apply.
Do running agents stop when I close the window?
No. The skiffd daemon owns every PTY, so sessions continue and you can reconnect by reopening the window.
Does Skiff modify my agents' configuration?
No. It installs no hooks or plugins and derives state from the screen and the foreground program; settings live in projects.toml.
Can agents run on a remote server?
Yes. Add an SSH Host in Settings › Hosts; sessions, projects, Git, files, images, ledger, Skipper and agents are reached through the same Host API.
Is Windows supported?
The published releases cover Linux (x86_64, .deb/.rpm/AppImage) and macOS (Apple Silicon, .dmg); no Windows build is listed.
View on GitHub ↗ Install ↓

Compare agents like this one

The same FARS review applied across the shortlist this agent qualifies for.

Related agents